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
|
|
|
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
subset.cpp (link:https://tinyurl.com/subset-code)
|
Chapter 2 (Erickson)
|
lab2(lab class instruction)
|
10/17 (midterm review), 10/21 (midterm exam) |
Midterm exam |
|
midterm review materials |
|
|
Dynamic Programming |
slides
Practice
Rod Cutting code
| |
in-class practice
|
|
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
|
|
|
Greedy Algorithms, Random Algorithms |
slides |
|
|
|
Review |
Final review guide 1,
review guide 2
|
|
|
Final Exam |
|
|
|
|