| Week | Day | Topic | Reading |
|---|---|---|---|
| August 24-28 | Mon |
Introduction, course administration
High Level Languages |
Syllabus
Sec. 1-3 of transition guide |
| Wed | Variables and control structures |
Lecture Notes
Sections 4-6 of Transition Guide Chapter 1 of Textbook |
|
| Thurs | Lab 1 | ||
| Fri | File I/O, Classes |
Lecture Notes
Sections 6-7 of Transition Guide |
|
| August 31-September 4 | Mon |
Classes
Value and Reference Variables |
Lecture Notes
Sec. 7 of transition guide Section 1.5 of the textbook |
| Wed | Pointers |
Lecture Notes
Section 1.5 of textbook |
|
| Thurs | Lab 2 | ||
| Fri |
Structs and enums
Larger projects and makefiles |
Lecture Notes
Section 1.6 of the textbook CreditCard.h CreditCard.cpp TestCard.cpp makefile |
|
| September 7-11 | Mon | No class - Labor Day | |
| Wed | Analysis of Algorithms |
Lecture Notes
Chapter 3 |
|
| Thurs | Lab 3 | ||
| Fri |
Templates and Error Handling
Stacks |
Lecture Notes
Chapter 2.3-2.4 |
|
| September 14-18 | Mon | Stacks | Lecture Notes
Array based stack implementation Section 4.2 of text |
| Wed | Queues |
Lecture Notes
Section 4.3 of text |
|
| Thurs | Lab 4 | ||
| Fri |
Queues
Linked lists |
Lecture Notes
Array based queue implementation Chapter 5.3-5.4 |
|
| September 21-25 | Mon | Review Session | |
| Wed | Lab 4 | ||
| Thurs | Exam I | material up through beginning of queues | |
| Fri | Linked Lists |
Lecture Notes
Chapter 4.4.1-4.4.2 |
|
| September 28-October 2 | Mon | Stacks based on linked lists | Lecture Notes
Linked Stack code Section 4.4.2 of text |
| Wed | End of linked stacks
Linked Queues |
Lecture Notes
Linked queue code Section 4.4.2-4.4.3 |
|
| Thurs | No class | (Lab canceled due to illness) | |
| Fri | Double ended queues (deque) | Ch. 4.5 in text | |
| October 5-9 | Mon | No class due to illness | |
| Wed | Lab 5 | ||
| Thurs | Vectors | Ch. 5.1
Our vector class |
|
| Fri | Midterm review | ||
| October 12-16 | Mon |
Aymptotic Analysis
Extendible arrays in Vectors |
Ch. 5.1.3
Lecture Notes |
| Wed | Finish vector code | Ch. 5.1
Our vector class |
|
| Thurs | Lab 6 | ||
| Fri | Lists | Ch. 5.2 | |
| October 19-23 | Mon | No class - fall break | |
| Wed | Lists
Iterators |
Ch. 5.2
Our list class |
|
| Thurs | Lab 7 | ||
| Fri | Finish lists and Iterators | Ch. 5.2
Our (partial!) list class Full pdf of list class |
|
| October 26-30 | Mon | Sorting a list | Chapter 10 of text
Code for sorting |
| Wed | Intro to trees | Ch. 6.1-6.2
Lecture Notes |
|
| Thurs | Lab 8 | ||
| Fri | Tree algorithms | Ch. 6.3 - 6.4
Lecture Notes |
|
| November 2-6 | Mon | Heaps | Chapter 7.3
Lecture Notes Heap.h |
| Wed | Binary Tree code | BinaryTree.h | |
| Thurs | Lab 9 | ||
| Fri | More with binary trees | ||
| November 9-13 | Mon | Binary Search Trees | Chapter 9.1
Lecture Notes |
| Wed | Review Session | ||
| Thurs | Midterm 2 | ||
| Fri | AVL Trees | Capter 9.2
Lecture Notes |
|
| November 16-20 | Mon |
AVL Trees
Treaps |
Chapter 9.2
Lecture Notes Some extra treap notes |
| Wed | Treap code | ||
| Thurs | Hash Tables - part 1 | Lecture Notes | |
| Fri | Hash Tables - part 2 | Lecture Notes | |
| November 23-27 | Mon | Hash Tables part 3 | Lecture Notes + |
| Wed | No class | ||
| Thurs | Happy Thanksgiving! | ||
| Fri | No class | ||
| November 30 - December 4 | Mon |
Intro to last program
Huffman codes |
Lecture Notes + |
| Wed | Huffman codes | Lecture Notes | |
| Thurs | Work day for last program | ||
| Fri |