Design and Analysis of Computer Algorithms

Spring 2018, lectured by Prof. H. Choo

This is a fundamental and important course for undergraduate students with prior knowledge of C and Data Structures. This course provides significant basic concepts of computer science and engineering, the philosophy behind the theory, and actual applications to real world. During the course students can learn the design of advanced data structures, the techniques for designing and analyzing the efficiency of algorithms, the methods of obtaining efficient algorithms. The main purpose of this course is to introduce key algorithms which are essential for solving computer oriented problems, and techniques for easier creation of other efficient algorithms. We cover advanced techniques behind data structures for analyzing upper and lower bounds for many essential algorithms in this area. Problems discussed during the semester include sorting, searching, advanced data structures, dynamic programming, divide-and-conquer method, greedy methods, graph algorithms, and maximum flow problem.

Office Information

Office: Engineering II (27304) / Phone: (031)290-7145
Office hour: TBA
Teaching assistant: Thien-Binh TB Dang (26317, )


Introduction to Algorithms, 3rd Edition
by T.H.Cormen, C.E. Leiserson,
R.L. Rivest, MIT Press, 2009



1. Mistakes on programming problem of HW#1:
+ Some students use wrong names for the source file which is mentioned clearly in the problem sheet (shopping.cpp)
+ Do not specify the explicit path when reading from input file or writing to output file. You just need to specify the name so your program will read or write from the same directory with the program:
    Ex: fp = fopen(“C:\\ABC\\”); //Not good
          fp = fopen(“”); //Good
+ Do not submit any executable file. We do not want to be infected by computer viruses!!!
2. No class on Monday (March 26th, 2018) and Wednesday (March 28th, 2018). Substituted classes will be on May 7th and June 6th
3. The midterm #1 will be held at rooms 26310 and 26311 on Monday, April 13th, 2018 (10:25 – 11:55). The student list for each room is in the link below. Please check.
Student list for each room
4. SDN/NFV FORUM | ONK 2018 event from April 23th to April 24. Check the link below for more information:
5. The class on next Monday (May 7th, 2018) will be started at 10 AM.
6. The room assignment for programming exam 2018 is at the link below:
Room Assignment
– Examination time: 13:30 ~ 16:30, Saturday, May 19, 2018
7. Problem solving lecture for Programming Exam
– Time: 13:30, Saturday May 26, 2018
– Room: 26310
– This is the optional lecture for students who want to know the solutions and test cases for programming problems.
8. Room assignment for Final Exam
– 8:55 ~10:25, Wednesday, June 20, 2018
– Room: 26310, 26106
Room assignment