-
Notifications
You must be signed in to change notification settings - Fork 10
Reading Schedule! SICP Mark III
Doing all the exercises is the best way to get the most out of the readings. Some are more trivial than the others, meanwhile others can be extremely hard. Not all the questions will be homework, but doing all of them is in your best interest. Be aware that some exercises can take over an hour to complete!
Doing the problems is sometimes preferable on paper, if you like this method, don't hesitate to open a Pull Request containing images. Alternatively, if you are pretty solid at Lisp and can build "expanders" (or whatever they are called) that prints out a programs evolution over time that is super neat too!
The sections covered are in parentheses after the title. Assume that all the exercises are fair game unless there's a particular note to the contrary.
The video lectures are matched with the first edition of the book, so they don't exactly reflect the material. They should still be useful and I've included the first few linked next to the relevant sections.
- Feb 15: The Elements of Programming (1.1) Lecture 1A
- Feb 22: Procedures and the Processes They Generate (1.2) Lecture 1B
- Feb 29: Formulating Abstractions with Higher Order Procedures (1.3) Lecture 2A
- Mar 07: Data Abstraction (1.3.4 & 2.1.1 & 2.1.2 & 2.1.3) Lecture 2B
- Mar 14: Interval Arithmetic (2.1.4) Lecture 2B
- Mar 21: Hierarchical Structures (2.2.1 & 2.2.2) Lecture 2B
- Mar 28: Easter Break
- Apr 04: Sequences as Conventional Interfaces (2.2.3) Lecture 2B
- Apr 11: A Picture Language (2.2.4) Lecture 3A
- Apr 18: Symbolic Differentiation (2.3.1 & 2.3.2) Lecture 3B
- Apr 25: Representing Sets (2.3.3)
- May 02: Huffman Encoding (2.3.4) [11 & 6]
- May 09: Data Representations (2.4) [24 & 4]
- May 16: Generic Operations (2.5.1 & 2.5.2)
- May 23: Victoria Day
- May 30: Symbolic Algebra (2.5.3)
- Jun 06: Local State (3.1)
- Jun 13: The Environmental Model (3.2)
- Jun 20: Mutable Lists and Queues (3.3.1 & 3.3.2)
- Jun 27: Mutable Tables and Circuit Simulation (3.3.3 & 3.3.4)
- Jul 04: Propagation of Constraints (3.3.5)
- Jul 11: Concurrency (3.4)
- Jul 18: Infinite Streams and summer break party (3.5.1 & 3.5.2)
- Sep 12: Exploiting the Stream Paradigm (3.5.3)
- Sep 19: Streams and Delayed Evaluation (3.5.4 & 3.5.5)
- Sep 26: The Metacircular Evaluator, Part 1 (4.1.1 & 4.1.2)
- Oct 03: The Metacircular Evaluator, Part 2 (4.1.3-4.1.7)
- Oct 10: Thanksgiving
- Oct 17: The Metacircular Evaluator, Part 3 (4.1.3-4.1.7) REDUX!
- Oct 24: Lazy Evaluation, Part 1 (4.2.1 & 4.2.2)
- Oct 31: Lazy Evaluation, Part 2 (4.2.3)
- Nov 07: Non-deterministic Computing Exclamation Point (4.3.1, first half of 4.3.2)
- Nov 14: Implementing Amb (remainder of 4.3)
- Nov 21: Logic Programming: Deductive Information Retrieval (4.4.1)
- Nov 28: Query System, Is Logic Programming Math? (4.4.2, 4.4.3)
- Dec 05: Query System, Is Logic Programming Math? (4.4.2, 4.4.3) again
- Dec 12: Implementing the Query System, Part 1 and break for xmas (4.4.4.1&2)
- Dec 19: Xmas and NY break
- Dec 26: Xmas and NY break
- Jan 02: Xmas and NY break
- Jan 09: Implementing the Query System, Part 2 (4.4.4.3&4)
- Jan 16: Implementing the Query System, Part 3 (4.4.4.5&6)
- Jan 23: Implementing the Query System, Part 4 (4.4.4.7&8)
- Jan 30: Designing Register Machines, Part 1 (5, 5.1 up to 5.1.1. Do exercise 5.1.)
- Feb 06: Designing Register Machines, Part 2 (5.1.1-5.1.2)
- Feb 13: Family Day
- Feb 20: Designing Register Machines, Part 3 (5.1.3-5.1.5)
- Feb 27: A Register Machine Simulator, Part 1 (5.2, 5.2.1)
- Mar 06: A Register Machine Simulator, Part 2 (5.2.2)
- Mar 13: A Register Machine Simulator, Part 3 (5.2.3 & 5.2.4)
- Mar 20: A Register Machine Simulator, Part 4 (5.2.3 & 5.2.4 redux, plus all of 5.3)
- Mar 27: The Explicit-Control Evaluator, Part 1 (5.4.1 and 5.4.2)
- Apr 03: The Explicit-Control Evaluator, Part 2 (5.4.3 & 5.4.4)
- Apr 10: Compilation, Part 1 (5.5.1 & 5.5.2)
- Apr 17: Easter Monday
- Apr 24: Compilation, Part 2 (5.5.3 & 5.5.4)
- May 01: Compilation, Part 3 (5.5.5 & 5.5.6)
- May 08: SICP The Final Chapter! (5.5.7)
- May 15: SICP REVIEW PARTY!!!