YoVDO

How to Design Programs

Offered By: Independent

Tags

Programming Courses

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 Fundamentals
University 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