View on GitHub

homepage

Here are my lecture notes for CS61A, The Structure and Interpretation of Computer Programs

Content Leading Up to Midterm 1

Lecture 1 - Welcome to 61A

Lecture 2 - Functions

Lecture 3 - Miscallaneous

Lecture 4 - Iteration

Lecture 5 - Environments

Lecture 6 - Control

Lecture 7 - Design

Lecture 8 - Currying and Review

Content Leading Up to Midterm 2

Lecture 9 - Recursion

Lecture 10 - Tree Recursion

Lecture 11 - Lists and Containers

Lecture 12 - Data Abstraction and Dictionaries

Lecture 13 - Trees

Lecture 14 - Mutable Values

Lecture 15 - Mutable Functions

Lecture 16 - Iterators and Generators

Lecture 17 - Object-Oriented Programming

Lecture 18 - Inheritance

Lecture 19 - Repr and Str

Lecture 20 - Compositional Data

Lecture 21 - Efficiency, Runtime and Space

Lecture 22 - Decomposition

Lecture 23 - Data Examples

The Home Stretch - Content Leading Up To Final

Wondering where’s Lecture 24? You can see what it’s about in the notes for Lecture 25.

Lecture 25 - Scheme

Lecture 26 - Exceptions

Lecture 27 - Interpreters

Lecture 28 - Interpreting Scheme

Lecture 29 - Dynamic Scope and Tail Calls

Lecture 30 - Macros and Quasi-quoting

Lecture 31 - Streams

Lecture 32 - SQL and the Select Statement

Lecture 33 - Joins and Manipulation

Lecture 34 - Aggregation

Lecture 35 - MiSQLalleneous and Blackjack

Lecture 38 - Final Review

Conclusion

The content here does not pertain to the final, but is neat!

Lecture 36 - Unix

Lecture 37 - Natural Language

Lecture 39 - Conclusion

Problem Solving in CS61A