C++: From Scratch to High-Performance Applications

Take your skills up a notch & code for enterprise software and applications build robust and fast applications with C++

4.00 (6 reviews)
Udemy
platform
English
language
Programming Languages
category
86
students
7.5 hours
content
Dec 2018
last update
$44.99
regular price

What you will learn

Create objects, classes, and member functions in C++

Manipulate variables and conduct arithmetic operations on them

Master debugging techniques to ensure that your application is always running smoothly

Familiarize yourself with console mode and GUI mode for application development

Use various toolkits/libraries for large-scale application development

Get acquainted with the new C++17 features

Identify code-smells, clean up, and refactor legacy C++ applications

Build portable cross-platform applications using standard C++ features

Description

Being a general-purpose programming language, C++ has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation. Learning the skills to be biased toward system programming and embedded programming, resource-constrained, and large systems, with performance, efficiency, and flexibility of use are essential building blocks of application development. 

This course takes a practical and incremental approach. It helps you gain deep knowledge on how to design and build an amazing application using C++. It will first teach you how to set up the environment, where you’ll write your very first program. Then you’ll gently move onto some advanced and interesting topics such as Object-Oriented Programming, Inheritance, and Memory Allocation. Moving further, you will gain an in-depth analysis of classes and the associated OOP concepts, which will empower you to implement the concepts of object-oriented programming (OOP) in real life scenarios. Finally, you will learn to build portable cross-platform applications using the latest C++ features. 

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Getting Started with C++ Programming begins by introducing you to the essentials of C++. You will learn how to set up the environment, where you’ll write your very first program. You’ll then work with the basic components and standard library functions that make up the language, and from there, you’ll gently move onto some advanced and interesting topics such as Object-Oriented Programming, Inheritance, and Memory Allocation (all of which will help with better performance and testing). This course is designed and developed so you seamlessly get acquainted with C++ and begin developing applications in no time.

The second course, Building Blocks of Application Development with C++ will introduce you to object-oriented programming (OOP). It includes an in-depth analysis of classes and the associated OOP concepts, which will empower you to implement the concepts of object-oriented programming (OOP) in real life scenarios. It also provides you with the essential know-how to tackle challenges while writing your code. Toward the end of each section, you’ll be introduced to the practical implementation of the concepts. 

The third course, High-Performance Applications with C++ will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the course will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general and demonstrates the GUI app-development options in C++. By the end of the course, you’ll have an in-depth understanding of the language and its various facets. 

About the Authors:

  • Richard Snyder is currently working as a Senior Software Engineer and writes a diverse amount of computer software applications. Working as an engineer requires the ability to be adaptable to the customer needs to be based on the requirements they give for the computer application to be built. This enables a wide range of technical knowledge to be used from front-end design, middle tier, or back-end development. As a software engineer, Richard uses his years of experience working in technologies such as C/C++/C#, Java, Perl, Python, Groovy on Grails, Ruby on Rails, PHP, HTML, JavaScript, CSS, MongoDB, SQL Server, Oracle, and MySQL to design the best fitting application for the customer’s needs.


  • Biplab Kumar Modak is an open source software developer. He has 20 years of software development experience in various languages. He is one of the core developers of Code::Blocks—an open source, cross-platform IDE that supports various compilers. He has over 10 years’ experience in open source development with C++. He is also familiar with various popular languages such as C, C#, Visual Basic, VBA, Pascal, Python, and R. He has over 15 years of experience with C++. His grasp and capability in C++ is highly credited.


    He is also interested in database-related development, OpenGL, Multi-threaded programming, and web development. His open source development stints have taught him how to deal with multiple compilers on various operating systems. They also helped him develop a better understanding on the subject. When it comes to delivering theory along with practical usage of C++ on various platforms, he considers himself one of the most suitable one to show you the practical side of application development with C++.

Content

Getting Started with C++ Programming

The Course Overview
How to Start a Project in Microsoft Visual Studio .NET
Basic Usage and Outline of the IDE
Structure of a C++ Program
What is a Variable and What Are the Different Types?
How to Initialize and Use a Variable in a Program
Using Variable to Create a Calculator Program
What is a Conditional Statement ?
If Else Statement
Nested If and Composite Conditions
Switch Statements
Ternary Operators
What is a Loop?
while Loop
do while Loop
for Loop
Nested Loop
Input and Output (I/O)
User Input
Input Stream from File
Output Stream to File
Defining Function
Function Examples
Pass-By-Reference or Value
Defining Data Structures and Classes
Arrays
Vectors
Maps
Custom Class

Building Blocks of Application Development with C++

The Course Overview
Class
Inheritance, Overloading, and Polymorphism
Exercise
Abstraction and Encapsulation
Interfaces
Exercise
Templates
Namespaces
Exception Handling
C++ Preprocessor
Function Pointer
Exercise
Text File - The Human Readable Format
Binary File - The Machine Readable Format
Exercise
Standard Containers
Strings
Streams Objects
Mathematical Functions
Exercise

High Performance Applications with C++

The Course Overview
Creating Threads with the Pthreads Library
Writing a Multithreaded Application
Using std::thread in an Object-Oriented Fashion
Synchronizing Threads
Mutex
Deadlock
Conditional Variable
Writing a Simple Hello World Program
Concurrency Tasks
Google Test Framework
Writing First Test Case Using Google Test Framework
Developing an RPN Calculator Application
Testing a Piece of Legacy Code
Installing cucumber-cpp in Ubuntu
Building and Executing the Test Cases
Writing First Cucumber Test Case
Debugging Our Application Using GDB
Debugging Memory Leaks with Valgrind
Detecting Memory Leaks

Screenshots

C++: From Scratch to High-Performance Applications - Screenshot_01C++: From Scratch to High-Performance Applications - Screenshot_02C++: From Scratch to High-Performance Applications - Screenshot_03C++: From Scratch to High-Performance Applications - Screenshot_04

Charts

Price

C++: From Scratch to High-Performance Applications - Price chart

Rating

C++: From Scratch to High-Performance Applications - Ratings chart

Enrollment distribution

C++: From Scratch to High-Performance Applications - Distribution chart

Related Topics

2080172
udemy ID
12/11/2018
course created date
6/6/2020
course indexed date
Bot
course submited by