Suggested preparation: Some programming experience and comfort with abstraction.
Optional preparation: Free MIT Course: Python Programming and Computer Science for Beginners.
About this course
Explore the design of computer programs using Scheme and Lisp ideas. The lecture sequence develops abstraction, interpreters, streams and ways to manage computational complexity; repeated uploads are omitted.
Topics and lesson examples
- Lecture 1B: Procedures and Processes; Substitution Model
- Lecture 5A: Assignment, State, and Side-effects
- Lecture 6B: Streams, Part 2
- Lecture 7B: Metacircular Evaluator, Part 2
- Lecture 8B: Logic Programming, Part 2
Course at a glance
| Provider | MIT |
|---|---|
| Platform | YouTube · MIT OpenCourseWare |
| Access | Free Video |
| Level | Intermediate — WikiFree study-level assessment |
| Language | English |
| Available lessons | 20 |
| Video duration | 21h 47m · self-paced |
| Details checked | 10 October 2026 |
Preparation and study approach
Suggested preparation: Some programming experience and comfort with abstraction.
Follow the available videos in sequence, pausing to summarize the main argument or reconstruct a worked example. Keep a short list of assumptions, unfamiliar terms and questions to revisit. Additional reading, problem solving and practice will take time beyond the listed video duration.
Using this video classroom
Select a lesson from the list, or search for a topic. Previous and Next move through the sequence. You can mark lessons complete; progress is stored in this browser without a WikiFree account.
Free access and course scope
The public MIT OpenCourseWare videos in this classroom are free to watch. This listing provides the available playlist recordings, which may include selected lectures, recitations, demonstrations or supporting discussions rather than every component of the original campus course. Textbooks, equipment, software licenses, supervised labs, graded assignments and instructor feedback are not supplied by WikiFree. No purchase is required to watch the videos or use the note-based study approach above.
WikiFree independently organizes these resources for self-paced study. Watching does not award an MIT certificate, academic credit or admission to MIT.
This classroom retains one version of each selected lecture; 20 repeated playlist entries are omitted.
Video provider and credit: MIT OpenCourseWare on YouTube. WikiFree titles, descriptions and cover artwork are independently prepared.
Related courses for your next step
- Review a lower-level optionFree MIT Course: Python Programming and Computer Science for Beginners
Focus: Lecture 2: Strings, Input/Output, and Branching · Lecture 4: Loops over Strings, Guess-and-Check, and Binary
Beginner - Review a lower-level optionCS50 Introduction to Computer Science
Focus: Computational thinking · C programming
Beginner - Review a lower-level optionIntroduction to Computer Science with Python: Free Course
Focus: Python fundamentals · Program tracing
Beginner
Compare course focus, level and study time
| Course | Level | Focus | Study time |
|---|---|---|---|
| This course — Free MIT Course: Computer Program Design with Scheme | Intermediate | Lecture 1B: Procedures and Processes; Substitution Model · Lecture 5A: Assignment, State, and Side-effects · Lecture 6B: Streams, Part 2 | 21h 47m of video; practice time is additional |
| Free MIT Course: Python Programming and Computer Science for Beginners | Beginner | Lecture 2: Strings, Input/Output, and Branching · Lecture 4: Loops over Strings, Guess-and-Check, and Binary · Lecture 7: Decomposition, Abstraction, and Functions | 27h 48m of video; practice time is additional |
| CS50 Introduction to Computer Science | Beginner | Computational thinking · C programming · Python fundamentals | Self paced · 11 weeks of material |
| Introduction to Computer Science with Python: Free Course | Beginner | Python fundamentals · Program tracing · Control flow | 5h 34m of video; practice time is additional |
Provider: MIT. Videos play from the MIT OpenCourseWare channel on YouTube.
Report a correction
Questions & discussion
Share a useful question or correction. Comments appear after moderation. Please avoid personal or sensitive information.