Announcements

  • Final Exam Thursday, August 10 from 5-8 pm

    • Room assignments have been sent to your CalCentral email.
  • Extension: Complete the Course Evaluation by Friday, August 11

    • If at least 95% of students complete both parts of the course evaluation, everyone will receive 1 extra credit point.
  • Homework 11 (Final Survey) due Sunday, August 13 and worth 1 homework survey point
  • Homework 12 (Scheme Art Voting) due Friday, August 11 and worth 3 homework points
  • Optional Scheme Art contest released and due Wednesday, August 9
  • Extension: Complete the Course Evaluation by Friday, August 11

    • If at least 95% of students complete both parts of the course evaluation, everyone will receive 1 extra credit point.
  • Final Exam Thursday, August 10 from 5-8 pm

    • Room assignments will be sent to your CalCentral email Wednesday night.
  • Professor John DeNero guest lecturing on Natural Language Processing Wednesday, August 9
  • Exam Study Party Office Hours all this week

    • Solve problems with other students and tutoring from the course staff.
  • Topical Review Lab Wednesday, August 9

  • Discussion and lab cancelled Thursday and Friday
  • Homework 9 and Homework 10 due Monday, August 7

    • Homework 10 submission bugfix: download and replace hw10.ok (right-click, Save as...).
    • Verify that your latest submission is correct on Okpy.
    • If you downloaded hw09.zip on July 31, re-download it to make sure you have the latest version.
  • Optional Scheme Art contest released and due Wednesday, August 9
  • Complete the Course Evaluation by Friday, August 11

    • Extension since Course Evaluations are now due Friday.
    • If at least 95% of students complete both parts of the course evaluation, everyone will receive 1 extra credit point.
  • Final Exam Thursday, August 10 from 5-8 pm

    • Mock Final Exam 11-12:30 pm Monday, August 7 in 2050 VLSB (replacing lecture).
    • Final Review guerrilla section 11-12:30 pm Tuesday, August 8 in 2050 VLSB (replacing lecture).
  • Professor John DeNero guest lecturing on Natural Language Processing Wednesday, August 9
  • Exam Study Party Office Hours all next week

    • Solve problems with other students and tutoring from the course staff.
  • Scheme project released and due Friday, August 4

    • Extension due to Wednesday's power outage.
    • For scheme_optimized_eval, see discussion 10.
    • For help on the extra credit, join Kavi's 7-8 pm office hours today in 310 Soda.
  • Homework 9 and Homework 10 due Monday, August 7

    • If you downloaded hw09.zip on July 31, re-download it to make sure you have the latest version.
  • Complete the Course Evaluation by Sunday, August 6

    • If at least 95% of students complete both parts of the course evaluation, everyone will receive 1 extra credit point.
  • Makeup lab check-offs next week
  • Final Exam Thursday, August 10 from 5-8 pm

    • Final Review Session 3-6 pm Friday, August 4 in 306 Soda (HP Auditorium).
    • Mock Final Exam 11-12:30 pm Monday, August 7 in 2050 VLSB (replacing lecture).
    • Final Review guerrilla section 11-12:30 pm Tuesday, August 8 in 2050 VLSB (replacing lecture).
  • Exam Study Party Office Hours all next week

    • Solve problems with other students and tutoring from the course staff.
    • Staffed by tutors and TAs.
  • Professor John DeNero guest lecturing on Natural Language Processing Wednesday, August 9
  • Scheme project released and due Thursday, August 3

  • Homework 9 due Monday, August 7

    • If you downloaded hw09.zip before Monday evening, re-download it to make sure you have the latest version.
  • Complete the Course Evaluation by Sunday, August 6

    • If at least 95% of students complete both parts of the course evaluation, everyone will receive 1 extra credit point.
  • Remember that office hours start as early as 8 am this week!

    • If afternoon office hours are too crowded, try attending an earlier office hour or asking questions in lab.
  • Scheme project released and due Thursday, August 3

    • Get started early! Scheme is a long and involved project!
  • Remember that office hours start as early as 10 am!

    • If afternoon office hours are too crowded, try attending an earlier office hour or ask questions in lab.
  • Complete the Course Evaluation by Sunday, August 6

    • If at least 95% of students complete both parts of the course evaluation, everyone will receive 1 extra credit point.
  • Homework 8 due Friday, July 28
  • Scheme project released and due Thursday, August 3

    • Get started early! Scheme is a long and involved project!
  • Homework 8 due Friday, July 28
  • Ants project due Wednesday, July 26
  • Scheme project released and due Thursday, August 3

    • Get started early! Scheme is a long and involved project!
  • Homework 8 due Friday, July 28
  • Ants project due Wednesday, July 26, submit by Tuesday, July 25 for 1 EC point
  • Homework 7 due Monday, July 24
  • Ants project due Wednesday, July 26, submit by Tuesday, July 25 for 1 EC point
  • Hog composition regrades: revise the project with python3 ok --revise by Sunday, July 23
  • Homework 6 released and due Friday, July 21
  • Ants project released and due Wednesday, July 26

    • Partner project! TAs will help you find a friend in lab!
  • Hog composition regrades: revise the project with python3 ok --revise by Sunday, July 23
  • Midterm Exam on Gradescope

    • View the solutions
    • Submit regrade requests by Thursday night
  • An opportunity for redemption

    • In lab 8 Mon/Tue, there are no lab check-offs
    • In discussion 8 Tue/Wed, Redemption Quiz 1 is optional

      • Complete it at home and turn it in at lecture Wed/Thu if you want feedback
      • TAs might do something special in discussion instead
    • In lab 9 Wed/Thu or lab 10 Mon/Tue, complete a Midterm Check-off for 3 midterm points

      • No lab check-off this week
    • In discussion 9 Thu/Fri, complete Redemption Quiz 2 for 3 midterm points

      • Full credit for good effort
    • Redeem 6 possible points up to max of 70 midterm points
  • There will be additional extra credit opportunities in the future
  • Midterm Review in lecture today, 2050 VLSB
  • Midterm Exam on Thursday, July 13 from 5-8 pm

    • Room assignments will be sent to your CalCentral email tonight
    • If you can't find it, post privately on Piazza
  • Homework 5 is the Mid-Semester Survey, due Sunday, July 16

    • Remember to record your completion at the end of the survey!
  • Discussions cancelled Thursday and Friday

    • Thursday morning labs will still be held
  • Tutoring in office hours and lab

    • Drop-in group and individual sessions in office hours
    • No office hours on Thursday after 2 pm
    • Next week's tutoring signups releasing 1 pm Saturday
  • Maps Project due Tuesday, July 11
  • Midterm Review on Wednesday, July 12 in lecture, 2050 VLSB
  • Midterm Exam on Thursday, July 13 from 5-8 pm
  • Discussions cancelled Thursday and Friday.
  • Midterm Study Party on Friday, July 7 from 3-6 pm in 271 & 277 Soda
  • Environment Diagram Party on Sunday, July 9 from 12-2 pm in 273 & 275 Soda
  • Homework 4 due Monday, July 10
  • Maps Project due Tuesday, July 11

    • Bonus point for submission by Monday, July 10
  • Midterm Review on Wednesday, July 12 in lecture, 2050 VLSB
  • Midterm Exam on Thursday, July 13 from 5-8 pm
  • Remember to complete a lab check-off Wednesday or Thursday
  • Homework 3 due tonight
  • Homework 4 due Monday, July 10
  • Maps released and due Tuesday, July 11
  • An updated set of tests was released on Wednesday so make sure you have the latest copy
  • Midterm on Thursday, 7/13
  • Midterm Study Party at 3-6pm Friday 7/7 in Soda 271 and Soda 277
  • No class or office hours tomorrow due to the Independence Day holiday. Watch the fireworks at night!
  • Remember to complete a lab check-off Wednesday or Thursday.
  • Homework 3 due this Wednesday, July 5.
  • Homework 4 released and due Monday, July 10.
  • Maps released and due Tuesday, July 11.
  • Hog autograder updated: see Piazza for more information. Submit by Thursday for 1 extra credit point.
  • Homework 2 due Friday at 11:59 pm. Remember to check okpy.org for your submission.
  • Remember to ask for check-off at lab this week! We'll ask you to explain one part of a lab or homework that you completed.
  • If you are confused by anything, come to office hours or sign-up for tutoring and mentoring ASAP. Now is the best possible time to learn!
  • Need help with Lab 00? Visit us in office hours today!
  • Discussion sections begin today!
  • First quiz will be administered in Thursday discussion. Full credit for reasonable effort: it shouldn't be stressful!
  • Homework 0 due Friday, 6/23 at 11:59 pm.
  • Class potluck on Friday, 6/23 from 5-6:30 pm.
  • Lab check-offs start next week.
  • Sign up for Piazza, the course forum.
  • Welcome to CS 61A!
  • Lecture begins Monday, June 19 in 2050 Valley Life Sciences Building.
  • Lab starts Monday, June 19 while Discussion starts the day after on Tuesday, June 20.
  • Office hours begin Tuesday, June 20.
  • Sign up for Piazza, the course forum.

Calendar

Week Date Lecture Reading Handout Homework Project
Introduction Mon 6/19 Introduction
(01.py)
1.1
1.2
Lab 00: Introduction and Workflow
(due Tue 6/20)
Mentoring 00: Welcome to Python (Solutions)
Homework 00
(due Fri 6/23)
Tue 6/20 Functions
(Video) (02.py)
1.3
1.4
Discussion 00: Python (Solutions)
Wed 6/21 Control
(Video) (03.py)
1.5 Lab 01: Python
(due Thu 6/22)
Mentoring 01: Functions and Expressions (Solutions)
Homework 01
(due Sun 6/25) (Solutions)
Thu 6/22 Environment Diagrams
(04.py)
Discussion 01: Control and Environments (Solutions)
Quiz 01 (Solutions)
Hog
(due Fri 6/30)
Functions Mon 6/26 Higher-Order Functions
(05.py)
1.6 Lab 02: Higher-Order Functions and Lambdas
(due Tue 6/27)
Mentoring 02: Control and Environments (Solutions)
Homework 02
(due Sat 7/1) (Solutions)
Tue 6/27 Recursion
(Video) (06.py)
1.7 Discussion 02: Higher-Order Functions (Solutions)
Quiz 02 (Solutions)
Wed 6/28 Tree Recursion
(Video) (07.py)
1.7 Lab 03: Recursion and Tree Recursion
(due Thu 6/29)
Mentoring 03: Higher-Order Functions (Solutions)
Homework 03
(due Wed 7/5) (Solutions)
Thu 6/29 Data Abstraction and Containers
(08.py)
2.1
2.2
2.3
Discussion 03: Recursion (Solutions)
Quiz 03 (Solutions)
Data Mon 7/3 Linked Lists
(Video) (09.py)
2.3 Lab 04: Data Abstraction and Lists
(due Wed 7/5)
Mentoring 04: Recursion (Solutions)
Homework 04
(due Mon 7/10) (Solutions)
Maps
(due Tue 7/11)
Tue 7/4 No Lecture: Independence Day
Wed 7/5 Trees
(10.py)
2.3 Lab 05: Linked Lists and Trees
(due Thu 7/6)
Mentoring 05: Data Abstraction and Containers (Solutions)
Thu 7/6 Growth 2.8 Discussion 05: Linked Lists and Trees (Solutions)
Quiz 05 (Solutions)
Mutability Mon 7/10 Mutable Sequences
(12.py)
2.4 Lab 06: Mutable Sequences
(due Tue 7/11)
Mentoring 06: Linked Lists and Trees (Solutions)
Tue 7/11 Mutable Functions
(13.py)
2.4 Discussion 06: Growth and Nonlocals (Solutions)
Quiz 06 (Solutions)
Wed 7/12 Midterm Review
(Solutions)
Lab 07: Midterm Review Homework 05
(due Sun 7/16)
Thu 7/13 Midterm
Objects Mon 7/17 Objects
(Video) (15.py)
2.5 Lab 08: Object-Oriented Programming
(due Tue 7/18)
Mentoring 08: Growth and Nonlocals (Solutions)
Homework 06
(due Fri 7/21) (Solutions)
Ants
(due Wed 7/26)
Tue 7/18 Inheritance and Interfaces
(Video) (16.py)
2.5
2.7
4.2
Discussion 08: Object-Oriented Programming (Solutions)
Redemption Quiz 01 (Solutions)
Quiz 08 (Solutions)
Wed 7/19 Mutable Linked Lists
(17.py)
2.9 Lab 09: Linked Lists and Interfaces
(due Thu 7/20)
Mentoring 09: Mutability and OOP (Solutions)
Homework 07
(due Mon 7/24) (Solutions)
Thu 7/20 Mutable Trees
(18.py)
2.9 Discussion 09: Recursive Objects (Solutions)
Redemption Quiz 02 (Solutions)
Quiz 09 (Solutions)
Interpretation Mon 7/24 Scheme
(Video) (19.scm)
3.1
3.2
Lab 10: Scheme
(due Tue 7/25)
Mentoring 10: Mutable Linked Lists and Trees (Solutions)
Homework 08
(due Fri 7/28) (Solutions)
Tue 7/25 More Scheme
(20.scm)
3.5
4.2
Discussion 10: Scheme (Solutions)
Quiz 10 (Solutions)
Wed 7/26 Interpreters
(21.scm)
3.3
3.4
3.5
Lab 11: Interpreters
(due Thu 7/27)
Mentoring 11: Scheme (Solutions)
Scheme
(due Fri 8/4)
Thu 7/27 Iterators and Generators 4.2 Discussion 11: Interpreters (Solutions)
Quiz 11 (Solutions)
Paradigms Mon 7/31 Streams
(23.py)
4.2 Lab 12: Lazy Evaluation
(due Tue 8/1)
Mentoring 12: Interpreters and Iterators (Solutions)
Homework 09
(due Mon 8/7) (Solutions)
Tue 8/1 SQL
(Video) (24.sql)
4.3 Discussion 12: Lazy Evaluation (Solutions)
Quiz 12 (Solutions)
Wed 8/2 Aggregation
(25.sql)
4.3 Lab 13: SQL and Aggregation
(due Thu 8/3)
Mentoring 13: Streams and SQL (Solutions)
Homework 10
(due Mon 8/7) (Solutions)
Thu 8/3 Conclusion
(Video)
Discussion 13: SQL (Solutions)
Quiz 13 (Solutions)
Scheme Art
(due Wed 8/9)
Applications Mon 8/7 Mock Final
(Solutions)
Lab 14: Final Review
Mentoring 14: Aggregation and Final Review (Solutions)
Tue 8/8 Final Review
(Solution)
Discussion 14: Final Review (Solutions)
Quiz 14 (Solutions)
Wed 8/9 Natural Language Processing
(parse.zip)
Lab 15: Topical Review Homework 11
(due Sun 8/13)
Thu 8/10 Final Homework 12
(due Fri 8/11)