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