CS61AStructure and Interpretation of Computer Programs, Fall 2013




Announcements

12/21 Solutions to the final exam are posted.
12/21 96% of students completed the final survey!
12/16 Congratulations to the winners of the Fall 2013 61A Recursive Art Contest!
11/20 Use the Logic language on the web or add this Python implementation to your Scheme project.

Calendar

Week Date Lecture Topic Reading Lab/Discussion Homework Project
1 Fri Aug 30 Functions Video (1pp) (1pps) (6pp) (01.py)

Section 1.1

Section 1.2

Discussion 0: Lost on the Moon

Solutions

hw0.html hw0.py
2 Mon Sep 02 ***Academic Holiday***

Lab 0: Intro to Unix/Emacs

Lab 1: Your own machine

Wed Sep 04 Names Video (1pp) (1pps) (6pp) (02.py)

Section 1.3

Section 1.4

Discussion 1: Expressions, Statements, and Functions

Solutions

hw1.html hw1.py
Fri Sep 06 Control Video (1pp) (1pps) (6pp) (03.py)

Section 1.5

Hog (due Sep 19)
3 Mon Sep 09 Higher-Order Functions Video (1pp) (1pps) (6pp) (04.py)

Section 1.6

Lab 2: Control

Wed Sep 11 Environments Video (1pp) (1pps) (6pp) (05.py)

Section 1.6

Discussion 2: Higher-Order Functions

Solutions

hw2.html hw2.py
Fri Sep 13 Newton's Method Video (1pp) (1pps) (6pp) (06.py)

Section 1.6

4 Mon Sep 16 Recursion Video (1pp) (1pps) (6pp) (07.py)

Section 1.7

Lab 3: Recursion and Midterm Review

Wed Sep 18 Tree Recursion Video (1pp) (1pps) (6pp) (08.py)

Section 1.7

Discussion 3: Recursion

Solutions

hw3.html hw3.py Hog contest (due Oct 03)
Fri Sep 20 Function Examples Video (1pp) (1pps) (6pp) (09.py)
5 Mon Sep 23 ***No Lecture; Midterm 1 is Monday Sep 23 @ 7pm***
Wed Sep 25 Data Abstraction Video (1pp) (1pps) (6pp) (10.py)

Section 2.1

Section 2.2

Discussion 4: Data Abstraction

Solutions

Fri Sep 27 Sequences Video (1pp) (1pps) (6pp) (11.py)

Section 2.3

6 Mon Sep 30 Lists and Dictionaries Video (1pp) (1pps) (6pp) (12.py)

Section 2.4

Lab 4: Lists and Dictionaries

Trends (due Oct 10)
Wed Oct 02 Strings and Sequence Processing Video (1pp) (1pps) (6pp) (13.py)

Section 2.3

Discussion 5: Lists and Dictionaries

Solutions

hw4.html hw4.py
Fri Oct 04 Mutable Data Video (1pp) (1pps) (6pp) (14.py)

Section 2.4

7 Mon Oct 07 Objects Video (1pp) (1pps) (6pp) (15.py)

Section 2.5

Lab 5: Mutable Data

Wed Oct 09 Guest Lecture: Peter Norvig

Discussion 6: Object-Oriented Programming

Solutions

hw5.html hw5.py
Fri Oct 11 Inheritance Video (1pp) (1pps) (6pp) (16.py)

Section 2.5

Ants (due Oct 24)
8 Mon Oct 14 Recursive Objects Video (1pp) (1pps) (6pp) (17.py)

Section 2.7

Lab 6: Recursive objects

Wed Oct 16 Orders of growth Video (1pp) (1pps) (6pp) (18.py)

Section 2.7

Discussion 7: Recursive Data and Orders of Growth

Solutions

hw6.html hw6.py
Fri Oct 18 Sets Video (1pp) (1pps) (6pp) (19.py)

Section 2.7

9 Mon Oct 21 Multiple Representations Video (1pp) (1pps) (6pp) (20.py)

Section 2.8

Lab 7: Sets and Orders of Growth

Wed Oct 23 Generic Functions Video (1pp) (1pps) (6pp) (21.py)

Section 2.8

Discussion 8: Generic Functions

Solutions

hw7.html hw7.py
Fri Oct 25 Data Examples Video (1pp) (1pps) (6pp) (22.py)
10 Mon Oct 28 ***No Lecture; Midterm 2 is Monday Oct 28 @ 7pm***
Wed Oct 30 Functional Programming Video (1pp) (1pps) (6pp) (23.scm)

Section 3.1

Section 3.2

Discussion 9: Scheme

Solutions

Hog revisions (due Nov 07)
Fri Nov 01 Exceptions Video (1pp) (1pps) (6pp) (24.py)

Section 3.3

11 Mon Nov 04 Calculator Video (1pp) (1pps) (6pp)

Section 3.4

Lab 8a: Exceptions and Calculator

Lab 8b: Scheme

Wed Nov 06 Interpreters Video (1pp) (1pps) (6pp)

Section 3.5

Discussion 10: Calculator

Solutions

hw8.html hw8.scm Scheme (due Nov 21)
Fri Nov 08 Tail Calls Video (1pp) (1pps) (6pp) (27.scm)

Section 3.5

12 Mon Nov 11 ***Academic Holiday***

Lab 9: Interpreters

Wed Nov 13 User Interfaces Video (1pp) (1pps)

Discussion 11: Problem Solving

Solutions

hw9.html hw9.py
Fri Nov 15 Iterators Video (1pp) (1pps) (6pp) (29.py)

Section 4.1

Section 4.2

13 Mon Nov 18 Streams Video (1pp) (1pps) (6pp) (30.py)

Section 4.2

Lab 10: Iterators, Generators, Streams, and Tail-Calls

Wed Nov 20 Declarative Programming Video (1pp) (1pps) (6pp) (31.logic)

Section 4.3

Discussion 12: Logic Programming

Solutions

hw10.html hw10.py
Fri Nov 22 Unification Video (1pp) (1pps) (6pp) (32.logic) (32.py)

Section 4.4

14 Mon Nov 25 Distributed Computing Video (1pp) (1pps) (6pp)

Section 4.5

Lab 11: Logic

Wed Nov 27 ***No Lecture; Thanksgiving*** hw11.html hw11.logic
Fri Nov 29 ***Academic Holiday***
15 Mon Dec 02 MapReduce Video (1pp) (1pps) (6pp) (34.zip)

Section 4.6

Lab 12: MapReduce

Wed Dec 04 Natural Language Processing Video (1pp) (1pps) (6pp) (35.zip)
Fri Dec 06 Conclusion (1pp) (1pps) (6pp) (36.py) hw12.html

Weekly Schedule

Monday Tuesday Wednesday Thursday Friday
8:00          
8:30     Lab 043
273 Soda
Soumya Basu
        Dis 143
310 Soda
Soumya Basu
     
9:00     Lab 029
275 Soda
Richard Hwang
      Dis 129
320 Soda
Richard Hwang
   
9:30   Lab 011
271 Soda
Jeff Chang
Lab 012
273 Soda
Mark Miyashita
Lab 013
275 Soda
Stephen Martinis
      Dis 111
B5 Hearst Annex
Jeff Chang
Dis 112
310 Soda
Mark Miyashita
Dis 113
405 Soda
Stephen Martinis
     
10:00                  
10:30     Lab 042
275 Soda
Vaishaal Shankar
  Dis 142
320 Soda
Vaishaal Shankar
11:00   Lab 014
271 Soda
Chenyang Yuan
Lab 015
273 Soda
Mark Miyashita
Lab 016
275 Soda
Joy Jeng
  Dis 114
2032 Valley LSB
Chenyang Yuan
Dis 115
229 Dwinelle
Mark Miyashita
Dis 116
109 Morgan
Joy Jeng
 
11:30      
12:00 Lecture
Wheeler Auditorium
  Lecture
Wheeler Auditorium
  Lecture
Wheeler Auditorium
12:30 Lab 017
271 Soda
Vaishaal Shankar
Lab 018
273 Soda
Andrew Huang
Lab 019
275 Soda
Julia Oh and Michelle Hwang
Lab 044
330 Soda
Bryan Mau
Dis 117
3105 Etcheverry
Vaishaal Shankar
Dis 118
285 Cory
Andrew Huang
Dis 119
9 Evans
Julia Oh and Michelle Hwang
Dis 144
320 Soda
Bryan Mau
1:00      
1:30      
2:00   Lab 020
271 Soda
Jeff Chang
Lab 021
275 Soda
Allen Nguyen
      Dis 120
243 Dwinelle
Jeff Chang
Dis 121
2 Evans
Allen Nguyen
     
2:30              
3:00              
3:30 Lab 030
271 Soda
Keegan Mann
Lab 031
273 Soda
Sharad Vikram
Lab 032
275 Soda
Brian Hou
  Lab 022
271 Soda
Sharad Vikram
Lab 023
275 Soda
Joy Jeng
      Dis 122
285 Cory
Sharad Vikram
Dis 123
109 Dwinelle
Joy Jeng
     
4:00       Dis 130
310 Soda
Keegan Mann
Dis 131
320 Soda
Sharad Vikram
Dis 132
405 Soda
Brian Hou
       
4:30              
5:00 Lab 033
271 Soda
Julia Oh
Lab 034
273 Soda
Brian Hou
Lab 035
275 Soda
Albert Wu
  Lab 024
271 Soda
Bryan Mau
Lab 025
275 Soda
Robert Huang
    Dis 135
3113 Etcheverry
Albert Wu
Dis 124
3109 Etcheverry
Bryan Mau
Dis 125
3111 Etcheverry
Robert Huang
     
5:30       Dis 133
310 Soda
Julia Oh
Dis 134
320 Soda
Brian Hou
       
6:00              
6:30 Lab 036
271 Soda
Keegan Mann
Lab 037
273 Soda
Richard Hwang
Lab 038
275 Soda
Soumya Basu
  Lab 026
271 Soda
Allen Nguyen
Lab 027
273 Soda
Robert Huang
Lab 028
275 Soda
Michelle Hwang
  Dis 136
75 Evans
Keegan Mann
Dis 137
B51 Hildebrand
Richard Hwang
Dis 126
4 Evans
Allen Nguyen
Dis 127
6 Evans
Robert Huang
Dis 128
71 Evans
Michelle Hwang
   
7:00     Dis 138
310 Soda
Soumya Basu
     
7:30          
8:00   Lab 039
271 Soda
Steven Tang
Lab 040
273 Soda
Chenyang Yuan
          Dis 139
310 Soda
Steven Tang
Dis 140
320 Soda
Chenyang Yuan
     
8:30              
9:00              
9:30          

Resources