| Dates |
Topics |
Slides/Example Code |
Reading Assignment |
Writen/Programming Assignment |
| 8/27 |
Introduction |
slides,
Coin Change Problem
|
* Basic Sorting
|
lab1
|
| 9/2,9/5 |
Coding Patterns, Recursion |
Patterns
Recursion
in-class practice (recursion)
|
* Intro to Recursion in Python
*
Ch1.Erickson Recursion (1.1-1.3)
|
self-practice problems on pattern
self-practice problems on recursion
written assignment #1
|
| 9/12 |
Python Data Structures |
* slides
* Hashing table,
* Heap & Priority queue
|
|
9/15,9/18,9/22 |
Algorithm Analysis |
slides
Method of Iteration
|
* Chapter 3 (Shaffer) (longer read)
* Chapter 2 (KT) (short read),
* Chapter 2(CLR)
|
Written assignment #2
|
| 9/26, 9/30. 10/3 |
Divide and Conquer |
slides
|
* Ch2.DPV (2.1-2.5, 2.3.1),
* Ch4.CLR
|
hw3
|
|
Quicksort |
QuickSort lecture slides
|
*
QuickSort explained,
* TimSort
* Ch1.DPV (1.1,1.2,1.5) |
|
| 10/6,10/10 (lab class),10/14 |
Backtracking/Recursion: combinatorial problems
|
slides
|
Chapter 2 (Erickson)
|
lab2(lab class instruction)
|
| 10/17 (midterm review), 10/21 (midterm exam) |
Midterm exam |
|
midterm review materials |
lab3
|
| 10/28, 10/31 (No class), 11/4, 11/7, 11/11 |
Dynamic Programming |
slides
Practice
| Dynamic Programming chapter
|
hw4
|
| 11/14,11/18,11/21,11/25 |
Graph: representation, application, traversal |
slides
Slides on STL (iterator, C++ STL)
Maze walking code
|
* Ch3-4.DPV,
* Ch22.1-22.3.CLR
* blog on graph
|
|
| 12/2, 12/5 |
Greedy Algorithms, Random Algorithms |
slides |
|
|
|
Review |
Final review guide 1,
review guide 2
|
|
|
| Dec 19, 1:30-3:30pm, Final Exam |
|
|
|
|