Programming Fundamentals Using C++

Projects

Five programming mini-projects of increasing complexity, each mapped to the course's module progression. Projects P1–P4 are ungraded skills ladders (recommended as the matching modules complete; instructors may grade them as homework via the assignment rubrics); P5 is the graded course project — the syllabus's 10 % component across Weeks 14–16, unchanged. Each project folder contains one complete student specification: project.md with all twelve required sections (problem, objectives, functional & non-functional requirements, data structures, UI design, validation, testing plan, milestones, extensions, rubric, instructions).

The ladder

#FolderTitleModulesNew skills vs previous
1project-01/Student Grade CalculatorM1–M8functions, decisions, loops — no arrays yet; weights & letter mapping
2project-02/Expense Tracking SystemM9–M12arrays as collections, parallel arrays → sorting, string categories, reports
3project-03/Library Management SystemM13–M15structs, std::vector, references, file load/save with skip-and-report
4project-04/Student Record Management SystemM14–M16a class with a stated invariant, guarded mutators, file round-trip
5project-05/Integrated C++ Management ApplicationM1–M16synthesis: menus + records + search + files + class in one coherent program

Progression discipline. Each project is implementable using only the modules listed — P1 needs no arrays; P2 uses no files; P3 introduces structs and file I/O; P4 is where the first class with an invariant appears; P5 asks for everything at small scale. Extensions marked ⚙ in each spec go one step beyond the listed modules and are optional.

Scope, distinctness, and overlap policy

Grading (preserved from the course plan)

P5 is worth 10 % of the course grade (proposal Week 14 → checkpoint Week 15 → final + demonstration Week 16), evaluated out of 100 points with the shared rubric instructor/assessment-rubrics/project.md (correctness 30 · quality 25 · testing 15 · explanation 15 · process 10 · scope 5). P1–P4, when graded, use the assignment weights (correctness 30 + postmortem 10). Reference implementations and per-project grading keys are instructor-only at ../instructor/projects/ — never distributed with the specs.

Integrity

P1–P3 individual; P4–P5 individual by default, pair work with a stated split and a live "explain any line" demonstration allowed. Tooling/AI use follows the syllabus policy — understanding is evidenced through the explanation rubric and the demonstration.

The five projects

  1. Project 01 · Student Grade Calculator
  2. Project 02 · Expense Tracking System
  3. Project 03 · Library Management System
  4. Project 04 · Student Record Management System
  5. Project 05 · Integrated C++ Management Application
Programming Fundamentals Using C++ · C++17 · 16 weeksBack to top ↑