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 | ||