The schedule below represents my current best estimate concerning due dates (and everything else). I am providing this information to give you a general idea of the pace and timing of the class. This schedule will certainly change as the semester progresses.
Unless otherwise noted, all readings are from Data Structures and Algorithms in Python, by Goodrich et. al.
WEEK | DATE | TOPIC | READING | OUT | IN |
1 | 08-25 | Intro/Syllabus (.pdf) | |||
08-27 | Turtle Exercises (ISAT/CS248) | 1.1-1.5.1 | |||
08-29 | Lists and Strings (ISAT/CS248) List and String Activity |
Python Tutorial 3.1.2, 3.1.3 Python Tutorial 5.1.0 |
HW1 | ||
2 | 09-01 | Modules Dictionaries PA1 Warm-Up (ISAT/CS248) |
1.11 Python Tutorial 5.5 |
PA1 | |
09-03 | Software Design Object Oriented Python buildings.py |
2.1-2.3.2 2.4, 2.6 |
|||
09-05 | OO Python Lab (ISAT/CS248) | 2.1-2.3.2 2.4, 2.6 | HW1 | ||
3 | 09-08 | Exception Lab (ISAT/CS248) | 1.7 | ||
09-10 | Algorithm Analysis | 3-3.3.2 | |||
09-12 | Algorithm Analysis | 3.3.3-3.4.2 | hw2.pdf hw2.tex |
||
4 | 09-15 | Unit Testing Lab (IN ISAT/CS 248) |
2.2.4 Testing Tutorial |
||
09-17 | Dynamic Arrays (.pdf) | 5.1-5.3.3 | PA1 | ||
09-19 | Dynamic Array Analysis (.pdf) | 5.4 | HW2 | ||
5 | 09-22 | Midterm Review | PA2 | ||
09-24 | MIDTERM #1 | ||||
09-26 | Stacks (.pdf) | 6.1 | |||
6 | 09-29 | Queues (.pdf) for_loop.py iterator.py generator.py |
1.8, 2.3.4, 6.2 | ||
10-01 | Stack/Queue Lab | ||||
10-03 | Singly Linked Lists (.pdf) linked_stack.py linked_queue.py |
7.1 | |||
7 | 10-06 | Linked List Lab | HW3 | ||
10-08 | More linked Lists | 7.2, 7.3, 7.7 | PA2 | ||
10-10 | Linked Lists | PA3 | |||
8 | 10-13 | Tracing Recursion (.pdf) recursion_examples.py |
4.1, 4.3 - 4.5 | HW3 | |
10-15 | Start Recurrences (.pdf) | 4.2 (skim) Concise Notes, CH 14 cn_recurrences.py |
|||
10-17 | Recurrences (.pdf) | HW4.pdf HW4.tex |
|||
9 | 10-20 | Tail Recursion Introduce Sorting |
4.6 Concise Notes, CH 13 (Through Selection Sort) simple_sorts.py |
||
10-22 | Insertion Sort Merge Sort (.pdf) merge_array.py |
Concise Notes, CH 13 (Through Insertion Sort) simple_sorts.py Goodrich: 12.1-12.2 |
|||
10-24 | Quick Sort quick_array.py |
12.3 | PA3 | ||
10 | 10-27 | Sort Visualizations sort_table.pdf |
12.4-12.5 | PA4 | HW4 |
10-29 | Midterm Review | ||||
10-31 | MIDTERM #2 | ||||
11 | 11-03 | Introduction to Trees tree.py draw_tree.py |
8.1-8.3.1, 8.3.3-8.4.4 |
||
11-05 | Tree Activity | ||||
11-07 | Priority Queues + Heaps priority_queue_base.py heap_priority_queue.py |
8.3.2, 9.1-9.3.5 | HW5 | ||
12 | 11-10 | Heap Sort | 9.3.6-9.4.2 | ||
11-12 | Maps + Search Trees | 10.1, 11.1 | PA4 | ||
11-14 | AVL Trees | 11.2-11.3 | PA5 | ||
13 | 11-17 | Start Hashing | 10.2 | HW5 | |
11-19 | Hashing (.pdf) Hashing Lab |
HW6 (.pdf) | |||
11-21 | Continue Hashing Lab | ||||
14 | 11-24 | THANKSGIVING WEEK | |||
11-26 | THANKSGIVING WEEK | ||||
11-28 | THANKSGIVING WEEK | ||||
15 | 12-01 | Application Lab | |||
12-03 | TBD | HW6 | |||
12-05 | Exam Review | PA5 | |||
16 | 12-08 | Section 2 Final: 8:00-10:00 | |||
12-12 | Section 1 Final: 8:00-10:00 |