home
COMP 160-C: Introduction to Algorithms (Summer 2021)
Recommended pace
Notes:
-- You can ask me questions about course topics any time, even before the course officially begins. In fact I recommend that you get some reading / videos done before we begin.
-- If you want feedback via Gradescope, please submit on time. Once Gradescope closes, submissions will not be accepted.
-- It is recommended to leave some days before each exam for general review. Several practice problems will be supplied to keep you occupied on these days.
- Week 1
- May 26 ---
Insertion sort and big-O notation. (Resources: section 2 and 4.1)
- May 27 --- First Meeting on Zoom, at 6pm. Discuss big-O. See Piazza for link.
- May 28 ---
- Week 2
- May 31 --- University holiday
- June 01 --- Homework 1 due.
Analyzing recurrences by substitution and trees. (Resources: 3.1 and 4.2).
- June 02 ---
Recurrences via master method. (Resources: 3.2)
- June 03 --- Meeting. Discuss recurrences.
- June 04 ---
- Week 3
- June 07 --- Homework 2 due.
- June 08 --- Heaps and sorting lower bound. (Resources: 4.3 & 4.4)
- June 09 --- Counting sort and Radix sort.
(Resources: 4.5)
- June 10 --- Meeting. Discuss topics of this week.
- June 11 ---
- June 12 (Saturday) --- Homework 3 due.
- Week 4
- June 14 --- EXAM 1 on topics from first 3 weeks.
- June 15 --- Hashing. (Resources: 5)
- June 16 --- Deterministic Selection. (Resources: 6)
- June 17 --- Meeting. Discuss topics of this week.
- June 18 ---
- Week 5
- June 21 ---
Homework 4 due.
- June 22 ---
Indicator Random variables. (Resources: section 7)
- June 23 ---
Quicksort and Randomized Selection. (Resources: section 8)
- June 24 --- Meeting. Discuss topics of this week.
- June 25 ---
- June 26 (Saturday) --- Homework 5 due.
- Week 6
- Week 7
- July 05 --- University holiday
- July 06 ---
- July 07 --- EXAM 2 on topics from weeks 4-6.
- July 08 --- Meeting. Discuss amortization. (Resources: section 11)
- July 09 ---
- Week 8
- July 12 --- Homework 7 due. Update: extended to July 13
- July 13 ---
Dynamic programming 1. (Resources: section 12, grid problem and LCS)
- July 14 ---
Dynamic programming 2.
(Resources: section 12, LIS and rod-cutting)
- July 15 --- Meeting. Discuss dynamic programming.
- July 16 ---
- Week 9
- Week 10
- July 26 --- EXAM 3 on topics from weeks 7-9.
- July 27 --- Graphs 3: Minimum spanning trees. (Resources: section 14)
- July 28 ---
- July 29 --- Meeting. Discuss MST
- July 30 ---
- Week 11
- August 02 --- Homework 10 due.
- August 03 ---
Graphs 4: Single-source shortest paths. (Resources: section 15)
- August 04 ---
- August 05 --- Meeting. Discuss SSSP.
- August 06 ---
- Week 12
- August 09 --- Homework 11 due.
- August 10 --- P vs NP. (Resources: section 16)
- August 11 ---
- August 12 --- Meeting. Discuss P vs NP.
- August 13 --- EXAM 4 on topics from weeks 10-12. (Minimum emphasis on week 12).