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