CS 61A

Structure and Interpretation of Computer Programs summer 2014

week date lecture topic reading lab/discussion homework project
1 Mon Jun 23 Introduction to CS61A and Python (00.py) 1.1 Lab 0
Tue Jun 24 Python Constructs, Functions, and Evaluation 1.2
1.5
Discussion 1
(Solutions)
Homework 1
(Solutions)
Wed Jun 25 Functions, Side Effects, and Scope (02.py) 1.3
1.4
Lab 1
Thu Jun 26 Higher Order Functions and Environment Diagrams
(Rules)
1.6
2.2.4
2.3.7
Discussion 2
(Solutions)
Homework 2
(Solutions)
Project 1: Hog
(due Jul 02)
2 Mon Jun 30 Recursion and Linked Lists (04.py) 1.7
1.7.1
1.7.3
Lab 2
Tue Jul 01 Recursion and Tree Recursion (knapsack.py) 1.7.4
1.7.5
Discussion 3
(Solutions)
Homework 3
(Solutions)
Wed Jul 02 Data and Sequences (06.py)

2.1

2.3

Lab 3
Thu Jul 03 Data Abstraction (elephants.py)

2.2

Discussion 4
(Solutions)
Homework 4
(Solutions)
Project 2: Trends
(due Jul 13)
3 Mon Jul 07 Hierarchical Data Structures: Deep Lists, Trees
(08.py)

2.3.4

Lab 4
Tue Jul 08 Orders of Growth and Function Runtime (09.py) 2.8 Discussion 5
(Solutions)
Hog Contest
(due Jul 15)
Wed Jul 09 Newton's Method (10.py)

1.6.5

Lab 5 Homework 5
Thu Jul 10 Exam 1 Review and The Halting Problem
(11.transcript) (reverse.py)
Exam 1 - Jul 10, 7pm - 9pm
Discussion 6
(Solutions)
Homework 6
(Solutions)
4 Mon Jul 14 Objects, Mutation, and State
(12.py) (exceptions.py) (counter.py)
2.4
3.3
Lab 6
Tue Jul 15 Functions on Mutable Data Structures
(13.py) (animal.py) (timer.py)
2.4 Discussion 7
(Solutions)
Homework 7
(Solutions)
Wed Jul 16 Object Oriented Programming
(14.py) (tictactoe.py)

2.5

Lab 7

Project 3: Ants
(due Jul 27)
Thu Jul 17 Inheritance and Interfaces (With animation)
(account.py) (link.py) (robot.py)
2.5
2.7.1
2.7.2
Discussion 8
(Solutions)
Homework 8
(Solutions)
5 Mon Jul 21 Iterators and Generators
(16.py)
4.2
-4.2.6

Lab 8

Tue Jul 22 Generic Functions
(17.py)
2.7.3
2.7.4
Discussion 9
(Solutions)
Wed Jul 23 Recursive Objects Revisted
(18.py) (18-sol.py)
2.9 Lab 9 Homework 9
(Solutions)
Thu Jul 24 Interpretation
(calc.py) (pairs_and_lists.py) (calc_improved.py)
3.1
3.4
Discussion 10
(Solutions)
Hog Contest Results
6 Mon Jul 28 Scheme and Functional Programming
(20.scm) (scheme0.scm) (scheme0-sol.scm)
3.2 Lab 10 Homework 10
(Solutions)
Tue Jul 29 Programming in Scheme
(21.scm)
3.2 Discussion 11
(Solutions)
Wed Jul 30 Tail Recursion
(22.py) (22.scm) (22-sol.scm)
(scheme0-2.scm) (scheme0-2-sol.scm)
3.5 Lab 11 Homework 11
Thu Jul 31 Exam 2 Review and Social Implications
(23.transcript) (skip.scm)
Exam 2 - Jul 31, 7pm - 9pm
Discussion 12 Project 4: Scheme
(due Aug 10)
7 Mon Aug 04 The Scheme Project notes Lab 12 Homework 12
(Solutions)
Tue Aug 05 Streams
(25.scm)
SICP Discussion 13
(Solutions)
Wed Aug 06 Logic Programming
(logic.py) (26.logic) (database.logic)
(26-sol.logic) (26.transcript) (logic_test.py)
4.3 Lab 13 Homework 13
(Solutions)
Thu Aug 07 Concurrency 4.7 Discussion 14
(Solutions)
Scheme Contest
(Due Aug 12)
(Gallery)
8 Mon Aug 11 Review
(28.py) (28.scm)
(28-sol.py) (28-sol.scm)
Lab 14 Homework 14
(Solutions)
Tue Aug 12 MapReduce
(1pps) (6pp) (mr.zip)
Exam 3 - Aug 12, 6-8pm
4.6 Discussion 15
(Solutions)
Wed Aug 13 Machine Learning
(spam.py) (utils.py) (read_data.py)
(spamData.mat)
Lab 15
Thu Aug 14 Conclusion
Final - Aug 14, 5pm - 8pm
Recursive Art
Contest Results

CS 61A

Weekly Schedule summer 2014