This repository documents my progress in completing the CS 61A Programming course by Brian Harvey at Berkley.
Topic: Functional programming
- Reading (Section 1.1)
- Homework (solution)
- Labs (Lab 1 solution, Lab 2 solution)
- Watch
Topic: Higher-order procedures
- Reading (Section 1.3)
- Homework (solution)
- Labs (solution)
- Watch
Topic: Recursion and iteration
- Reading (Section 1.2 through 1.2.4)
- Homework (solution)
- Labs (solution)
- Watch
- Project 1 (solution)
Topic: Data abstraction
- Reading (Section 2.1 and Section 2.2.1)
- Homework (solution)
- Labs (solution)
- Watch
- Midterm 1 (answers)
Topic: Hierarchical data
- Reading (Section 2.2.2-3 and Section 2.3.1-3)
- Homework (solution)
- Labs (solution)
- Watch
- Project 2 (solution)
Note
Lecture 15 is not given due to a half-term
Topic: Generic Operators
- Reading (Section 2.4 through 2.5.2)
- Homework (solution)
- Labs (solution)
- Watch
Topic: Object-oriented programming
- Reading (oop_aboveline.pdf)
- Homework (solution)
- Labs (solution)
- Watch
- Midterm 2 (answers)
Topic: Assignment, state, environments
- Reading (Section 3.1, 3.2, oop_belowline.pdf)
- Homework (solution)
- Labs (solution)
- Watch
- Project 3 part 1 (solution)
Topic: Mutable data, vectors
- Reading (Section 3.3.1–3)
- Homework (solution)
- Labs (solution)
- Watch
- Project 3 part 2
Note
Lecture 27-29 is not given due to spring break]
Topic: client/server, concurrency
- Reading (Section 3.4)
- Homework (solution)
- Labs
- Watch
Topic: Streams
- Reading (3.5.1–3, 3.5.5, therac-25.pdf)
- Homework (solution)
- Labs (solution)
- Watch
- Midterm 3 (answers)
Topic: Metacircular evaluator
Topic: Analyzing evaluator, MapReduce
- Reading (analyzing evaluator))
- Homework (solution)
- Labs (solution)
- Watch
Topic: lazy evaluator, nondeterministic evaluator
Topic: Logic programming
Topic: Review
- Watch
- Final exam (answers)