Programming for the Puzzled

A puzzle piece overlaid with Python code on a chess board.

In this course, we use Python to solve a variety of puzzles. Two of the puzzles involve the game of chess. (Image by Brett Paci at MIT OpenCourseWare.)


MIT Course Number


As Taught In

January IAP 2018



Cite This Course

Course Description

Course Features

Course Description

This class builds a bridge between the recreational world of algorithmic puzzles (puzzles that can be solved by algorithms) and the pragmatic world of computer programming, teaching students to program while solving puzzles. Python syntax and semantics required to understand the code are explained as needed for each puzzle.

Related Content

Srini Devadas. 6.S095 Programming for the Puzzled. January IAP 2018. Massachusetts Institute of Technology: MIT OpenCourseWare, License: Creative Commons BY-NC-SA.

For more information about using these materials and the Creative Commons license, see our Terms of Use.