How to Design Programs
Offered By: Independent
Course Description
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
Related Courses
Computer Vision: The FundamentalsUniversity of California, Berkeley via Coursera Programming Languages
University of Virginia via Udacity Learn to Program: Crafting Quality Code
University of Toronto via Coursera Computational Photography
Georgia Institute of Technology via Coursera Algorithms: Design and Analysis, Part 2
Stanford University via Coursera