Course Description

This course begins with an intensive introduction to C++ and then covers all the materials in CS 112. You will learn advanced programming techniques involving dynamic memory allocation, pointers, linked lists, stacks, recursion, trees, and some searching and sorting. All of this will be embedded into the highly-disciplined structure provided by the object-oriented programming language C++.


This course is designed for students who already program proficiently in PASCAL, C, FORTRAN, or some other high-level programming language. Note: If you do not have such previous exposure to programming, then you are strongly encouraged to transfer to CS 111.

You are expected to be familiar with UNIX and EMACS. Some help will be available in the section, but if you have not used UNIX or EMACS before, then you should attend the appropriate tutorials provided by B.U. Office of Information Technology:

Work Load

Heavy, fast, challenging, and rewarding. This is an intensive course that covers the topics of CS 111 and CS 112 in one semester.


TR 11-12:30, in Room SAR 102


A2 R 5-6pm
A3 F 10-11am
A4 M 11-12
A5 M 8-9pm

Lab section meetings convene in the CS computer instruction lab (ENA 304). The main undergrad computer science lab and instruction lab are located above Radio Shack.

Note: Completion of lab programming exercises contributes towards your final grade.


Midterm: Thursday Oct. 19 (tentative), in class

Final: Friday, Dec. 15, 9-11am


Gene Itkis,
Office Hours: Tue 12:30-3; Thur 12:30-1
Office Phone: 353-5285

Teaching Fellow

Rob Pitts,
Office Hours: Mon 3-5PM, Thu 3-4PM (both in ENA 302)
Office Phone: 353-1498

Required Texts

  1. C. Horstmann, Computing Concepts with C++ Essentials, 2nd Edition, Wiley 1998, ISBN 0-471-31847-7.
  2. M. Main and W. Savitch, Data Structures and Other Objects Using C++, Addison-Wesley 1997, ISBN 0-8053-7470-1.

Supplemental Text (optional)

  1. S. B. Lippman and J. Lajoie, C++ Primer, 3rd Edition, Addison-Wesley 1998, ISBN 0-201-82470-1.