CPS 100 Syllabus

The reading should be done for the class it's listed after. This will make for a better classroom dialog.

Reading/Topics
Date Topic Reading
Jan 12 Overview, linked lists
Jan 15
Jan 17
Jan 19
Classes, Linked lists
overloaded operators
templates, stacks
Chapters 1,2
Chapter 2
Chapter 3, 6.1,6.2
Jan 22
Jan 24
Jan 26
Queues, Recursion
Recursion, Lists
Expressions, Parsing
Chapter 15,16
Chapter 7
Chapter 11
Jan 29
Jan 31
Feb 2
Big-Oh, Analysis
Sorting
Applications
Chapter 5
Chapter 8
catch up
Feb 5
Feb 7
Feb 9
Trees, Searching
Trees, Big-Oh
Review
Chapter 6.5,6.6,
Chapter 17, 18.1, 18.2, 18.3
catch up
Feb 12
Feb 14
Feb 16
Test 1
Trees
Applications

Chapter 18.7
other B-tree info
Feb 19
Feb 21
Feb 23
Btrees
Tables, Hashing
Searching
Chapter 6.7, 19
Chapter 19
catchup
Feb 26
Feb 28
Mar 1
C++ details
Applications
Inheritance

Chapter 4
Mar 4
Mar 6
Mar 8
Priority Queues
Priority Queues
Huffman Coding
Chapter 20
Chapter 20
Chapter 12
spring break relax a novel
Mar 18
Mar 20
Mar 22
Huffman Coding
Makefiles
C++ details
catch up
Mar 25
Mar 27
Mar 29
Graphs
Graph Algorithms
Applications
Chapter 14.1, 14.2
Chapter 14
catch up
Apr 1
Apr 3
Apr 5
review
Test 2
Graphs
catch up
Apr 8
Apr 10
Apr 12
C vs C++
Coding Practices
Design
outside reading
Apr 15
Apr 17
Apr 19
Computational Geometry
Theory and Practice
catch up
outside reading
Apr 22
Apr 24
catch up
all questions answered
catchup


Compiling

You must use g++ 2.7.x for the programs 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/submit100 to use the submit program.

Compiling on CS machines

For the moment, to use g++ 2.7.x 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 100 home page

Back to Owen Astrachan's home page