How to Program in C++ from Beginner to Professional

Learn C++, Develop full C++ Programs, Get Complete Source Code, Write Clean Structured C++ Code, Go from Beginner to Pro
3.7 (34 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,907 students enrolled
Take This Course
  • Lectures 80
  • Length 3.5 hours
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2016 English

Course Description

This course teaches C++ from beginner to professional. Learn best practices and programming standards that can be applied to any language and apply them to write clean, well structured and professional C++ code. Follow hands-on video tutorials that teach how to develop full programs in C++ through real practical examples. Write code, create programs, compile and run code. Learn what software you need, how to install and setup your environment. A complete course to learn how to program in C++.

There are no additional costs for software because all the software used in this course is free and open source. We cover a few different tools to provide you with options. Learn the essential tools to make C++ development easier and increase your productivity.

This course should be done at your own pace and some lessons you may want to review a couple times due to their importance. This course is structured covering simple but essential concepts first, then moving to more advanced concepts and then reinforcing best practices that will empower you to write professional production quality C++ code. This course is also quick reference friendly for people with limited time that want to focus on learning a specific concept or code periodically. The C++ lectures are arranged in a logical order but can be watched in any order as each focuses on a complete concept being taught in the lecture. C++ source code is provided including shell programs and C++ make files that you can use as starting points and templates in our own development.

Take this course if you want to learn C++, build complete C++ programs, maintain C++ programs in your work, freelance in C++, get a quick refresher on the language, use this as a programming reference course, get C++ source code to learn from or use and learn best practices to write professional code. Get Started now in learning C++.

What are the requirements?

  • You should have some interest in programming in C++
  • You should be comfortable using a computer, installing software and navigating applications

What am I going to get from this course?

  • Program in C++
  • Create full programs in C++
  • Write good, clean and well structured code
  • Apply best coding practices and write professional code

Who is the target audience?

  • This C++ course is meant for people new to C++ or programming in general and those looking for a quick refresher. No prior programming knowledge is needed. This course is probably not for you if you're at the intermediate or senior level looking to learn advanced C++ concepts.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Welcome and Introduction

A brief introduction and welcoming to this C++ course. Key points about this course are covered including course updates, revisions, feedback, how best to benefit form this course and other important details. 


This lecture covers getting assistance, help and support learning C++ as a student of this course. Q&A, the FAQ and course discussion are mentioned as support tools and mechanisms to reach out for additional guidance beyond the C++ lecture material provided in this course. 


Course welcome and instructor introduction! Receive a warm greeting and welcome into this C++ course, meet the instructor, get insight into course updates, new material, feedback and questions.


This lecture covers adjusting video quality options in the player to match a students personal viewing preferences.


This lecture covers frequently asked questions and answers. Often many developers have the same questions and the answers in this section are here to provide additional support. 

Section 2: Software & Tools Overview

This lecture covers text editor and IDE options available for students to write C++ code. The code learned in this C++ course can be written in many different text editors of choice and this is a brief overview describing editors and options.

Section 3: Setup and Tools on Windows

This lecture covers downloading and installation the Code::Blocks IDE on a Windows OS. Some key configurations and choices are made during this process.  


Install Sublime code/text editor on Windows and use it to write code if you prefer a simple text editor. Sublime is a popular editor that many developers use to write C++ code. It offers many more features and benefits over notepad such as color variations for text. This lecture covers installing Sublime on a system running a Windows OS.


Atom is a popular free open source text editor used to write code. This lecture covers installation of Atom on a system with a Windows OS. 


This lecture covers the installation and setup of the Notepad++ text editor on Windows. This powerful text editor can be used to write and modify code. 


Its common to output messages from your C++ program to the command prompt but if the font size in the Windows command prompt is too small then it may strain your eyes and cause discomfort making your developer experience unenjoyable. This lecture covers customizing the font displayed in the Windows command prompt to provide a better overall developer experience. 

Section 4: Setup and Tools on a Mac

Code::Blocks is an IDE and code editor that we use in this course to write C++ code. You are welcome to use any editor of your choice but in the videos code is written inside of Code::Blocks. Code::Blocks is free to download and use and available on the main platforms including Windows and Mac.


This lecture covers setting up and verifying permissions on a Mac and the file extension required to compile or build C++ programs in Code::Blocks. Code::Blocks is the IDE used in this course therefore it is important to check permissions and save files correctly. Building C++ programs is essential to being successful in this course.


Lecture covering Code::Blocks plugins and how they may affect performance and stability on a Mac.


Sublime is a popular and powerful text editor used to write code in many languages including C++. This lecture focuses on installing Sublime, using it to access files and folders and setting up a command to quickly access them via the terminal on a Mac.


Atom is a free open source text editor that can be used to write C++ code. This lecture covers downloading Atom, installing it and using it to access files.

Section 5: Software & Tool Common Features & Functionality

This lecture covers creating a new C++ file in Code::Blocks. The same principles apply to creating a new C++ file in general including discussion on the file extension used with insight into compiling the code into a program. This demonstration was done running Code::Blocks on Windows and the same process and workflow also apply to the latest Mac OS X version.


This lecture covers key options and settings for Code::Blocks that are used frequently during this course and, or may make C++ coding more enjoyable in the IDE. This lecture was covered on Windows but these options and settings are common to Code::Blocks running on a Mac as well. 


Learn how to compile C++ code using Sublime and Code::Blocks. Compiling or building code into a executable program that can be run is necessary otherwise there is no program and just some files containing code.


This lecture covers Code::Blocks, building and running C++ programs in the IDE and errors that may occur that stem from your virus scanner. The errors, results and solutions are demonstrated on Windows.

Section 6: Programming and C++ Language Essentials

Lecture on C++ includes and headers and their importance and purpose. Learn about including C++ libraries into your programs to access functions and functionality.


Lecture on the C++ main function and its significance in a program.


Lecture on C++ functions and their purpose in development and writing complex programs. Learn to write practical C++ functions in this exciting lecture. We create a C++ function and then expand on it to work with arguments


This lecture continues working with functions in C++. New C++ functions are created that return values and more key concepts are discussed. 


Lecture on how to get data into a C++ program and how to output or print data to the screen or terminal window. Working with data and accepting person entered data is foundational to most programs. Learn these vital skills following along this practical hands on C++ tutorial.


Create a simple Hello World C++ program using Code::Blocks on Windows and displaying a message in the command prompt. This hands-on demonstration covers basics, shares deeper insight and tips and works with Code::Blocks IDE on Windows from writing code to compiling and running the program. 


Lecture covering C++ operators, different types, their purpose and practical use in a program. Learn these vital and necessary skills in order to perform calculations, write conditions and more.


Learn the essentials of variables in the C++ programming language. Variables are foundational to programming languages in general. Learn variables through real coding examples.


Continue to learn the essentials of variables in C++ by writing code. Become familiar with data types and storing the correct values inside variables.


Learn C++ constants, their purpose, when and how to use them. Write some C++ constants in this exciting hands on tutorial and see them used in action.


Continuing with Constants in C++ and working with integer variables. Get additional insight into appropriate times to use constants and some troubleshooting experience.


This lecture provides a brief overview of including C++ header files and language code, namespaces and the standard library ("std"). It provides valuable underpinning insight into why we need to write code in a certain way and how the code works and, or is pieced together and connected. 


Create a C++ program template to kick start building simple programs. Creating this C++ template will speed up writing the programs in this course, following the exciting hands-on C++ tutorials and writing programs in general.

Section 7: Data Types in C++

This lecture covers the string data type in C++. It covers how to use the C++ string data type, store data and print it to the screen or terminal.


This lecture covers the integer C++ data type, how to use it, store data and print it to the screen or terminal. Learn the essentials of using a C++ in data type in this real code example.


Quick recap of what we learned about the C++ integer data type. We define a variable in C++ and assign a calculated value. 


This lecture covers the essentials of the C++ bool data type in a real world programming example. Evaluation and condition logic is touched upon as well as practical real world usage of the bool data type.


This lecture covers the essentials of the char C++ data type in a real world programming example. Learn about compile errors and spotting data type mismatches as a bonus in this practical example that covers this important data type in the C++ programming language.


This lecture covers the basics of the C++ double data type with real world and practical code examples. Code alongside to learn about the C++ data type double.


This lecture covers and demonstrates the float data type in C++ through real coding examples. Learn the essentials of the float C++ data type by writing code alongside in this tutorial video.


Learn to write a simple hello world program in C++ that covers the essentials of the language. Learn tips and tricks, keywords, includes, libraries and more. In creating this complete C++ program much ground is covered. 


Expand a simple hello world C++ program to accept user entered data. Accepting and working with user entered data is essential and is taught in this practical coding example and tutorial.

4 questions

This quiz benchmarks knowledge gained about data types.

Section 8: Conditional Statements and Logic - If and Else Statements

C++ conditions are foundational to most programs and an essential piece to learn. Learn how to write if conditions and their purpose in development.


Learn about and write if else conditions in C++. Write some code to evaluate a condition and perform some functionality based on whether the condition was met. An essential piece to learn because conditions are often used in code.


Learn more about if condition operations and some of the key ones used in most programs. Follow along this hands on video tutorial to write some if conditions using these condition operators in C++.


In this exciting lecture we recap if else conditions examining a simple boolean variable. In this hands-on video tutorial the value of the variable is changed and we examine the results of our condition and program. This reinforces the concepts learned through working with conditions. 

Section 9: How Do I Get User Data Into My C++ Program and What Can I Do with It?

Learn how to get people entered data into a C++ program to work with it.


Expand on the essential skills of getting people entered data into a C++ program. Get data into your program and then send data out of your program by working with multiple values.


After getting people entered data into a C++ program learn how to work with the data.


A simple exercise to practice, apply and hone your C++ skills learned. 

Section 10: Arrays, Vectors and Collections in C++

Learn about C++ arrays and write code to work with them by following along this hands on video tutorial. Learn the essentials of working with arrays in C++.


Learn the essentials about C++ vectors and follow along to write practical code to work with them.

2 questions

This quiz tests skills and knowledge about vectors in C++.

Section 11: C++ Loops and Iterations - Iterate Code and Execute Logic

Write C++ for loops, learn their purpose and practical use.


Learn more about for loops and write fun and exciting C++ code to work with them.


Learn the essentials of C++ while loops and write exciting and fun code to work with them.


Learn the essentials of C++ do while loops and how they differ from while loops in C++. Write some code to work with them by following this exciting hands on tutorial.


Learn how to create a simple C++ counter program. This lecture covers and puts together the essential skills of getting user data and working with it inside our program, using a for loop and printing values to the screen. C++ code provided with comments for further explanation and a few great tips included that describe best practices and how they are used to make our program better and create more value.

Section 12: Class and Struct Objects in C++

Learn about members in C++ and the relationship they hold to classes. Get some insight into the meaning behind members and see some code examples to make this concept clear.


Learn about C++ classes and their importance. Write a fun C++ class about cars.


Learn more about classes in C++ and constructors. Continue writing code and expanding on the car class.


This lecture introduces destructors in C++ and multiple constructors as we continue expanding and working with our Car class. 


Write a fun rodent C++ class to practice and expand skills. Learn about properties and functions inside a C++ class and write some! We continue to model classes in C++ around real life objects to make learning easy and fun. 


What is a C++ Struct? Learn about structs and write one in C++.


Learn the difference between public, private and protected, their purpose and when to use each with real life examples.


Learn about C++ classes, their purpose and how to use them. Write a simple program using classes and get a full explanation about what the code is doing and its purpose in this exciting C++ program with real life examples.

Section 13: Common Errors, Error Handling, Debugging and Troubleshooting in C++

Lecture covering C++ common and simple errors. Simple troubleshooting is applied and compile time errors are demonstrated and resolved while working in the Code::Blocks IDE.


Learn about compiling and building C++ programs and compile and runtime errors. Get insight into the user experience and handling errors.


Learn about and write C++ try and catch blocks to handle exceptions. Throw an exception and handle it. Get insight on what else can be done with exceptions!

Section 14: Make Files and Automated Builds

Create a C++ makefile to quickly compile and build multiple files and programs. Learn the essentials of makefiles in C++ and learn the command lines necessary to compile and run C++ programs.


Write C++ makefiles with debug information.

Section 15: General Programming Concepts

Understanding scope and code blocks is essential and a good transferable skill. Learn about code scope and blocks writing some fun C++ code. See practical examples using if statements and troubleshoot compile time errors related to code scoping. 

Section 16: Best Coding Practices for C++ Developers - Be Professional

Learn about refactoring in programming and what is meant when people talk about refactoring code. Write some code and then refactor it following along this exciting hands on tutorial.


Learn good coding practices and the importance of indenting code.


Learn the importance of applying proper and intuitive naming in C++ and writing professional code.


Why comment? How to Comment? Learn about commenting in C++. This lecture covers commenting in C++ and discusses best practices for making code comments in general that apply to developing in any language.  

3 questions

This quiz covers some of the concepts and information learned about best practices to follow when writing good production quality and professional C++ code.

Section 17: Going Paid Professional & the Next Steps to C++ Experience

This course is about going from C++ beginner to professional and writing professional code and in order to become a C++ professional you need projects and experience. This lecture covers some options to get professional work and experience in C++


This lecture covers considerations for professional work. 

Section 18: The Challenge - Benchmarking Skills Developed and Knowledge Learned

This is the final course exercise to practice, apply and hone the skills you learned and developed in this course. 

16 questions

This is the final course quiz for C++ to test and benchmark your knowledge of all material covered in this course. This will identify what material you mastered and what material you may want to review in more detail. 

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Remi Blais, Senior Software Engineer, Project Manager, IT Expert

I’m a full stack senior software engineer and project manager with over 20 years professional IT experience. I’ve earned and been accredited with many globally recognized designations and certifications. I’ve mentored, led and helped many developers learn new languages, expand their knowledge, build their skills and become successful paid professionals. In my career I’ve built 100’s of applications and websites and have been involved in every aspect from strategy through continuous improvement to SEO. I’ve worked in the presentation, business and data access layers and understand intimately how each piece works and fits together which allows me to provide greater insight when teaching.

I’ve had the pleasure of working on projects for small, medium and large companies therefore understanding the unique challenges and needs of each. The vast experience I’ve gained in object oriented programming, professional coding and best practices I infuse into my courses to provide exceptional and added value. It’s not just about writing some code but about writing professional code in an efficient, scalable, clean, maintainable and optimized way.

I’m a IT consultant at Empellex Inc. and the courses we've created and designed use a full spectrum of learning aids to convey material in a clear and easy to understand way. Our goal is to provide students with learning support until they reach their goal and achieve their learning objectives. In my experience everyone has the ability to learn any language if taught in a way that matches their unique learning style with support provided. Our courses are built on this foundation and offer a variety of ways to learn everything you need to know to start your adventure and with lifetime access you will always have the support you need to be successful.

Ready to start learning?
Take This Course