C++ Programming Workshop
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.
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:
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++.
The C++ Programming Workshop is a five day course.
- Video Game Specification
- 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.
- Libraries and Design Heuristics
- 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.
- Coding Standards and Selected Class Definitions
- 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.
- Source Code and Implementation Issues
- 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.
- 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.