C++ Programming ¶
Ilmoittaudu Intermediate Level Programming with C++, 2026
Kurssin sisältö ¶
- COURSE SCHEDULE AT A GLANCE
- GETTING STARTED: Laptop Setup Instructions
- TEAM EXERCISES (45 Pts)
-
LAB1_INTRO: Introduction To Classes in C++
2026-03-15, 23:590.00 / 5.00
-
LAB2_DEBUG: Introduction to Debugging
2026-03-22, 23:590.00 / 5.00
-
LAB3_MEMORY: Leak-Free Code with ASAN and Valgrind
2026-03-29, 23:590.00 / 5.00
-
LAB4_INHERITANCE: Virtual Functions and Abstract Classes
2026-04-05, 23:590.00 / 5.00
-
LAB5_GDB: Debugging with GDB
2026-04-12, 23:590.00 / 5.00
- INDIVIDUAL EXERCISES (25 Pts)
-
MP1_MAKE: Makefile Tutorial
2026-03-15, 23:590.00 / 5.00
-
MP2_INTRO: Makefiles and Classes in C++
2026-03-22, 23:590.00 / 10.00
-
MP3_COLLAGE: Classes, Inheritance, and Operators
2026-04-05, 23:590.00 / 10.00
- EXAMS (30 Pts)
-
PRACTICE EXAM -- NOT INCLUDED IN GRADING
0.00 / 30.00
-
FINAL EXAM
2026-04-28, 19:150.00 / 30.45
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¶