# SICP Study Calendar for JD Autumn, 2020. Bk, NY. # Part 1: Building Abstractions with Procedures ## Section 1.1 ~~~~ Sep 20 - Sep 26 ~~~~ The Elements of Programming [mit lecture 1A](https://youtu.be/-J_xL4IGhJA) ## Section 1.2 ~~~~ Sep 27 - Oct 03 ~~~~ Procedures and the Processes they Generate [mit lecture 2B](https://youtu.be/V_7mmwpgJHU) ## Section 1.3 ~~~~ Oct 04 - Oct 10 ~~~~ Formulating Abstractions with Higher-Order Procedures [mit lecture 2A](https://youtu.be/eJeMOEiHv8c) ## Section 1.4 ~~~~ Oct 11 - Oct 17 ~~~~ Procedures and the Processes they Generate # Part 2: Building Abstractions with Data ## Section 2.1 ~~~~ Oct 18 - Oct 24 ~~~~ Introduction to Data Abstraction [mit lecture 2B](https://youtu.be/DrFkf-T-6Co) ## Section 2.2 ~~~~ Oct 25 - Oct 31 ~~~~ Hierarchical Data and the Closure Property [mit lecture 3A](https://youtu.be/PEwZL3H2oKg) ## Section 2.3 ~~~~ Nov 1 - Nov 7 ~~~~ Symbolic Data [mit lecture 3B](https://youtu.be/bV87UzKMRtE) ## Section 2.4 ~~~~ Nov 8 - Nov 14 ~~~~ Multiple Representations for Abstract Data ## Section 2.5 ~~~~ Nov 15 - Nov 21 ~~~~ Systems with Generic Operations [mit lecture 4B](https://youtu.be/OscT4N2qq7o) # Part 3: Modularity, Objects, and State ## Section 3.1 ~~~~ Nov 22 - Nov 28 ~~~~ Assignment and Local State [mit lecture 5A](https://youtu.be/dO1aqPBJCPg) ## Section 3.2 ~~~~ Nov 29 - Dec 5 ~~~~ The Environment Model of Evaluation ## Section 3.3 ~~~~ Dec 6 - Dec 12 ~~~~ Modeling with Mutable Data ## Section 3.4 ~~~~ Dec 13 - Dec 19 ~~~~ Concurrency: Time is of the Essence ## Section 3.5 ~~~~ Dec 20 - Dec 26 ~~~~ Streams [mit lecture 6A](https://youtu.be/JkGKLILLy0I) [mit lecture 6B](https://youtu.be/qp05AtXbOP0) # Part 4: Metalinguistic Abstraction ## Section 4.1 ~~~~ Dec 20 - Dec 26 ~~~~ The Metacircular Evaluator [mit lecture 7A](https://youtu.be/aAlR3cezPJg) [mit lecture 7B](https://youtu.be/QVEOq5k6Xi0) ## Section 4.2 ~~~~ - ~~~~ Variations on a Scheme--Lazy Evaluation ## Section 4.3 ~~~~ - ~~~~ Variations on a Scheme--Nondeterministic Computing # ** winter break ** ## Section 4.4 ~~~~ Jan 3 - Jan 16 ~~~~ Logic Programming [mit lecture 8A](https://youtu.be/rCqMiPk1BJE) [mit lecture 8B](https://youtu.be/GReBwkGFZcs) # Part 5: Computing with Register Machines ## Section 5.1 ~~~~ Jan 17 - Jan 23 ~~~~ Designing Register Machines [mit lecture 9A](https://youtu.be/cIc8ZBMcqAc) ## Section 5.2 ~~~~ Jan 17 - Jan 23 ~~~~ A Register-Machine Simulator ## Section 5.3 ~~~~ Feb 7 - Feb 13 ~~~~ Storage Allocation and Garbage Collection [mit lecture 10B](https://youtu.be/AbK4bZhUk48) ## Section 5.4 ~~~~ Jan 24 - Jan 30 ~~~~ The Explicit-Control Evaluator [mit lecture 9B](https://youtu.be/Z8-qWEEwTCk) ## Section 5.5 ~~~~ Jan 31 - Feb 6 ~~~~ Compilation [mit lecture 10A](https://youtu.be/TqO6V3qR9Ws)