CS 312 Design and Analysis of Algorithms
Fall 2022
Nazar Khan
Algorithms lie at the heart of Computer Science. The journey from a problem to its algorithmic solution can be messy. It involves two stages:
This course introduces algorithms as a process of crisply understanding problems and designing efficient solutions.
CS 312 is an undergraduate course worth 3 credit hours.
Lectures:
Morning Section: Monday and Wednesday, 9:45 a.m. - 11:15 a.m.
Afternoon Section: Monday and Wednesday, 2:30 p.m. - 4:00 p.m.
Office Hours: Wednesday, 12:00 p.m. - 1:00 p.m.
Grading:
Assignments |
15% |
Quizzes |
10% |
Mid-Term |
35% |
Final |
40% |
Prerequisites
Text
Lectures
# |
Date |
Topics |
Readings |
Miscellaneous |
1 |
October 17 |
|
|
|
2 |
October 19 |
KT 1.1 |
|
|
3 |
October 24 |
KT 1.1 |
|
|
4 |
October 26 |
KT 1.2 |
|
|
5 |
October 31 |
KT 2.1 |
|
|
6 |
November 2 |
KT 2.1 |
|
|
7 |
November 7 |
KT 2.2 |
|
|
8 |
November 9 |
KT 2.3 |
|
|
9 |
November 14 |
KT 2.4 |
|
|
10 |
November 16 |
KT 2.4 |
|
|
11 |
November 21 |
KT 3.1 |
|
|
12 |
November 23 |
KT 3.2 |
|
|
13 |
November 28 |
KT 3.3 |
|
|
14 |
November 30 |
KT 3.3 |
|
|
15 |
December 5 |
KT 4.1 |
|
|
16 |
December 7 |
Greedy Algorithms II: Interval Scheduling Problem |
KT 4.1 |
|
|
December 16 |
Mid-term Examination |
|
|
17 |
December 19 |
KT 4.4 |
|
|
18 |
December 21 |
KT 4.5 |
|
|
19 |
January 9 |
KT 5.1, CLRS 2.3 for Merge Sort |
|
|
20 |
January 11 |
KT 5.2 |
|
|
21 |
January 16 |
KT 5.5 |
|
|
22 |
January 18 |
|
|
|
23 |
January 23 |
Dynamic Programming II: Longest Increasing Subsequence Weighted Interval Scheduling |
|
|
24 |
January 25 |
CLRS 16.4 |
|
|
25 |
January 30 |
|
|
|
26 |
February 1 |
|
|
|
27 |
February 6 |
CLRS Ch. 5 |
|
|
28 |
February 8 |
CLRS Ch. 7 |
|
|
29 |
February 13 |
CLRS Ch. 35 |
|
|
30 |
February 16 |
|
|
|
|
February 23 |
Final Exam |