In general you can't read books about programming and computer science the same way you read novels or non-fiction books on politicial science, for example. You have to study what you're reading and ask yourself questions about the reading to ensure you get some understanding. You probably won't understand everything when you first read it.
For readings Astrachan is A Computer Science Tapestry by Astrachan and Sedgwick is Algorithms in C++ by Sedgewick.
| Monday | Wednesday | Friday |
|---|---|---|
| | 1/10 Overview, review, classes, C++, vectors
notes for viewing
Astrachan, pp 277-335 | 1/12 Operators, function objects, algorithms
Astrachan, pp 543-549 |
| 1/15 Martin Luther King Day | 1/17 C++, compiling Astrachan pp 571-581 | 1/19 Pointers
Astrachan pp 582-595 |
| 1/22 Pointers/Sharing | 1/24 Drop/Add over Linked Lists
notes for viewing Astrachan, pp. 595-610 | 1/26 Linked Lists, recursion Sedgewick, pp. 207-209 Quiz |
| 1/29 Linked Lists
Astrachan, pp 535-539 | 1/31 Linked Lists, toward big-Oh Astrachan, pp 556-559 | 2/2 Linked List Ketchup Quiz |
| 2/5 Introduction to multiset, interfaces, towards inheritance
notes for viewing | 2/7 Inheritance
Astrachan, pp 641-654
inheritance code | 2/9 Algorithm Analysis, Big-Oh
Sedgewick, pp 27-42
Astrachan, pp 556-559 |
| 2/12 Big-Oh, Search trees
notes for viewing | 2/14 Trees continued, implementation and analysis
inclass questions Multiset part 2 out | 2/16 More tree examples
Sedgewick pp 515-524 |
| 2/19 Test 1 | 2/21 Trees and recurrences | 2/23 Stacks/Queues notes for viewing Sedgewick p 129-158 Multiset part 2 due morning |
| 2/26 Queues, level order traversal | 2/28 Maps: interface and implementation
notes for viewing | 3/2 Maps: hashing, efficiency, inheritance
Sedgewick pp 587-607 Quiz |
| 3/5 Hashing: alternative implementations
Sedgewick pp 608-622 | 3/7 Backtracking, Heuristics, Cryptograms
Make-up Quiz | 3/9 Backtracking, Minimax, Gameplaying
|
| 3/12 Spring Break | 3/14 Spring Break | 3/16 Spring Break |
| 3/19 Priority Queues, Heaps, Huffman Coding
notes for viewing | 3/21 Heaps, Huffman Coding
Sedgewick pp 381-389
| 3/23 Tries, Monkeys, Typewriters, Catch up
|
| 3/26 Sorting: theory and practice
in class questions | 3/28 Sorting continued
| 3/30 Sorting finished Quiz RSG due |
| 4/2 Balanced Trees (AVL/Red-Black) notes for viewing
| 4/4 Game Trees | 4/6 Huff Coding/Design |
| 4/9 Catch up | 4/11 Test 2 | 4/13 Graphs: vocabulary and algorithms notes for viewing Sedgewick pp 121-124, 255-262 |
| 4/16 Programming Graphs
| 4/18 Graph Algorithms | 4/20 Catch up Quiz |
| 4/23 NP-Completeness and Computability
notes for viewing | 4/25 Last Day of Class | 4/27 |
| 4/30 | 5/2 Final Exam, 9-12 noon | 5/4 |