Web Analytics

6.S095: Programming for the Puzzled
#1
MIT 6.S095: Programming for the Puzzled, taught by Prof. Srini Devadas during January IAP 2018, is an introductory programming course that teaches computational thinking through algorithmic puzzles rather than through programming syntax alone. The central idea is to present an intriguing puzzle first, explore unsuccessful approaches, and then reach an “aha!” moment involving an algorithm, data structure, search strategy, or mathematical observation. 

Students then translate that insight into Python code, with the necessary Python concepts introduced only when they are needed. The course has no formal prerequisites beyond a basic familiarity with programming and contains 11 puzzles, accompanied by programming exercises and solution code. 

The puzzles cover a broad range of important computational ideas, including optimization, searching, recursion, combinatorial reasoning, chess/queens problems, Sudoku, tiling, scheduling, sorting, and memory-related techniques. Examples include “You Will All Conform,” “The Best Time to Party,” “Keep Those Queens Apart,” “Tile That Courtyard,” “You Won’t Want to Play Sudoku Again,” and “Memory Serves You Well.

 The course is particularly valuable because it connects mathematical problem solving with programming: instead of learning Python as an isolated technical skill, students learn to recognize structure in a problem, develop an algorithm, and then express that algorithm computationally. It is therefore a very good resource for someone interested in the intersection of mathematics, puzzles, algorithms, and Python programming. 


COURSE
┌────────────────────────────────┐
│  KONSTANTINOS MICHAILIDIS    │
└────────────────────────────────┘
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)