# CS61AS Structure and Interpretation of Computer Programs

 Unit Lesson Reading (Do these before lab) Project 0 0.1: Introduction to Scheme and CS61AS 0.2: More Practice with Scheme 0.3: Recursion and Scheme
 Unit Lesson Reading (Do these before lab) Project (Do this as soon as you can) 1 1: Functions and Primitive Data Twenty One twenty-one.scm resides in~cs61as/lib/twenty-one.scm 2: Lambdas and Higher Order Functions 3: Recursion, Iteration, and Efficiency
 Unit Lesson Reading (Do these before lab) Project (Do this as soon as you can) 2 4: Data Abstraction and Sequences Turtle Graphics (All exercises in SICP 2.2.4) `````` You can’t actually draw anything until you ﬁnish the project! To begin, copy the file ~cs61as/lib/picture.scm to your directory. To draw pictures, once you’ve completed the exercises: > (cs) > (ht) > (===your-painter=== full-frame) For example: > (wave full-frame) > ((square-limit wave 3) full-frame)`````` SICP 2 Intro: Building Abstractions with Data SICP 2.1 Introduction to Data Abstraction SICP 2.2.1 Representing Sequences SS Ch. 18 - Trees Lecture 4 Webcast Notes (Week 4 on page 18) IGNORE THE CHAPTER ON MAPREDUCE This is not the same as map 5: Hierarchical Data and calc.scm 6: scheme1.scm and Generic Operators
 Unit Lesson Reading (Do these before lab) Project (Do this as soon as you can) 3 7: Object Oriented Programming 8: Assignment, State, and Environment The only big example of an environment diagram is in the webcast, so we strongly suggest you watch it. Also, type envdraw at the terminal instead of stk, and then whenever you say (envdraw), the current environment diagram will be drawn. 9: Mutable Data, Vectors, and Streams Vectors are not covered in SICP, pay attention attention to the lecture notes and/or Lecture 26. 10: Concurrency and Client/Server 11: MapReduce Streams SICP 3.5: Streams (except section 3.5.4) Lecture Note 11 (starting from pg. 74)
 Unit Lesson Reading (Do these before lab) Project (Do this as soon as you can) 4 12: Metacircular Evaluator 13: Analyzing Evaluator, Lazy Evaluator 14: Logic Programming