# 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)



