Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Independent

How to Design Programs

via Independent

Overview

Learn the fundamentals of program design through a comprehensive course covering fixed-size data, arbitrarily large data, abstraction, intertwined data, generative recursion, and accumulators. Explore key concepts such as the Beginning Student Language, quoting and unquoting, scope and abstraction, the nature of numbers, and the cost of computation. Begin with a prologue on how to program and conclude with an epilogue on moving forward in your programming journey.

Syllabus

  • Prologue:  How to Program
  • I Fixed-Size Data
    • Intermezzo 1: Beginning Student Language
  • II Arbitrarily Large Data
    • Intermezzo 2: Quote, Unquote
  • III Abstraction
    • Intermezzo 3: Scope and Abstraction
  • IV Intertwined Data
    • Intermezzo 4: The Nature of Numbers
  • V Generative Recursion
    • Intermezzo 5: The Cost of Computation
  • VI Accumulators
    • Epilogue:  Moving On

Taught by

Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi

Reviews

Start your review of How to Design Programs

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.