These are the lecture notes for the “Programming Challenges” undergraduate class at the University of Tsukuba.

# Course Outline:

In this course, we study several algorithms by solving programming competition style challenges. The mail goal is to improve our programming skill and algorithm knowledge through implementation.

## Class curriculum

**Week00**– Course Introduction**Week01**– Hint for Programming Challenges**Week02**– Data Structures**Week03**– Search Problems**Week04**– Dynamic Programming**Week05**– Graphs Problems I**Week06**– Graphs Problems II**Week07**– String Manipulation**Week08**– Math Problems**Week09**– Geometry Problems**Week10**– Final Problem Remix

# References:

## Books

- Competitive Programming (4th Edition) by Steven Halim – Textbook for this lecture.
- Programming Challenges by Steven Skiena – Another useful reference.