Topics of Algorithmic Problem Solving Course ID 15495 Description This course aims to give implementation motivated perspectives on some algorithmic ideas that fall outside of the scopes of most courses. It is intended for graduate students, as well as undergraduate students who have high grades in 15-210, 15-251, 15-259 (and preferably 15-451). Evaluation will consist of about 30 auto-graded coding tasks, plus either participation in the East Central NA ICPC Regional Contest, or presentations of problem-solving reports from the Chinese IOI Team Selection Camp. The first half of the course will discuss floating point precision, numerical approximation schemes, heuristic search, usage of optimization packages, and vectorization. The second half will provide high-level surveys of 2-D range update & query data structures, proactive propagation, palindromic automata, automated recurrence finding, and maximum adjacency search. Key Topics Foating point precision, heuristic search, string algorithms Learning Resources online problem archives, problem solving blogs Course Relevance This course address many issues that arise in implementations of algorithms that are often not covered in more theoretical treatments of the topics. It will also cover less known variations of many standard topics. Course Goals Students will gain better understanding of general ideas that improve the stability, robustness, average-case performance, and code-complexity of algorithms. Pre-required Knowledge Asymptotic complexity, discrete math, familiarity with C++ Assessment Structure 70% homework, 30% project Extra Time Commitments Yes, there is an optional trip to the East Central ICPC Regional at Saturday towards the end of October that can count toward course credit.