Announcements

  • Register for an instructional account here
  • If you filled out a request to switch sections, it has been approved (unless you got an email otherwise)
  • The schedule for office hours is available here
  • 61A Partner Finding Mixer: Wednesday 1/27 3:30 Woz Lounge and Thursday 1/28 12:00 Woz Lounge
  • Register for an instructional account here
  • If you wish to change which lab/discussion you attend - fill out this form
  • Welcome to CS 61A!
  • Register for an instructional account here

Resource/Piazza Search
Search for terms like "recursion", "homework 3", or "practice"
Name Type Tags
Midterm 1 Exam
Lecture 1: Functions (1pp) (6pp) (01.py) Lecture
Readings: section 1.1 Reading
Readings: section 1.2 Reading
Lecture 2: Names (1pp) (6pp) (02.py) Lecture
Readings: section 1.3 Reading
Readings: section 1.4 Reading
Lecture 3: Control (1pp) (6pp) (03.py) Lecture
Readings: section 1.5 Reading
Lecture 4: Higher-Order Functions (1pp) (6pp) (04.py) Lecture
Readings: section 1.6 Reading
Lecture 5: Environments (1pp) (6pp) (05.py) Lecture
Readings: section 1.6 Reading
Lecture 6: Recursion (1pp) (6pp) (06.py) Lecture
Readings: section 1.7 Reading
Lecture 7: Tree Recursion (1pp) (6pp) (07.py) Lecture
Readings: section 1.7 Reading
Lecture 8: Function Examples (1pp) (6pp) Lecture
Lecture 9: Data Abstraction (1pp) (6pp) (09.py) Lecture
Readings: section 2.1 Reading
Readings: section 2.2 Reading
Lecture 10: Sequences (1pp) (6pp) (10.py) Lecture
Readings: section 2.3 Reading
Lecture 11: Trees (1pp) (6pp) (11.py) Lecture
Readings: section 2.3 Reading
Lecture 12: Mutable Values (1pp) (6pp) (12.py) Lecture
Readings: section 2.4 Reading
Lecture 13: Mutable Functions (1pp) (6pp) (13.py) Lecture
Readings: section 2.4 Reading
Lecture 14: Objects (1pp) (6pp) (14.py) Lecture
Readings: section 2.5 Reading
Lecture 15: Inheritance (1pp) (6pp) (15.py) Lecture
Readings: section 2.5 Reading
Lecture 16: Representation (1pp) (6pp) (16.py) Lecture
Readings: section 2.7 Reading
Lecture 17: Composition (1pp) (6pp) (17.py) Lecture
Readings: section 2.9 Reading
Lecture 18: Hierarchy (1pp) (6pp) (18.py) Lecture
Readings: section 2.9 Reading
Lecture 19: Growth I (1pp) (6pp) (19.py) Lecture
Readings: section 2.8 Reading
Lecture 20: Growth II (1pp) (6pp) (20.py) Lecture
Readings: section 2.8 Reading
Lecture 21: Sets (1pp) (6pp) (21.py) Lecture
Readings: section 2.9 Reading
Lecture 22: Data Examples (1pp) (6pp) (22.py) Lecture
Lecture 23: Scheme (1pp) (6pp) (23.scm) Lecture
Readings: section 3.1 Reading
Readings: section 3.2 Reading
Lecture 24: Exceptions (1pp) (6pp) (24.py) Lecture
Readings: section 3.3 Reading
Lecture 25: Calculator (1pp) (6pp) (25.scm) Lecture
Readings: section 3.4 Reading
Lecture 26: Interpreters (1pp) (6pp) Lecture
Readings: section 3.5 Reading
Lecture 27: Tail Calls (1pp) (6pp) (27.scm) Lecture
Readings: section 3.5 Reading
Lecture 28: Iterators (1pp) (6pp) (28.py) Lecture
Readings: section 4.2 Reading
Lecture 29: The Halting Problem (1pp) (6pp) Lecture
Lecture 30: Streams (1pp) (6pp) (30.scm) Lecture
Readings: section 4.2 Reading
Lecture 31: Declarative Programming (1pp) (6pp) (31.sql) Lecture
Readings: section 4.3 Reading
Lecture 32: Tables (1pp) (6pp) (32.sql) Lecture
Readings: section 4.3 Reading
Lecture 33: Recursive Select (1pp) (6pp) (33.sql) Lecture
Readings: section 4.3 Reading
Lecture 34: Aggregation (1pp) (6pp) (34.sql) Lecture
Readings: section 4.3 Reading
Lecture 35: Distributed Data (1pp) (6pp) Lecture
Lecture 36: Concurrency (1pp) (6pp) Lecture
Lecture 37: Review (1pp) (6pp) Lecture
Lecture 38: More Review (1pp) (6pp) Lecture
Lecture 39: Conclusion (1pp) (6pp) Lecture
Homework 1 (Solutions) Homework
Hog Project
Hog Contest Project
Lab 0: Workflow Lab
Lab 1: Expressions and Control Lab
Lab 2: Higher Order Functions, Recursion and Lambdas Lab
Discussion 0: Lost on the Moon (Solutions) Discussion
Discussion 1: Control and Higher Order Functions (Solutions) Discussion
Discussion 2: Environment Diagrams and Recursion (Solutions) Discussion
Syllabus Article
Composition Guide Article Programming
Debugging Guide Article Programming
Using OK Article OK
UNIX Tutorial Article UNIX
Sublime Text Article Text Editors
Vim Article Text Editors
Emacs Article Text Editors
Weekly Schedule Article
Staff Article
Office Hours Article
Windows: set up Python Article Setting up
Windows: connecting from home (video) Article Setting up
Windows: connecting form home (pdf) Article Setting up
Mac: set up Python Article Setting up
Mac: set up Emacs Article Setting up
Mac: connecting from home (video) Article Setting up
Mac: connecting from home (pdf) Article Setting up
Online Python tutor Article Environment Diagrams
Fall 2015 screencasts Article Video, John DeNero
Spring 2015 screencasts Article Video, John DeNero
Fall 2014 screencasts Article Video, John DeNero
Fall 2013 screencasts Article Video, John DeNero
Another UNIX tutorial Article UNIX
Albert Wu's practice problems Practice
Mark Miyashita's practice problems Practice
Functions and expressions practice problems Practice Functions
Control structures practice problems Practice Control Structures
Higher Order Functions practice problems Practice Higher Order Functions
Lambda expressions practice problems Practice Lambdas
Recursion practice problems Practice Recursion, Tree Recursion

Calendar

Week Date Lecture Reading Handout Homework Project
1 Wed 1/20 Functions
(1pp) (6pp) (01.py)
1.1
1.2
Lab 0: Workflow
(due Fri 1/22)
Fri 1/22 Names
(1pp) (6pp) (02.py)
1.3
1.4
Discussion 0: Lost on the Moon (Solutions) Homework 1
(due Wed 1/27) (Solutions)
2 Mon 1/25 Control
(1pp) (6pp) (03.py)
1.5
Wed 1/27 Higher-Order Functions
(1pp) (6pp) (04.py)
1.6 Lab 1: Expressions and Control
(due Fri 1/29)
Hog
(due Thu 2/4)
Fri 1/29 Environments
(1pp) (6pp) (05.py)
1.6 Discussion 1: Control and Higher Order Functions (Solutions)
3 Mon 2/1 Recursion
(1pp) (6pp) (06.py)
1.7
Wed 2/3 Tree Recursion
(1pp) (6pp) (07.py)
1.7 Lab 2: Higher Order Functions, Recursion and Lambdas
(due Fri 2/5)
Hog Contest
(due Mon 2/15)
Fri 2/5 Function Examples
(1pp) (6pp)
Discussion 2: Environment Diagrams and Recursion (Solutions)
4 Mon 2/8 Data Abstraction
(1pp) (6pp) (09.py)
2.1
2.2
Wed 2/10 Sequences
(1pp) (6pp) (10.py)
2.3
Fri 2/12 Trees
(1pp) (6pp) (11.py)
2.3
5 Mon 2/15 No Lecture: President's Day
Wed 2/17 Mutable Values
(1pp) (6pp) (12.py)
2.4
Thu 2/18 Midterm 1
Fri 2/19 Mutable Functions
(1pp) (6pp) (13.py)
2.4
6 Mon 2/22 Objects
(1pp) (6pp) (14.py)
2.5
Wed 2/24 Inheritance
(1pp) (6pp) (15.py)
2.5
Fri 2/26 Representation
(1pp) (6pp) (16.py)
2.7
7 Mon 2/29 Composition
(1pp) (6pp) (17.py)
2.9
Wed 3/2 Hierarchy
(1pp) (6pp) (18.py)
2.9
Fri 3/4 Growth I
(1pp) (6pp) (19.py)
2.8
8 Mon 3/7 Growth II
(1pp) (6pp) (20.py)
2.8
Wed 3/9 Sets
(1pp) (6pp) (21.py)
2.9
Fri 3/11 No Lecture: Veterans Day
9 Mon 3/14 Data Examples
(1pp) (6pp) (22.py)
Wed 3/16 Scheme
(1pp) (6pp) (23.scm)
3.1
3.2
Fri 3/18 Exceptions
(1pp) (6pp) (24.py)
3.3
10 Mon 3/21 No Lecture: Spring Break
Wed 3/23 No Lecture: Spring Break
Fri 3/25 No Lecture: Spring Break
11 Mon 3/28 Calculator
(1pp) (6pp) (25.scm)
3.4
Wed 3/30 Interpreters
(1pp) (6pp)
3.5
Fri 4/1 Tail Calls
(1pp) (6pp) (27.scm)
3.5
12 Mon 4/4 Iterators
(1pp) (6pp) (28.py)
4.2
Wed 4/6 The Halting Problem
(1pp) (6pp)
Fri 4/8 Streams
(1pp) (6pp) (30.scm)
4.2
13 Mon 4/11 Declarative Programming
(1pp) (6pp) (31.sql)
4.3
Wed 4/13 Tables
(1pp) (6pp) (32.sql)
4.3
Fri 4/15 Recursive Select
(1pp) (6pp) (33.sql)
4.3
14 Mon 4/18 Aggregation
(1pp) (6pp) (34.sql)
4.3
Wed 4/20 Distributed Data
(1pp) (6pp)
Fri 4/22 Concurrency
(1pp) (6pp)
15 Mon 4/25 Review
(1pp) (6pp)
Wed 4/27 More Review
(1pp) (6pp)
Fri 4/29 Conclusion
(1pp) (6pp)