Complete Guide to C++ Programming Foundations
5h 26mBeginner2024-10-30
Authors

Eduardo Corpeño
Electrical Engineer, Computer Programmer, and Teacher for 15+ years
Course details
Discover the full potential of the C++ programming language with our Complete Guide to C++ Programming Foundations. Starting with the fundamentals and moving on to more advanced topics like the Standard Template Library, this course will equip you with the skills you need to succeed as a C++ developer. Through a series of detailed lecture videos and coding challenges, gain practical experience and learn how to write efficient, maintainable code. Whether you're looking to start a career in software development or simply expand your programming skills, this course is for you.
Learning objectives
Describe the basics of C++, including data types, control structures, functions, and classes, laying a solid foundation for advanced topics.
Explore advanced C++ concepts such as templates, the STL, file handling, and object-oriented programming to develop efficient and robust applications.
Develop problem-solving skills by applying C++ concepts to challenges, enhancing your ability to write clean, maintainable code.
Discover industry best practices for C++ development, including code organization, readability, and performance optimization.
Learning objectives
Describe the basics of C++, including data types, control structures, functions, and classes, laying a solid foundation for advanced topics.
Explore advanced C++ concepts such as templates, the STL, file handling, and object-oriented programming to develop efficient and robust applications.
Develop problem-solving skills by applying C++ concepts to challenges, enhancing your ability to write clean, maintainable code.
Discover industry best practices for C++ development, including code organization, readability, and performance optimization.
Skills covered
C++Programming LanguagesOpen SourceSoftware DevelopmentOne-Off
Concepts
0. Introduction
- 01 - Getting started with C++
- 02 - What you should know
- 03 - Using the exercise files in GitHub Codespaces
- 04 - Solving challenges in Coderpad
1. Getting Started with C++ Foundations
- 05 - About C++
- 06 - Creating a simple program in C++
- 07 - Anatomy of a C++ source file
- 08 - Statements and expressions
- 09 - Identifiers
- 10 - Elements of object-oriented programming
- 11 - Terminal interaction
2. Variables and Data Types
- 12 - Basic data types
- 13 - Integer types
- 14 - Floating point types
- 15 - Variables
- 16 - Using variables
- 17 - Type aliases
- 18 - Enumerations
- 19 - Structures
- 20 - Type casting
- 21 - Type casting examples
- 22 - Type inference with auto
- 23 - Solution - Data types
3. Expressions and Operations
- 24 - Expressions and assignments
- 25 - Operators
- 26 - Increment and decrement operators
- 27 - Compound assignment operators
- 28 - Preprocessor directives
- 29 - Constants
- 30 - Solution - Calculate an average
4. Arrays, Pointers, and Strings
- 31 - Arrays
- 32 - Pointers
- 33 - How arrays and pointers are related
- 34 - Using objects with pointers
- 35 - The vector class
- 36 - Using objects with vectors
- 37 - References
- 38 - C strings
- 39 - The string class
- 40 - Solution - Vector manipulation
5. Control Statements
- 41 - If statements
- 42 - Switch statements
- 43 - While loops
- 44 - Traditional for loops
- 45 - Ranged for loops
- 46 - Solution - Calculate resource cost
6. Functions
- 47 - Overview of functions
- 48 - Passing values to a function
- 49 - Returning values from a function
- 50 - Writing functions
- 51 - Overloading functions
- 52 - Challenge - Calculate rhythm game scores
7. Creating Your Own Classes
- 53 - Overview of classes and objects
- 54 - Data members
- 55 - Function members
- 56 - Constructors and destructors
- 57 - Using classes
- 58 - Header and implementation files
- 59 - Working with several source files
- 60 - Operator overload
- 61 - Solution - Create a person class
8. The Standard Template Library
- 62 - Understanding templates
- 63 - Template functions
- 64 - Template classes
- 65 - Overview of the STL
- 66 - Queues and stacks
- 67 - Advanced concepts - Iterators
- 68 - Advanced concepts - Algorithms
- 69 - Solution - Virtual pet schedule
9. File Handling
- 70 - Working with files
- 71 - Opening a text file for reading
- 72 - Opening a text file for writing
Conclusion
- 73 - Next steps