Topics in Algorithmic Problem Solving

Course ID 15795

Description This course aims to give implementation motivated perspectives on some algorithmic ideas that fall outside of the scopes of typical algorithms courses. It is intended for graduate students, as well as undergraduate students who have high grades in 15-451, and 15-259 or 21-325. 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, and iterative methods. Evaluations will consist of about 30 auto-graded coding tasks, plus either participation in the ICPC NAEast Programming Contest, or presentations of problem-solving reports from various OI team selections.

Key Topics
algorithms

Learning Resources
online problem archives, problem solving blogs

Course Relevance
upper year undergrad / early grad students. Prereqs: 15-451 and one of {15-259, 21-325}.

Course Goals
the space of problem solving topics, and a decision tree for how to approach problems

Pre-required Knowledge
strong mathematical skills, familiarity with fundamental algorithms, good implementation skills

Assessment Structure
60% homework, 10% participation, 30% project

Extra Time Commitments
NAEast is on a weekend in late October, but is optional