Instruction Type:
Classroom/Instructor Facilitated
Description:
This compressed boot camp develops practical C++ skills in four three-hour morning sessions. Short lectures and live demonstrations lead directly into guided coding and a tightly scoped cumulative capstone. Participants learn essential language features, class design, safe resource management, standard-library techniques, testing, debugging, and professional project organization. CMake is used from the first exercise onward so every program follows a repeatable configure, build, test, and run workflow.
Important Note:
This is not an introductory programming course. Attendees should be familiar with fundamental programming concepts.
Instructor:
Rick Miller, MS Computer Science
California State University Long Beach
Phone: (703) 608-0975
email: richmill@marymount.edu
website: warrenworks.com
Session Dates:
| Location | Dates & Times |
| Session 1 — Ballston Center, Room 4088 | Saturday, 12 September 2026, 0900 — 1200 |
| Session 2 — Ballston Center, Room 4088 | Saturday, 19 September 2026, 0900 — 1200 |
| Session 3 — Ballston Center, Room 4088 | Saturday, 26 September 2026, 0900 — 1200 |
| Session 4 — Ballston Center, Room 4088 | Saturday, 03 October 2026, 0900 — 1200 |
Learning Outcomes:
- Configure, generate, build, and run C++ projects with CMake.
- Write clear C++17 code using strong types, functions, references, const-correctness, and standard containers.
- Design classes with appropriate construction, encapsulation, interfaces, and value semantics.
- Apply RAII and smart pointers to manage resources safely.
- Use templates, algorithms, lambdas, exceptions, and selected modern C++ features appropriately.
- Organize multi-target projects with libraries, executables, tests, include paths, and target properties.
- Diagnose compiler, linker, runtime, and test failures using a systematic workflow.
- Deliver a tested, documented, CMake-based capstone project.
Primary References:
| Reference | Link |
| Programming — Principles and Practice Using C++ (3rd Edition) | https://www.stroustrup.com/programming.html |
| C Programming Language, 2nd Edition, Brian W. Kernighan & Dennis M. Ritchie | https://warrenworks.com/wp-content/uploads/2024/02/C_Programming_Language_2nd-Edition.pdf |
| CMake Tutorial | https://cmake.org/cmake/help/latest/guide/tutorial/index.html?utm_source=chatgpt.com |
| Professional CMake: A Practical Guide | https://crascit.com/professional-cmake/?utm_source=chatgpt.com |
| C++ For Artists: The Art, Philosophy, and Science of Object-Oriented Programming | https://pulpfreepress.com/c-for-artists-the-art-philosophy-and-science-of-object-oriented-programming-1st-edition-2/ |
Helpful References:
Required Development Environment:
| Component | Recommended | Notes |
| Compiler | GCC 11+, Clang 14+, or MSVC 2022 | Must support C++17 |
| Build system | CMake 3.20+ | Command line required; IDE integration optional |
| Editor/IDE | VS Code, CLion, or Visual Studio | C++ and CMake extensions encouraged |
| Version control | Git | Used for checkpoints and capstone submissions |
Syllabus:
| Session | Discussion Topics | Activities | Assignments |
| Session 1 |
|
My YouTube Channel: https://www.youtube.com/pulpfreepress Install gcc on MacOS: https://youtu.be/fjJGIP5ic5s?si=pBVjIWiE29EYbBzd Install gcc on Windows: https://youtu.be/a37wNPSWklw?si=k0z_t4XwtFziR2HV Getting Organized: https://youtu.be/MBFbnNliw-w?si=QxRgrgJxcfi_Xoel Hello World!: https://youtu.be/T-xKQgk4Ge8?si=BwgCKYb8A7sIKci9
C++ Programming Boot Camp Repository: https://github.com/pulpfreepress/cpp_bootcamp C Programming Boot Camp Repository:
Development Environment Setup and Configuration
|
| Session 2 |
|
|
| Session 3 |
|
|
| Session 4 |
|
