Programming for the Puzzled: Learn to Program While Solving Puzzles

Authors: Devadas, Srini
Publisher: MIT Press
BISAC/Subject: COM051000, COM014000
ISBN: 9780262343190, Related ISBNs: 0262343193, 0262534304, 9780262343190, 9780262534307
Classification: Non-Fiction
Number of pages: 272,
Audience: General/trade
Synopsis: Learning programming with one of “the coolest applications around”: algorithmic puzzles ranging from scheduling selfie time to verifying the six degrees of separation hypothesis.

This book 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 readers to program while solving puzzles. Few introductory students want to program for programming's sake. Puzzles are real-world applications that are attention grabbing, intriguing, and easy to describe.

Each lesson starts with the description of a puzzle. After a failed attempt or two at solving the puzzle, the reader arrives at an Aha! moment—a search strategy, data structure, or mathematical fact—and the solution presents itself. The solution to the puzzle becomes the specification of the code to be written. Readers will thus know what the code is supposed to do before seeing the code itself. This represents a pedagogical philosophy that decouples understanding the functionality of the code from understanding programming language syntax and semantics. Python syntax and semantics required to understand the code are explained as needed for each puzzle.

Readers need only the rudimentary grasp of programming concepts that can be obtained from introductory or AP computer science classes in high school. The book includes more than twenty puzzles and more than seventy programming exercises that vary in difficulty. Many of the puzzles are well known and have appeared in publications and on websites in many variations. They range from scheduling selfie time with celebrities to solving Sudoku problems in seconds to verifying the six degrees of separation hypothesis. The code for selected puzzle solutions is downloadable from the book's website; the code for all puzzle solutions is available to instructors.

Sign up for our literacy platform for reading at home

LightSail includes up to 6,000 high interest, Lexile aligned book titles with every student subscription. Other titles are available for individual purchase.

Watch the power of

Lightsail in action

×

SUPPORT GROWING READERS

Immediately Engage Students
Immediately Engage Students
Simple intuitive design has classrooms reading within minutes.
Exponentially Grow Reading Time
Exponentially Grow Reading Time
Students love the LightSail experience and naturally spend more time reading.
Accelerate Literacy Development
Accelerate Literacy Development
Students reading 25 minutes a day on LightSail are seeing 2+ years of Lexile growth in a single year.

LightSail Education is a comprehensive Lexile and standards-aligned, literacy platform and digital e-book library. Including multimodal learning functionality and featuring books from leading publishers, LightSail holistically assesses and nurtures each student on their reading and writing-to-learn journey, throughout elementary, middle, and high school.

*LightSail offers a 2,000 or a 6,000 title bundle with its student subscriptions. Other titles are available for individual purchase.