Home Feedback Search Contents




C++ Programming Workshop

Course Description

This hands-on course gives students experience designing and building a substantial, operating object-oriented application. It is in this hands-on course that the concepts of the object-oriented paradigm will be fully understood.

By working within a specific development environment to build a real application, attendees will learn how to convert an object design into working C++ code. They will implement classes, objects, message passing, etc., and they will test their implementation by running the code. They will follow a directed, iterative implementation process that produces successive prototypes giving constant feedback about the design.

Course Objective

The objective of this course is to prepare attendees to fully contribute to the coding and implementation of an object-oriented system written in C++. Upon completion of this course attendees will be able to:

Map an object-oriented design into C++ code that adheres to best current programming practices.
Identify and quickly debug the most common errors committed by novice C++ programmers. 
Explain in detail the rationale behind the design and implementation of the application they have programmed. 
Add enhancements or make modifications to existing systems. 


This course is primarily directed toward programmers. In addition, designers and testers would benefit from this material.


Students entering this course will already have a conceptual understanding of object-oriented analysis and design from Object-Oriented Analysis and Design Concepts or its equivalent, plus some experience programming in C++.

 Course Duration

The C++ Programming Workshop is a five day course.

Course Outline

  1. Video Game Specification 
  2. Students will be given a brief requirements document as well as the executable of the video game. Students will play the game on the computer for a few minutes to gain familiarity with the system they will be creating. 
  3. Libraries and Design Heuristics 
  4. Students will be presented with the basic design of the system and will discuss the object-oriented design idioms, libraries and patterns to be used. A set of design heuristics will also be discussed. 
  5. Coding Standards and Selected Class Definitions
  6. Given a set of header files, students will code, test and debug the implementation of several specified classes needed for the game. Their source code will be checked against a set of coding standards. 
  7. Source Code and Implementation Issues
  8. Students will be given correct source code for a skeletal implementation of the system. Students will work on completing the implementation of the game as specified. Hands-on coding is interspersed with discussions on design issues and coding details that arise as a part of the implementation. 
  9. Enhancements 
  10. Students will suggest various enhancements. The class will discuss how the game framework could be extended to accommodate these enhancements. Each student will design and implement an enhancement. 
  11. Summary

Copyright © 2014 Korson-McGregor.  All rights reserved.