Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
C++: From Scratch to High-Performance Applications
Rating: 4.0 out of 5(8 ratings)
119 students

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++
Last updated 12/2018
English

What you'll 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

Course content

3 sections70 lectures7h 37m total length
  • The Course Overview2:23

    This video will give you an overview about the course. 

  • How to Start a Project in Microsoft Visual Studio .NET7:06

    Introduce the Integrated Development Environment (IDE) which is what will be used when developing C++ Code.

    • Download the IDE from Microsoft

    • Install the IDE

    • Create a new Empty Project named Hello World

  • Basic Usage and Outline of the IDE3:52

    Demonstrate the basic usage of the IDE. Once open show how to create a new program and what the different sections of the IDE are presented for MS VS 2017.

    • Open Microsoft Visual Studio 2017

    • Open previous project of Hello World

    • View the different aspects and configurations of the IDE

  • Structure of a C++ Program2:58

    What is a C++ program comprised of? View the different components such as file structure and a sample program structure.

    • Add a new source.cpp file to the source folder

    • Create a sample Hello World Program

    • Receive an explanation of the structure of the .cpp or .h file

  • What is a Variable and What Are the Different Types?11:16

    What are Variables? Explain what a Variable is while going through the different types of Variables. Variables can be utilized in different ways which is why their types are important to discern.

    • Define a variable

    • Define the different variable types

  • How to Initialize and Use a Variable in a Program8:06

    How to use Variables in a program to output data. Demonstrating how to create a Variable of different types, initializing it and outputting that Variable to screen.

    • Create a char variable and display its contents to screen

    • Create a string variable and display its contents to screen

  • Using Variable to Create a Calculator Program9:28

    How to use Variables in practical applications. Use multiple different Variable types to create a calculator program that can output calculations to screen. Also demonstrate the difference between Integer and Float arithmetic.

    • Create two integer variables and output the math results to screen

    • Create two float variables and output the math results to screen

    • Mix integer and float variables together and view the math results to screen

  • What is a Conditional Statement ?9:34

    A program can make decisions based on conditions presented to them. Show what a basic conditional statement is and how a program will make a decision based off that specific condition.

    • Define a conditional statement and demonstrate with a visual

    • Show all comparison operators

    • Demonstrate with a code example

  • If Else Statement7:27

    What if we have more than one condition to check? With understanding the basics of a conditional statement we will grow our understanding to include multiple conditions with if else statements. Build if else, or if else if statement block to deal with multiple conditional checks.

    • Show If Else and If Else If blocks

    • Demonstrate in code an if else if block

    • Describe the importance of the else usage

  • Nested If and Composite Conditions9:26

    What if one conditional statement leads to another? Nested if statements will resolve this issue. We will demonstrate how nested if’s work. We will also go over composite statements that utilize ands (&&) as well as or (||) in a conditional statement. This will increase a developers capabilities.

    • Demonstrate a nested if statement

    • Demonstrate composite statements with and’s

    • Demonstrate composite statements with or’s. Show effacement usages

  • Switch Statements4:29

    Is there another way to perform a conditional statement check? Yes, utilizing a switch statement we can perform a conditional check. We will review and demonstrate switch statements.

    • Change the grade if statement to a switch statement to show similarities

    • Demonstrate the switch statement execution

    • Discuss the difference between switch and if conditional statements

  • Ternary Operators3:07

    Is there a way to perform quick conditional checks rather than long written out ifs? Yes, using ternary operators you can write out simple one line conditional checks that minimize code blocks which is an efficient way to write code.

    • Show the components of a Ternary Operator

    • Demonstrate the Ternary Operator in code

    • Explain why the Ternary Operator is useful

  • What is a Loop?4:45

    What are loops and why are they important? We will introduce the concept of loops and how they make coding more efficient as well as cut down on the repetition of code.

    • Define what a loop is using a practical example

    • Define different parts of a loop

    • Demonstrate a loop with a visual graph

  • while Loop4:06

    Introduce the user to the first example of a loop process called the while loop. We will use a practical example to show how to execute a while loop.

    • Show a while loop structure in code

    • Demonstrate the execution of a while loop

    • Show an example of postfix incrementation

  • do while Loop2:26

    Introduce the user to the second loop example of a do while loop. Explain the similarities and differences between a while and do while loop. Also talk about the advantages and disadvantages.

    • Explain the differences between a while and do while loop

    • Show an execution example of a do while loop

    • Explain the advantages or disadvantages to a do while loop

  • for Loop4:47

    Introduce the user to a for loop example. Explain the different components to the loop and how it operates. Use a simple example to show its operation.

    • Explain the differences between a while, do while, and for loop

    • Explain the for loop components and execution

    • Show a programmatic example of for loop execution

  • Nested Loop4:29

    Is it possible to nest loops? Yes, when you need to nest loops it is a possible. We will show how to nest loops and why it is useful when traversing multidimensional data objects.

    • Show an example of how a loop traverses multidimensional data object

    • Demonstrate the traversal of a multidimensional data object in code

    • Discuss the efficiency used in using nested loops

  • Input and Output (I/O)2:27

    Explain what the difference is between the two. Explain the different means for getting input into the executing program.

    • Define Input and Output

    • Explain the different means for input

    • Explain the different means for output

  • User Input9:44

    Explain how a computer program can interact with a user to get input from them. Demonstrate a user input in a calculator program.

    • Explain how to get user input

    • Explain the syntax required for user input

    • Demonstrate user input in a calculator program

  • Input Stream from File4:26

    In this video we will demonstrate the process for getting input from a file or input stream. We will show how to open a stream, confirm it is open, read the input, and close the stream once done ingesting the data.

    • Demonstrate the input usage of the fstream library

    • Show a code example on using a stream to ingest data from a file

    • Reiterate that it’s important to close the stream once done reading data

  • Output Stream to File3:30

    In this video we will demonstrate the process for outputting data to a file with a stream. We will show how to create a stream, open the stream, write data, and close the stream once completed.

    • Show the output usage of fsteam

    • Show a code example on how to output data to a file

    • Reiterate that it’s important to close the stream once writing is done

  • Defining Function5:01

    We will define what a function is and how it is useful in software development. We will also discuss why a function is useful in creating efficient code.

    • Define what a function is

    • Describe how a function will be used

    • Explain the advantages of using a function

  • Function Examples9:49

    What does a function look like and how do we use one? We will show how a function is declared and explain the different types of functions that can be used.

    • Define how a function can be declared

    • Define the different types of functions

    • Demonstrate function prototyping

  • Pass-By-Reference or Value8:36

    How do you pass data to a function? We will demonstrate the two means for passing data to a function using pass-by-reference and pass-by-value. We will also discuss the advantages and disadvantages between the two methods.

    • Demonstrate how to show pass-by-value

    • Explain pass-by-reference and show how to do it

    • Go over advantages and disadvantages of the two

  • Defining Data Structures and Classes8:43

    We will be defining what a data structure is by using a struct as an example. We will also define what a class is and how it is the culmination of the previous concepts learned in this course.

    • Define what the data structure of a struct is

    • Show how a struct is used in a code example

    • Define what a class is

  • Arrays4:06

    An array is an example of another data structure. This allows us to store data as a collection of elements which we will demonstrate in some code.

    • Define an array

    • Show an array’s structure when data is stored

    • Demonstrate an array in code

  • Vectors5:15

    A vector is an example of a class. This builds on the understanding of arrays. A vector is a list of elements but has built in functions that can add, remove, count, as well as other functions can be performed to the vector.

    • Define a vector

    • Demonstrate how to add and remove data in a vector

    • Demonstrate how to iterate through a vector to output data

  • Maps5:09

    A map is another way to store a list of data, but instead of sequential order we utilize key value pairs. We will define and demonstrate what a map is as well as how to add data or remove data into a map.

    • Define a map

    • Demonstrate how to add or remove data into a map

    • Demonstrate how to iterate through a map to output the data

  • Custom Class10:37

    In this video we will use all previously learned concepts to build a custom class to perform calculator operations. We will define a header file, the source cpp file for the class and execute the full capabilities of the class in an example code.

    • Define the files in a class

    • Define the difference between public and private

    • Show how to create a class and use it in code

Requirements

  • No prior knowledge of any programming language is required for this course.

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++.

Who this course is for:

  • This course is aimed at novice C++ developer, an Application developer who are keen to learn a new language, as well as its use in application development.