-
Notifications
You must be signed in to change notification settings - Fork 11
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: Procedures and the Processes They Generate - Part 2 (1.2)
- Mar 07: Formulating Abstractions with Higher Order Procedures - Part 1 (1.3) Lecture 2A
- Mar 14: Formulating Abstractions with Higher Order Procedures - Part 2 (1.3) Lecture 2A
- Mar 21: Data Abstraction - Part 1 (2.1.1 & 2.1.2 & 2.1.3 & maybe 2.1.4) Lecture 2B
- Mar 28: Easter Break
- Apr 04: Interval Arithmetic - Data Abstraction - Part 2 (2.1.4) Lecture 2B
- Apr 11: Hierarchical Structures (2.2.1 & 2.2.2) Lecture 2B
- Apr 18: Sequences as Conventional Interfaces (2.2.3) Lecture 2B
- Apr 25: A Picture Language (2.2.4) Lecture 3A
- May 09: Symbolic Differentiation (2.3.1 & 2.3.2) Lecture 3B
- May 16: Representing Sets (2.3.3)
- May 23: Victoria Day
- May 30: Huffman Encoding (2.3.4) [11 & 6]
- Jun 06: Data Representations (2.4) [24 & 4]
- Jun 13: Generic Operations (2.5.1 & 2.5.2)
- Jun 20: Symbolic Algebra (2.5.3)
- Jun 27: Local State (3.1)
- Jul 04: The Environmental Model (3.2)
- Jul 11: Mutable Lists and Queues (3.3.1 & 3.3.2)
- Jul 18: Mutable Tables and Circuit Simulation (3.3.3 & 3.3.4)
- Sep 12: Propagation of Constraints (3.3.5)
- Sep 19: Concurrency (3.4)
- Sep 26: Infinite Streams and summer break party (3.5.1 & 3.5.2)
- Oct 03: Exploiting the Stream Paradigm (3.5.3)
- Oct 10: Thanksgiving
- Oct 17: Streams and Delayed Evaluation (3.5.4 & 3.5.5)
- Oct 24: The Metacircular Evaluator, Part 1 (4.1.1 & 4.1.2)
- Oct 31: The Metacircular Evaluator, Part 2 (4.1.3-4.1.7)
- Nov 07: The Metacircular Evaluator, Part 3 (4.1.3-4.1.7) REDUX!
- Nov 14: Lazy Evaluation, Part 1 (4.2.1 & 4.2.2)
- Nov 21: Lazy Evaluation, Part 2 (4.2.3)
- Nov 28: Non-deterministic Computing Exclamation Point (4.3.1, first half of 4.3.2)
- Dec 05: Implementing Amb (remainder of 4.3)
- Dec 12: Logic Programming: Deductive Information Retrieval (4.4.1)
- Dec 19: Xmas and NY break
- Dec 26: Xmas and NY break
- Jan 02: Xmas and NY break
- Jan 09: Query System, Is Logic Programming Math? (4.4.2, 4.4.3)
- Jan 16: Query System, Is Logic Programming Math? (4.4.2, 4.4.3) again
- Jan 23: Implementing the Query System, Part 1 and break for xmas (4.4.4.1&2)
- Jan 30: Implementing the Query System, Part 2 (4.4.4.3&4)
- Feb 06: Implementing the Query System, Part 3 (4.4.4.5&6)
- Feb 13: Family Day
- Feb 20: Implementing the Query System, Part 4 (4.4.4.7&8)
- Feb 27: Designing Register Machines, Part 1 (5, 5.1 up to 5.1.1. Do exercise 5.1.)
- Mar 06: Designing Register Machines, Part 2 (5.1.1-5.1.2)
- Mar 13: Designing Register Machines, Part 3 (5.1.3-5.1.5)
- Mar 20: A Register Machine Simulator, Part 1 (5.2, 5.2.1)
- Mar 27: A Register Machine Simulator, Part 2 (5.2.2)
- Apr 03: A Register Machine Simulator, Part 3 (5.2.3 & 5.2.4)
- Apr 10: A Register Machine Simulator, Part 4 (5.2.3 & 5.2.4 redux, plus all of 5.3)
- Apr 17: Easter Monday
- Apr 24: The Explicit-Control Evaluator, Part 1 (5.4.1 and 5.4.2)
- May 01: The Explicit-Control Evaluator, Part 2 (5.4.3 & 5.4.4)
- May 08: Compilation, Part 1 (5.5.1 & 5.5.2)
- May 15: Compilation, Part 2 (5.5.3 & 5.5.4)
- May 22: Compilation, Part 3 (5.5.5 & 5.5.6)
- May 29: SICP The Final Chapter! (5.5.7)
- Jun 05: SICP REVIEW PARTY!!!