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 |