All Computer Science is based on the concept of an efficient algorithm: as opposed to a program or a heuristic. We thus call these 'virtues' and features distinguishing CS (=Science) from EE (=Engineering):
Building on undergraduate CS300 (Introduction to Algorithms), the graduate-level course CS500 revolves around
advanced aspects of algorithms.
More specifically we discuss, design, and analyze algorithms with respect to various cost measures beyond traditional (=sequential) runtime,
such as
And we discuss, design, and analyze algorithms in various modes beyond the traditional worst-case, such as
The practical impact of these algorithms is demonstrated in selected implementations.
Lecturer: Martin Ziegler (use only this email address!)
Classroom: E11 #304
Schedule: Tue+Thu 16h00~17h30pm KST
Language: English only
Teaching Assistants: 현지훈+김소민+송민우 (use only this email address!)
Homework: Handwritten individual solutions (English only) and programming assignments in ELICE.
Grading: 20% attendance, 20% quizzes/participation, 20% homework, 20% midterm, 20% final exam
Using this mix gives everyone the chance of passing with sufficient grade…
Midterm: April 15, 16h~18h45, E11 #304
Final Exam: June 10, 16h~18h45, E11 #304
Prerequisites: CS204 (Discrete Mathematics), CS300 (Introduction to Algorithms)
Policies: Joining class no later than 10 minutes counts as full attendance,
no later than 30 minutes still counts as half attendance,
later than 30 minutes counts as unexcused absence.
Excused absence must be confirmed by the student's academic advisor via email.
0. Summary (PPT, PDF)
1. Introduction (PPT, PDF)
9. parallel Time (PPT, PDF)
10. Memory (PPT, PDF)
11. Bonus: Quantum Computing (PPT, PDF)
5. Randomized/Expected Analysis (PPT, PDF)
3. Average-Case Analysis (PPT, PDF)
2. Tree Data Structures (PPT, PDF)
4. Amortized Analysis (PPT, PDF)
6. Online/Competitive Analysis (PPT, PDF)
7. P/NP Intermission (PPT, PDF)
8. Approximation (PPT, PDF)