Programming for the Puzzled
MIT OpenCourseWare offers this introductory programming course built around algorithmic puzzles rather than abstract syntax drills. Each unit poses a recreational puzzle, such as finding a counterfeit coin or solving a river-crossing problem, then introduces the Python concepts needed to write a program that solves it, covering topics like recursion, dynamic programming, graph search, and basic data structures. The course includes video lectures, code examples, and problem sets that ask students to implement their own solutions in Python. Materials come from MIT's Department of Electrical Engineering and Computer Science and follow the structure of the accompanying textbook by Srini Devadas. No enrollment or certificate is offered; the course is meant for self-study using the published OCW materials, making it a practical entry point for anyone who wants to learn to code by working through puzzles rather than syntax reference alone.