TOC PREV NEXT

Introduction


In CS 9F, you learn to program in C++. You are assumed to have had sufficient previous programming experience in a high-level language like Java, Fortran, Pascal, or Scheme. CS 3 or 3S or IDS 110 probably does not provide sufficient experience for this course; we recommend that you take CS 9B to acquire more experience.

Course material consists of quizzes, which test your knowledge of language and low-level conceptual details, and programming assignments, which exercise your overall command of the language. This volume supplies a framework for the course. It contains the following:

Study modules. Each module focuses on a particular programming topic.It provides references to textbook material describing the topic, and suggests exercises for self-study. The study modules reference the following texts.

Programming assignments. Each one has a header page (this tells you the title and related topics) that is followed by the actual assignment

Sample quiz questions, with solutions. These help you prepare for the quizzes.

Comments on the textbooks and readings

Astrachan's book is required. It's a great book, with clever examples and clear explanations. It also contains short digressions into computer science.

Both the Mercer book and the Cohoon and Davidson book are useful secondary references. Mercer seems to be aiming at a somewhat less sophisticated audience than Astrachan; Cohoon and Davidson will be useful for more experienced programmers. All three books cover object-oriented design techniques and heuristics as well as details of C++.

C++ is a superset of C. In CS 9F, we mostly focus on aspects of C++ unique to the language, and indeed forbid use of some remnants of C. Should you wish to learn more about C as well as C++, however, the Cohoon and Davidson text is the most "C-oriented" of the three course texts.

For those of you using a UNIX programming environment, there are several auxiliary documents accessible online from the Self-Paced course web site:

an introduction to UNIX titled "Before you begin ..."
manual pages for the gcc compiler and the gdb debugger;
a reference for the emacs editor;
a document on using the make program.

TOC PREV NEXT