Live Sessions and Courses

C++ Programming

This introductory C++ programming course is designed for students with prior programming experience in languages like Python and Java, providing a solid foundation in C++ development.

413,961 already enrolled!

Course Detail

CS102 is a course tailored for students with prior programming experience in languages like Python and Java. This course focuses on developing a strong foundation in C++ programming, emphasizing the language’s unique features and concepts. Successful completion of this course will enable students to continue their studies in advanced computer science courses or data analysis.

Course Features

  • Advanced Programming Concepts
  • Practical Application and Projects
  • Preparation for Advanced Study

Oliver Feng

Instructor in Computer Science

Meet Oliver, a seasoned computer science instructor with a profound passion for teaching and extensive professional experience. Oliver combines a deep knowledge of programming with a commitment to nurturing students’ growth, making every class an inspiring journey into the world of computer science.


  • Live Class Sessions With Hands On Coding
  • Full Lifetime Access
  • Access on Mobile and TV
  • Certificate of Completion

Course Content

  • Role of C++ in computer science
  • Setting up a C++ development environment
  • Basic C++ syntax, data types, and variables
  • Conditional statements (if, else, switch)
  • Looping structures (while, for)
  • Iteration and control flow in C++
  • Defining and using functions in C++
  • Introduction to C++ standard libraries
  • Working with C++ headers and namespaces
  • Classes and objects in C++
  • Constructors and destructors
  • Inheritance, polymorphism, and encapsulation
  • Understanding pointers and references in C++
  • Dynamic memory allocation and deallocation
  • Common memory management pitfalls and best practices
  • Reading and writing files in C++
  • Introduction to the STL for data structures and algorithms
  • Using containers, iterators, and algorithms from the STL
  • Exception handling and error management in C++
  • Smart pointers and resource management
  • Advanced topics like multithreading and concurrency (optional)
  • Students work on a C++ programming project
  • Review of course material
  • Preparing for the Canadian Computing Contest (Senior Level) or data analysis courses
  • Weekly programming assignments: 40%
  • Midterm exam: 20%
  • Final project: 20%
  • Final exam: 20%

“Accelerated C++” by Andrew Koenig and Barbara E. Moo

  • Online coding platforms and practice problems
  • CCC Senior Level preparation materials or data analysis course prerequisites

10,000 Online Courses

Expert Teachers

Unlimited Access

Start Getting New Knowledge and Experience, Together!

Embrace Full Access Today and Unleash Your Potential for Success at Every Turn.