We may earn an affiliate commission when you visit our partners.
Course image
Arkadiusz Włodarczyk

Save your precious time by buying this course. You will learn how to program in C++ in a fast and easy way.  

Read more

Save your precious time by buying this course. You will learn how to program in C++ in a fast and easy way.  

The total length of the course is over 17 hours. You will learn theory and you will also gain lots of practice. During the course we will write many programs that will make you a great programmer.

All of this is presented by a young man who shares his knowledge, so the language used can be easily understood by everyone. 

The course is designed for those who don't have any prior knowledge about programming. It doesn't matter if you have never written any programs or you have no idea about programming... After my course all of this will change. You will bust the myth that programming is a difficult thing only for the few.    

After this course you will be able to use the advanced components of the C++ language. 

 

I believe that everyone has the ability to develop software if they are taught properly. Including you. I'm going to give you the context of each new concept I teach you. After my course you will finally understand everything that you code.

Over 320,000 students bought my courses and all of them are happy. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refund. I guarantee you satisfaction. 

If you have any questions regarding the topics covered in this C++ course, please feel free to ask. I'm always happy to help those who want to learn.

Please check out the free lessons first. See for yourself the great quality of my course and enjoy it.  

JOIN NOW and become Expert in C++

Enroll now

What's inside

Learning objectives

  • How to use c++ language in action
  • What is compiler / ide / variables / types of variables etc.
  • How to work with files - fstream library (i/o operation on files)
  • Operators - arithmetic, assigment, logical, bitwise
  • Conditions like if / else / switch
  • Arrays / multi-dimensional arrays
  • Loops - for / while / do-while
  • Functions, overloading functions, passing variables to functions etc.
  • Structures
  • Referencers
  • Pointers
  • Dynamic allocation of memory
  • Creating project in ide
  • Classes
  • Object oriented programming
  • Class and function templates
  • Namespaces
  • Exceptions
  • Input / output streams and validation of data
  • Stl: vector
  • Show more
  • Show less

Syllabus

Introduction

Motivational introduction to my course about C++ and info about how to download 100+ exercises regarding C++.

Basics

You will learn what a programming language like C++/IDE and a compiler is. What is C++? 

Read more

If you have a problem compiling your C++ project than look here to find a solution. Some IDE's might be a bit different. You might have also made a few mistakes. Let's try to solve the problem.

what are:
- comments
- libraries like iostream
- std namespace
- how to send something to the output (cout)
We are exploring the concept of "variable", "variable type", "declaration", "definition". Exploring naming rules of variables and notations.
We learn basics types of variables in the c++ language like:
- int, float, double, string, char, bool 
We learn about address of variable, how to combine string, what are unsigned variables, what are constant variables and when to use them.
We learn how to download data using cin>> and we write a simple program that loads first name and surname, then it prints out that values in the console output.
Basics Quiz (Updated Feb 24')
Operators
We learn what operators are. We learn about arithmetic operators like: +, -, /, * and assignment operators like +=. We learn how incrementation and decrementation works, and what's the difference between post and pre incrementation / decrementation.
We learn how to use and what are relational operators.
We learn how to use and what are logical operators like conjunction, disjunction, negation.
We discuss the bitwise operator. We find out what are the bits, bytes, and we learn how to transform the number of any system such as binary to decimal system.

What you will know after operators section?

Conditions
We learn what are conditional statements. We learn what are curly braces used for {}. We learn about nested conditional statements.
We are learning about the conditional switch instructions. We learn what values can be handled by the switch, we learn about the ASCII table.
We learn how conditional operator is working and when to use it on examples.
We write a calculator that adds, subtracts, multiplies and divides numbers and is resistant to dividing by zero, we learn about goto instruction.

Let's see how you remember conditional statements

Arrays
We find out what are the arrays and how they are represented in the memory of our computer.
We are getting familiar with multidimensional arrays.
Array Quiz (Updated May 23')
Loops
We learn what the loop is, and we are getting familiar with the "for loop". We learn how to assign different values to an array ​​using a loop.
Learning while "loops" and "do while", we learn what differences are between all the loops.
We practice the loop, we write a program that calculates the number of digits in the number total, and a program that prints a nicely formatted

We practice the loop, we write a program that calculates the number of digits in the number total, and a program that prints a nicely formatted multiplication table. We learn what nested loops are.

Loops Quiz (Updated Feb 24')
Functions
We learn about global and local variables and their properties. We write a simple program summing many numbers and we show to avoid very common error.
We find out exactly what function is, how to declare / define. How to distinguish a declaration from the definitions and what are the parameters of the function.
We are getting to know:
- The concept of function call / return values ​​of the function
- Inline function.
We create two simple functions, one that ask user for a name and a function that checks if the data coming from the input is digit.

What "return" keyword does?

How do you solve exercise within Udemy interface?

Create function that adds nrs and return value
We explain the title issue and train functions, writing two different functions to raise the number to any power.
Practicing loops and functions we write a program with the menu, which calculates the area of circle, square, rectangle and triangle, until the user decides otherwise. We learn how to clean the console screen.

We learn how to make the program that does not crash if the user enters invalid data. We also make sure that after entering invalid data into our program, user would get informed and asked for the correct data until the data is correct.

Shortcut text version of why we used cin.ignore and cin.clear in last lecture :)

Why do we use cin.ignore and cin.clear.

You will finally understand:

1) why do we use these instruction

2) how to use them

3) when to use them

4) what makes them different

as a bonus I explain getline function, you will understand use cin vs getline.

Finding Extremes: Implementing Min and Max Functions in C++
Functions Quiz (Updated April 24')
References and enum
Learning enum variable type.
We find out what are the reference variables, how to create them, and how to use them.
We show how to use reference variables on example: writing a function that swaps two values. We learn how to return a reference type variable.
Implement doubleValue function
References and Enums Quiz (Updated April 24')
Pointers
Becoming familiar with the scheme, how memory is represented in our computers, and what happens when we create typical variables and pointer variables.
We learn what the pointer is and how to use it. We learn what the constant pointer is, and the indicator of permanent value. What is pointer that points to another pointer etc.
We learn that the name of the array is really a constant pointer. We show how arrays look in the memory and then we exercise this matter.
We learn what is the allocation, and why we need dynamic memory allocation. We learn what is "new" operator doing, we create dynamic arrays, we refer to them, and release the dynamically allocated memory.
We learn how memory is represented in a string. And we exercise strings on various examples.

How to make sure to correctly free memory of dynamically allocated array?

I will show you a common error while freeing memory and how to solve it.

We learn how to pass arrays to functions and simple variables by using pointers. We learn about sizeof function. We learn how to calculate the size of the array.
We learn the difference between the random numbers and pseudo-random numbers. We are exploring the functions rand () and srand (). We write a function that simulates a lottery, for example drawing six balls of the 49th. This function is universal. You can draw whatever number of balls.
We learn about type casting the C and CPP way.

Document describing why pointers are needed, why do we even learn about them?

In this lecture I will explain the things that are the most confusing about pointers

Write a function that takes a list of numbers as an argument and returns the sum of all the positive numbers in the list. The function should ignore any negative numbers or zeros in the list.

Pointers Quiz (Updated Jan 23')
Project
We learn:
- What is the project and how to create it
- Why the main function should return 0 or 1 
- Why the main function takes an int argc, char * argv or []
- what does char * argv [] mean
- How to bring our program from cmd
- How to write all the values ​​of arguments
- How to check the various arguments and respond to one of them
- How should we compare the strings, that are not string type.
We are creating the multifile project, we learn the proper way of including new headers. Learning extern modifier. We learn what the preprocessor is, and we are getting familiar with a few preprocessor instructions.
Structures and Classes - Object Oriented Programming
We learn:
- What the structures are
- How to refer to individual elements of the structure
- How to create an array of structural types and refer to the various structural elements in the array using operator "." and "->"

We learn:
- What the class and the object is
- What an instance of class is
- How do the private and public access modifiers are working
- What is a method, and how to create it inside the class
- What the declaration and the definition of class is
- How to separate the definitions from the class declaration in one file and multiple files
- What the range operator "::" is and for what it is used to
- What a constructor is and what it does
- How variables are working with the static modifier
- What the destructor is and when it is called
- How to refer to the content of our instance of classes by using pointers

We learn about: - Static properties / variables - Static methods/ functions - Id (key) We write a class that represents the user with a unique identifier.
We learn what happens to the components of the class when we precede the instance of the class with the const modifier.
We're talking about friendship between global functions and class functions :)
We keep talking about friendship but now between classes.
We discuss the copy constructor, what it is and when should we use it.
We learn how to create our own constructor converts, and how to overload operators, so that you can perform "operations" on our own objects.
We are familiarizing with the concepts of inheritance / parent class / base class / superclass / child class / derived class
We learn:
- How to give a default value for the constructor method.
- How are subclasses inheriting from the base class depending on the method of inheritance: public, protected, and private
- In what order constructors and destructors are called while creating objects that are inheriting something
- How to call a constructor using constructor
- Etc. etc.)
We learn about this creating Point and Point2D classes.
We create a farm with animals issuing strange noises;) and we learn: - What is the polymorphism, virtual functions and the abstract classes. We show where things like that might be useful.

Why polymorphism is needed?

We learn what is a virtual destructor, and why and when it should be used.
Structures and Classes Quiz (Updated Mar 23')
Templates
We find out what function templates are, how and when to use them.
We learn:
- What are templates of classes
- How to define / declare class templates
- How to inherit template class
- How to create a specialized class templates
- How to create a specialization of individual class methods
- How to create a partial specialization of template classes
- How the typedef
Templates Quiz (Updated May 23')
Learn how to use advanced topics of C++
We find out what are the exceptions and how to handle them. We are learning a new type of structure: try {} catch {} throw. We write our own class that represents an exception.
We learn what namespaces are and how to create them. We are creating our own namespace, which define an interesting class that allows us to print out information about our classes as follows: cout << nameOfOurClass;. We write the function that overloads operator <<.
Learn how to input/output from/to files

What is stream, input and output. We are making ourselves familiar with word stream, input and output.

This lesson covers streams in programming, specifically input and output. It discusses how to transfer information between an input source, such as a keyboard, and a destination, such as a file or monitor.

Your learn how to close and open files and how to check if the filed was opened properly. You also learn how to simply put text into file.

You learn file opening modes (states) and differences between them. We learn how to open file and:

  1. make it readable
  2. make it writeable
  3. being able to add content to it
  4. treat it as binary file (we also learn difference between binary and text file)
  5. keep the content / truncate content after opening


We discuss all stream's error flags and we show how to use them. You will know how to react on unexpected situations that happens during reading from the file like for example assigning string to integer or opening file for writing which had the flag set to only reading (ios::in)

You will know functions like:

  1. fail
  2. good
  3. bad
  4. eof
  5. clear
  6. rdstate

and you will know how to operate on states (failbit, goodbit, badbit, eofbit) using bitwise operators and rdstate function.

You will know how to read whole file using one loop and eof function.

What are and how to use reading position pointer. How to programitically check how many bytes the file has. You will learn and understand functions that reads and sets position of reading pointer.

You will know what is and how to use writing position pointer. You will learn functions seekp and tellp which allows you to retrieve and show where is the writing pointer.

You will learn:

  1. how function getline and ignore works
  2. how to retrieve all lines of text from file at once
  3. how to ignore characters that are not needed
  4. how to extract from file with names and surnames only initials

You will know how read function works. We are creating function that is counting size of file and function that is checking if two binary files are the same. We are training pointers on practical example. We also learn abot memcmp function which is used to compare memory.

You will learn hot to load characters from standard input (cin) and put them into the file. In addition to this you will learn how to add after each letter of string a space or any other character.

You will learn function that allows to peek characters before exracting and you will know how to retrieve information from steam in order to assign variables to the right type of variables.

You learn how to return extracted character back on the stream so it can be read again

You will learn how to save bytes to files and when you should use write function over saving operator (<<)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Course explains the basics of programming with a focus on C++ syntax
Suitable for beginners who have no or minimal programming experience
Includes hands-on practice through exercises and programming assignments
Introduces advanced C++ topics such as object-oriented programming and exception handling
Instructor provides clear explanations and uses a friendly approach
Offers a 30-day money-back guarantee, providing peace of mind

Save this course

Save C++: From Beginner to Expert to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in C++: From Beginner to Expert with these activities:
Practice C++ coding problems
Regularly practicing coding problems is the best way to master C++.
Show steps
  • Find a problem set or online judge that has C++ problems.
  • Start solving problems regularly.
  • Review your solutions and learn from your mistakes.
Join a C++ study group
Joining a study group can help you learn from others and stay motivated.
Show steps
  • Find a C++ study group in your area or online.
  • Attend the study group meetings regularly.
  • Participate in discussions and ask questions.
Write a blog post or tutorial about C++
Writing a blog post or tutorial can help you solidify your understanding of C++ and share your knowledge with others.
Show steps
  • Come up with a topic for your blog post or tutorial.
  • Write your blog post or tutorial.
  • Publish your blog post or tutorial.
Three other activities
Expand to see all activities and additional details
Show all six activities
Read 'The C++ Programming Language' by Bjarne Stroustrup
This book is the definitive guide to C++ and is highly recommended for anyone who wants to learn the language in depth.
View Programming on Amazon
Show steps
  • Buy or borrow a copy of the book.
  • Read the book carefully and take notes.
  • Try out the code examples in the book.
Build a C++ project
Building a project is a great way to apply your C++ skills and learn how to use the language in a practical setting.
Show steps
  • Come up with an idea for a project.
  • Design and implement your project.
  • Test and debug your project.
Contribute to an open source C++ project
Contributing to open source projects is a great way to learn how to work with others and contribute to the C++ community.
Show steps
  • Find an open source C++ project that you are interested in.
  • Read the project's documentation and contribute code.
  • Review and provide feedback on other people's code.

Career center

Learners who complete C++: From Beginner to Expert will develop knowledge and skills that may be useful to these careers:
Computer Programmer
The C++: From Beginner to Expert course is an excellent resource for those interested in becoming Computer Programmers. This course covers a range of topics that are essential for success in this role, including variables, data types, operators, control structures, and functions. The course also provides hands-on exercises that allow you to practice your skills.
Software Engineer
The C++: From Beginner to Expert course provides you with a comprehensive overview of the C++ programming language. This course covers a range of topics that are essential for success as a Software Engineer, including variables, data types, operators, control structures, and functions.
Software Architect
The C++: From Beginner to Expert course provides a solid foundation in C++ programming, which is essential for success as a Software Architect. This course covers a range of topics that are relevant to software architecture, including design patterns, object-oriented programming, and software engineering.
Software Developer
The C++: From Beginner to Expert course is a comprehensive guide to programming in C++ that can help you to establish a foundation that can lead to success as a Software Developer. This course will build on your theoretical knowledge of C++ and help you to develop the skills needed to use this knowledge to create practical programs and applications.
Game Developer
The C++: From Beginner to Expert course can be useful for those interested in becoming Game Developers. With its coverage of computer graphics, game physics, and game design, this course can help you to develop the skills needed to create engaging and immersive games.
IT Manager
The C++: From Beginner to Expert course is a comprehensive guide to programming in C++ that can help you to develop the skills needed to manage and lead IT teams. This course covers a range of topics that are essential for success in this role, including project management, software development, and database management.
Network Engineer
The C++: From Beginner to Expert course provides a solid foundation in C++ programming, which is essential for success as a Network Engineer. This course covers a range of topics that are relevant to network engineering, including working with files, functions, classes, and templates.
Web Developer
The C++: From Beginner to Expert course will provide you with the skills to work with files, functions, classes, and templates in C++. These skills are relevant to web development and can help you move into the field as a Web Developer. This course covers a range of topics that are relevant to web development, including working with multiple files, functions, classes, and templates.
Information Security Analyst
The C++: From Beginner to Expert course provides a strong foundation in C++ programming, which is a valuable asset for Information Security Analysts. This course covers a range of topics that are relevant to information security, including working with files, functions, classes, and templates.
Computer Scientist
The C++: From Beginner to Expert course is a comprehensive guide to programming in C++ that can help you to build a foundation for a career as a Computer Scientist. This course will help you to develop the skills needed to write efficient and effective code in C++.
Software Quality Assurance Analyst
The C++: From Beginner to Expert course can be useful for those interested in becoming Software Quality Assurance Analysts. With its coverage of testing and debugging techniques, this course can help you to develop the skills needed to ensure that software is of high quality.
Database Administrator
The C++: From Beginner to Expert course can be useful for those interested in becoming Database Administrators. With its coverage of data structures and algorithms, this course can help you to develop the skills needed to manage and maintain databases.
Technical Writer
The C++: From Beginner to Expert course can be useful for those interested in becoming Technical Writers. With its coverage of technical writing principles and practices, this course can help you to develop the skills needed to create clear and concise technical documentation.
Systems Engineer
The C++: From Beginner to Expert course can be useful for those interested in becoming Systems Engineers. With its coverage of computer hardware and software, this course can help you to develop the skills needed to design, build, and maintain complex systems.
Data Scientist
The C++: From Beginner to Expert course can be useful for those interested in becoming Data Scientists. With its coverage of arrays, loops, and functions, this course can help you to develop skills that are useful for data processing and analysis. The course also provides practical examples of how to use C++ to solve data-related problems.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in C++: From Beginner to Expert.
Is the definitive reference on the C++ programming language. It was written by the creator of C++, and it provides a comprehensive overview of the language. It must-read for anyone who wants to learn C++.
Comprehensive and detailed introduction to the C++ programming language. It covers all the basics of the language, as well as more advanced topics such as object-oriented programming and templates. It valuable resource for anyone who wants to learn C++ in depth.
Collection of 50 essays on C++ programming. Each essay covers a specific topic, and provides practical advice on how to write better C++ code. It valuable resource for anyone who wants to improve their C++ programming skills.
Collection of recipes for solving common C++ programming problems. Each recipe provides a step-by-step solution to a specific problem. It valuable resource for anyone who wants to learn how to solve C++ programming problems.
Collection of recipes for solving common C++ programming problems. Each recipe provides a step-by-step solution to a specific problem. It valuable resource for anyone who wants to learn how to solve C++ programming problems.
Comprehensive introduction to object-oriented programming in C++. It covers all the basics of object-oriented programming, as well as more advanced topics such as design patterns and inheritance. It valuable resource for anyone who wants to learn how to write object-oriented C++ code.
Collection of design patterns and best practices for C++ programming. It covers topics such as object-oriented design, data structures, and algorithms. It valuable resource for anyone who wants to learn how to write high-quality C++ code.
Comprehensive guide to concurrency in C++. It covers all the basics of concurrency, as well as more advanced topics such as thread pools and synchronization. It valuable resource for anyone who wants to learn how to write concurrent C++ code.
Comprehensive guide to C++ templates. It covers all the basics of templates, as well as more advanced topics such as template metaprogramming. It valuable resource for anyone who wants to learn how to use templates in C++.
Collection of advanced C++ programming techniques. It covers topics such as templates, metaprogramming, and concurrency. It valuable resource for anyone who wants to learn how to write high-performance C++ code.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to C++: From Beginner to Expert.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser