This is a seminar course about how data structures and algorithms are used in solving programming problems from online coding platforms and programming contests. To register for the course, you should have already learned some basic data structures and the fundamentals of algorithm design such as asymptotical notations, meta algorithm design paradigms such as greedy algorithms, divide-and-conquer and dynamic programming. Though the instructor will give a quick recap of the main techniques that will be used, the seminar has the main form of student presentations on solving programming problems. This course provides an opportunity to enhance your understanding of the algorithm design techniques learned in the algorithm course.
See introduction for more information about the course.
Please sign up on Piazza to take the course.