C++ Programming ¶
Enroll to Intermediate Level Programming with C++, 2025
Course Contents ¶
- COURSE SCHEDULE AT A GLANCE
- GETTING STARTED: Laptop Setup Instructions
- TEAM EXERCISES (35 Pts)
-
LAB1_INTRO: Introduction To Classes in C++
2025-03-17, 23:590.00 / 5.00
-
LAB2_DEBUG: Introduction to Debugging
2025-03-24, 23:590.00 / 5.00
-
LAB3_MEMORY: Leak-Free Code with ASAN and Valgrind
2025-03-31, 23:590.00 / 5.00
-
LAB4_INHERITANCE: Virtual Functions and Abstract Classes
2025-04-07, 23:590.00 / 5.00
-
LAB5_GDB: Debugging with GDB
2025-04-14, 23:590.00 / 5.00
-
LAB6_DICT: STL, Maps, and Iterators
2025-04-21, 23:590.00 / 5.00
- INDIVIDUAL EXERCISES (35 Pts)
-
MP1_MAKE: Makefile Tutorial
2025-03-17, 23:590.00 / 5.00
-
MP2_INTRO: Makefiles and Classes in C++
2025-03-24, 23:590.00 / 10.00
-
MP3_COLLAGE: Classes, Inheritance, and Operators
2025-04-07, 23:590.00 / 10.00
- EXAMS (30 Pts)
WELCOME!¶
Dear students,
The goal of this course is to prepare you for the software engineering positions specializing in C++. In weekly coding exercises, you will be tasked with writing code, debugging code, optimizing code, and/or identifying memory leaks in some complex code base that we wrote for you to solve some fun applied problems, like image manipulation or games. This hands-on approach is designed to mirror the real-world software engineering environment.
We look forward to working with you!
The Course Staff
Course Objectives¶
Upon completing the C++ course, you will:
- Understand key C++ concepts: inheritance, polymorphism, encapsulation.
- Learn essential computing concepts: generic programming, object-oriented programming, memory management.
- Gain proficiency in debugging and memory error detection.
Course Topics¶
- Basic tools for developing, documentation, testing, and debugging C++ code.
- C++ concepts: methods, functions, types, classes, encapsulation, variables, pointers, memory, RAII, essential operations, overloading, inheritance, templates, polymorphism, STL.
Prerequisites¶
We expect students to have taken an elementary programming course in either C, Java, or Python before taking this course.
Course Staff¶


