Following is a tentative schedule of topics for this course:
| Date | Topic | Reading | Work Due |
|
|---|---|---|---|---|
| Mon Aug 21 | Course Overview; Introduction; C language [Code] | (will cover: GF 1.1; KR Ch. 1) | ||
| Tue Aug 22 | C Langauge |
Lab 1: C programming | KR Ch. 1; Unix Programming Tools (Stanford CS Education Library #107) |
|
| Wed Aug 23 | C Programming [Code] | KR Ch. 2 | ||
| Fri Aug 25 | C Programming | KR Ch. 3 | Quiz on KR Ch. 2 and 3 (due Saturday, 10pm) | |
| Mon Aug 28 | C Programming | KR Ch. 4 | ||
| Tue Aug 29 | Lab 2: C programming | KR 5.1 - 5.10 Pointers and Memory, Pointer Basics (Stanford CS Education Library #102, 106) |
||
| Wed Aug 30 | C Programming | KR 6.1 - 6.4 | ||
| Fri Sep 1 | Abstract Data Types (ADTs) | GF 1.2 - 1.4 | ||
| Mon Sep 4 | Introduction to Data Structures |
No class - Labor Day | ||
| Tue Sep 5 | Lab 3: C programming
Completed files: node.h, node.c, nodetest.c |
KR Ch. 6 and 7 | ||
| Wed Sep 6 | ADTs (cont.) | GF 1.5 | ||
| Fri Sep 8 | Algorithm efficiency | GF 1.6 | ||
| Mon Sep 11 | Algorithm efficiency | GF 1.6 | ||
| Tue Sep 12 | Lab 4: C programming | |||
| Wed Sep 13 | Recursion | Recursion | GF 2.1 - 2.2 | Quiz on GF Ch. 1 (due 10pm) |
| Fri Sep 15 | Recursion (cont.) | GF 2.3 | ||
| Mon Sep 18 | Recursion (cont.) | GF 2.3 | ||
| Tue Sep 19 | Lab 5: Recursion | |||
| Wed Sep 20 | Review/catch up | Programming Project #1: Beta version | ||
| Fri Sep 22 | Exam 1 | |||
| Mon Sep 25 | Stacks | Stacks | GF 3.1 - 3.2 | |
| Tue Sep 26 | Lab 6: Stacks Exercises | |||
| Wed Sep 27 | Stack ADT |
GF 3.3 - 3.4 | ||
| Fri Sep 29 | Stack applications | GF 3.5 | ||
| Mon Oct 2 | Stack applications |
GF 3.5 | ||
| Tue Oct 3 | Queues | Lab 7: Queues | ||
| Wed Oct 4 | Queues | GF 4.1 - 4.2 | ||
| Fri Oct 6 | Queue ADT | GF 4.3 | ||
| Mon Oct 9 | Queue applications | GF 4.4 - 4.5 | ||
| Tue Oct 10: | Linked Lists |
Lab 8: Linked lists | ||
| Wed Oct 11 | General linked lists | GF 5.1 - 5.3 | ||
| Fri Oct 13 | Linked lists | GF 5.4 - 5.5 | ||
| Mon Oct 16 | No class - Fall Weekend | |||
| Tue Oct 17 | ||||
| Wed Oct 18 | Review/catch up/C programming | |||
| Fri Oct 20 | Trees - introduction | GF 6.1, 6.2 | ||
| Mon Oct 23 | Trees | Binary trees | GF 6.2, 6.3 | |
| Tue Oct 24 | Lab 9: Trees | |||
| Wed Oct 25 | Huffman code | GF 6.2 | ||
| Fri Oct 27 | Binary search trees | GF 7.1, 7.2 | ||
| Mon Oct 30 | BST ADT | GF 7.2, 7.3 | ||
| Tue Oct 31 | Lab 10: BSTs | |||
| Wed Nov 1 | BST applications | GF 7.4 | ||
| Fri Nov 3 | Heaps | Heaps | GF 9.1, 9.2 | |
| Mon Nov 6 | Heap implementation, ADT | GF 9.2, 9.3 | ||
| Tue Nov 7 | Lab 11: Heaps | |||
| Wed Nov 8 | Priority queues | GF 9.4 | ||
| Fri Nov 10 | Exam 2 | |||
| Mon Nov 13 | Graphs | Graphs | GF 11.1 - 11.3 | |
| Tue Nov 14 | Graphs lab | |||
| Wed Nov 15 | More graphs | |||
| Fri Nov 17 | Sorting and... |
Selection sort | GF 12.1, 12.2 | |
| Mon Nov 20 | Insertion sort | GF 12.3 | ||
| Tue Nov 21 | Lab 12: Sorting | |||
| Wed Nov 22 | No class - Thanksgiving | |||
| Fri Nov 24 | ||||
| Mon Nov 27 | ... Searching |
Exchange sort | GF 12.4 | |
| Tue Nov 28 | Lab 13: Sorting | |||
| Wed Nov 29 | Quick sort/external sorts | GF 12.4, 12.5 | ||
| Fri Dec 1 | Searching | GF 12.2, 13.1 | ||
| Mon Dec 4 | Hashing | Hashing | GF 13.3 | |
| Tue Dec 5 | Lab 14: Hashing | |||
| Wed Dec 6 (Last class) |
Hashing (cont) | GF 13.4 | ||