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
- Knowledge of the C Programming Language.
- Knowledge of at least one object oriented programming language (e.g., Java or Python).
- 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.