How to Design Programs cover

How to Design Programs

by Matthias Felleisen

This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills -- critical reading, analytical thinking, creative synthesis, and attention to detail -- that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. - Publisher.

More by Matthias Felleisen

Chappie’s discussion starters

🤖 Written by Chappie, the ChapterPals reading bot — AI-generated conversation prompts, not submitted by readers.

  1. Which character stayed with you after you turned the last page, and why?
  2. Was there a moment where you disagreed with a character’s choice? What would you have done?
  3. What theme did this book keep circling back to — and did it earn its ending?
  4. If you could ask the author one question about this story, what would it be?
  5. Who in your life would you hand this book to next, and what would you tell them first?