CS 312 Design and Analysis of Algorithms
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: Monday and Wednesday, 12:15 p.m. - 1:45 p.m.
Office Hours: Monday, 2:30 p.m. - 3:30 p.m.
Google Classroom: https://classroom.google.com/c/NjI4MTY5NTc4NDU0?cjc=am3ri7b
Grading:
Quizzes |
25% |
Mid-Term |
35% |
Final |
40% |
Prerequisites
Text
Lectures
# |
Topics |
Readings |
Miscellaneous |
1 |
|
|
|
2 |
KT 1.1 |
|
|
3 |
KT 1.1 |
|
|
4 |
KT 1.2 |
|
|
5 |
KT 2.1 |
|
|
6 |
KT 2.1 |
|
|
7 |
KT 2.2 |
|
|
8 |
KT 2.3 |
|
|
9 |
KT 2.4 |
|
|
10 |
KT 2.4 |
|
|
11 |
KT 3.1 |
|
|
12 |
KT 3.2 |
|
|
13 |
KT 3.3 |
|
|
14 |
KT 3.3 |
|
|
15 |
KT 4.1 |
|
|
16 |
Greedy Algorithms II: Interval Scheduling Problem |
KT 4.1 |
|
|
Mid-term Examination |
|
|
17 |
KT 4.4 |
|
|
18 |
KT 4.5 |
|
|
19 |
KT 5.1, CLRS 2.3 for Merge Sort |
|
|
20 |
KT 5.2 |
|
|
21 |
KT 5.5 |
|
|
22 |
|
|
|
23 |
Dynamic Programming II: Longest Increasing Subsequence Weighted Interval Scheduling |
|
|
24 |
CLRS 16.4 |
|
|
25 |
|
|
|
26 |
|
|
|
27 |
CLRS Ch. 5 |
|
|
28 |
CLRS Ch. 7 |
|
|
29 |
CLRS Ch. 35 |
|
|
30 |
|
|
|
|
Final Exam |