CS-CPP118 Weeks • 3 Credit Units • Systems & Object-Oriented C++

Object-Oriented Programming & Systems Architecture in C++

A comprehensive collegiate curriculum on memory architecture, pointer arithmetic, manual heap allocation, object-oriented encapsulation, polymorphism, and stream I/O formatting in modern C++.

Low-Level Memory & Systems Engineering

Understanding how hardware executes software is fundamental to computer science. In CS-CPP1, students explore computer architecture directly through C++. Students study the exact physical separation between the execution Stack (automatic fast allocation with LIFO lifetime) and the dynamic Heap (manual allocation with pointer addressing).

Students learn the rigorous rules of pointers and references: memory addressing, pointer dereferencing, pointer arithmetic, memory leaks, and RAII (Resource Acquisition Is Initialization) design patterns to build leak-free, high-performance software systems.

Syllabus & Curriculum Milestones

Weeks 1 – 3

C++ Compilation, Streams & Escape Sequences

The g++ compiler pipeline, standard I/O streams (cin, cout), stream manipulators, and character escape sequences.

Weeks 4 – 7

Pointers, Memory Addresses, & Heap Allocation

Stack vs Heap memory layout, pointer dereferencing with operator*, address-of operator&, dynamic arrays, new/delete, and memory leak prevention.

Weeks 8 – 11

Object-Oriented Design & Encapsulation

Classes, public/private access specifiers, constructors and destructors, copy constructors, operator overloading, and const-correctness.

Weeks 12 – 15

Inheritance, Polymorphism & V-Tables

Single and multiple inheritance, virtual functions, pure virtual methods, abstract base classes, and dynamic runtime dispatch.

Weeks 16 – 18

Standard Template Library (STL) & Final Project

Vectors, maps, iterators, generic templates, smart pointers (std::unique_ptr, std::shared_ptr), and final systems programming application.