CSC 495: Competitive Programming
Course Description
In this course, students will introduce students to implement data structures, algorithms, and programming techniques to solve challenging computation problems. We will learn about fundamental algorithmic solving techniques including complete search, divide/reduce/transform and conquer, greedy, dynamic programming, etc. We will also briefly touch on domain specific techniques like graph, string processing, and computational geometry. The course will prepare students to participate in regional, national, and hopefully international programming competitions and also to get ready for technical interviews at top ranking companies.