C++ · Advanced level

Advanced level · Module 6 of 6 · 30 guided hours

C++ Capstone Project

Design, build, test, optimise and present the Offline Sensor Data Processor as a professional C++ project.

Learning objectives

  • Plan a C++ project with a library, tool and tests
  • Implement and optimise it with evidence
  • Document and present it professionally

Topics

  • requirements and data format
  • library and CLI design
  • testing strategy
  • performance budget
  • documentation
  • presentation

Lessons

  1. Lesson 1 Capstone Requirements and Design

    Define the input format, outputs and quality requirements, then design the library and command-line interface.

    data format specificationnon-functional requirementlibrary APIcommand-line interface

  2. Lesson 2 Core Library Implementation

    Implement parsing, validation and statistics as a tested library.

    streaming parservalidation rulesstatisticstest coverage

  3. Lesson 3 CLI, Reports and Error Reporting

    Build the command-line tool and its reports on top of the library, with helpful usage and error messages.

    argument parsingusage messageexit codesreport format

  4. Lesson 4 Parallelism and Performance

    Add parallel processing and optimise the tool, proving correctness and speed with tests and measurements.

    parallel moderesult equivalencebenchmark reportperformance budget

  5. Lesson 5 Documentation and Presentation

    Write the README and usage documentation, and present the capstone with a live demonstration.

    READMEusage examplesdemonstrationreflection

Practical activity

Deliver the capstone through five reviewed milestones: design, core library, CLI and reports, parallelism and performance, documentation and presentation.

Expected outcomes

  • A portfolio-quality C++ project
  • Experience of a full development cycle with performance work

Assessment

The level project assessed against its criteria, with a demonstration that includes tests, sanitizers and a benchmark.

Taught live by an instructor — online or in person. Free course lessons are for self-study and do not lead to a certificate — see registration options.