Course Overview

This course begins with a rapid, disciplined overview of C++. Students will learn the effective use of the standard template language, and will pass from there to cover object-oriented features of the language. After mastering language basics, we will go over the language specification in greater detail, covering advanced language features and programming techniques.

Prerequisites

  1. Knowledge of the C Programming Language.
  2. Knowledge of at least one object oriented programming language (e.g., Java or Python).
  3. A willingness to work hard.

Required course materials

For required and recommended texts, check out the Reference Library.

Students should have access to a C++ compiler/runtime environment that supports the 1998 C++ standard.

Instructors

The primary instructor for this course will be Michael Spertus, who has over 30 years experience in C/C++, including having written one of the first commercially available C compilers for the IBM PC, and who is a participant in the 200x C++ standards process. His proposal on garbage collection in C++ has been adapted as a part of that process.

Stuart Kurtz will be the occasional substitute lecturer. Professor Kurtz is chairman of the CS department, and he has been teaching C/C++ courses regularly since the early 80's.