CPS 108 Syllabus, Fall 1996


Reading/Topics
Date Topic Reading
Sept 4 Overview of OO concepts, Design
Intro to C++
Horstmann Chapters 1--3
Riel Chapter 1
Sept 6 Design of grepple
C++ issues, Efficiency considerations
Horstmann Chapters 4--5
Riel Chapter 2
Sept 9 make, profiling, tools
Inheritance
C++, code dissection
Horstmann Chapters 7--8
Riel Chapter 3
Sept 11 make, profiling, tools
Inheritance, Polymorphism
Horstmann Chapter 11
Riel Chapters 4, 5
Sept 13 Design vs Coding, C++
Templates
Horstmann, Chapter 9, 14
Riel Chapter 7
Sept 16 STL: Standard Template Library
C++
Riel Chapter 8
Sept 18 STL, C++ Horstmann Chapter 10
Sept 20 Organization: individual/team Horstmann Chapter 13
Riel Chapter 9 (Appendix B)
Sept 23 Libraries and Frameworks Horstmann Chapter 16
Riel Chapter 10
Sept 25 Libraries and Frameworks
Advanced C++: rtti, exceptions
Horstmann Chapter 18,19
Riel Chapter 11
Sept 27 Advanced C++: rtti, exceptions Horstmann Chapter 15
Sept 29 catch up catch up
October 1 Calendar Program catch up
Oct 3 Calendar Program
Java Introduction
Java Reading TBA
Oct 5 Java TBA TBA

Compiling

You must use g++ 2.7.2 for the projects in this course. This compiler implements exceptions, run-time type identification, and fixes some bugs in 2.6.x. To use this compiler on the acpub system, you'll need to change your path. Add the line below to your .cshrc file to put /afs/acpub/project/cps/bin before /usr/local/bin in your path.
     set path  = (/afs/acpub/project/cps/bin $path)
If you want my bin in your path (for submit to work) you should add /afs/acpub.duke.edu/users8/ola/bin at the end of your path, otherwise you'll need to type ~ola/bin/submit108 to use the submit program.

You'll need to change your path to have access to Java, the ddd debugger, and some other tools --- you must include /afs/acpub/project/cps/bin in your path.

Compiling on CS machines

For the moment, to use g++ 2.7.2 on CS machines, you'll need to put /usr/pkg/gcc-2.7.2/bin before /usr/local/bin in your path. I hope to have a directory of symbolic links set up so that there isn't the need for individual package bins like this.

Emacs

If you don't use emacs, I urge/require you to start. Emacs has built-in support for RCS, debugger support, etc. etc.

Back to CPS 108 home page

Back to Owen Astrachan's home page