Announcements

  • Final logistics posted under https://cs61a.org/exams/final.html
  • TWO EXTRA CREDIT OPPORTUNITIES

    • One extra credit point for completing the CS 61A final online survey by Monday, May 8th 11:59pm. This is different than the UC Berkeley course evaluations and are used primarily to improve the course.
    • Another extra credit point for completing the voting form for your favorite entries in this semester's Scheme Art Contest by Monday, May 8th at 11:59pm.
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 and 2 walkthrough posted under resources.
  • TWO EXTRA CREDIT OPPORTUNITIES

    • One extra credit point for completing the CS 61A final online survey by Monday, May 8th 11:59pm. This is different than the UC Berkeley course evaluations and are used primarily to improve the course.
    • Another extra credit point for completing the voting form for your favorite entries in this semester's Scheme Art Contest by Monday, May 8th at 11:59pm.
  • Topical review sessions this week. See weekly schedule.

    • TA will review the topic and go over practice problems.
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 walkthrough posted under resources.
  • Topical review sessions next week. See weekly schedule.

    • TA will review the topic and go over practice problems.
  • CSM Review session Wed 4/28 8-10pm in HP Auditorium. See Piazza.
  • Scheme Recursive Art Contest due Monday 5/1 @ 11:59pm. Extra credit points will be awarded to the top 3 winners!
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 walkthrough posted under resources.
  • Guerrilla Section on Scheme, Tail Calls, Interpreters and SQL on Saturday 4/29 12-3pm.

    • Come to guerrilla sections to learn concepts from the ground up! You work with a group on problems starting from basic to more complex. Please bring your computer.
  • Topical review sessions next week. See weekly schedule.

    • TA will review the topic and go over practice problems.
  • CSM Review session Wed 4/28 8-10pm in HP Auditorium. See Piazza.
  • Ants composition revisions due Sunday 4/30 @ 11:59pm.
  • Scheme Recursive Art Contest due Monday 5/1 @ 11:59pm. Extra credit points will be awarded to the top 3 winners!
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 walkthrough posted under resources.
  • Homework 9 due Thursday 4/27 @ 11:59pm.

    • Homework party Wednesday 4/26 6:30-8:30pm in 247 Cory.
  • Guerrilla Section on Scheme, Tail Calls, Interpreters and SQL on Saturday 4/29 12-3pm.

    • Come to guerrilla sections to learn concepts from the ground up! You work with a group on problems starting from basic to more complex. Please bring your computer.
  • Topical review sessions next week. See weekly schedule.

    • TA will review the topic and go over practice problems.
  • Ants composition revisions due Sunday 4/30 @ 11:59pm.
  • Scheme Recursive Art Contest due Monday 5/1 @ 11:59pm. Extra credit points will be awarded to the top 3 winners!
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 walkthrough posted under resources.
  • Homework 9 due Thursday 4/27 @ 11:59pm.

    • Homework party Wednesday 4/26 6:30-8:30pm in 247 Cory.
  • Ants composition revisions due Sunday 4/30 @ 11:59pm.
  • Scheme Recursive Art Contest due Monday 5/1 @ 11:59pm. Extra credit points will be awarded to the top 3 winners!
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 walkthrough posted under resources.
  • Scheme project due Thursday 4/20 @ 11:59pm. Earn a bonus point for early submission by Wednesday 4/19 @ 11:59pm.

    • For full credit, submit with Part I complete by Thursday 4/13, submit again with Part II complete by Tuesday 4/18, and submit the entire project by Thursday 4/20.
    • Project party Wednesday 4/19 6:30-8:30pm in 247 Cory.
    • Remember that there are hidden tests for this project. The only way to see these tests is to submit, so submit your project after every question and you will receive an email with your results.
    • There will be no chance for composition revisions.
  • Ants composition revisions due Sunday 4/30 @ 11:59pm.
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Midterm 1 walkthrough posted under resources.
  • Scheme Recursive Art Contest due Monday 5/1 @ 11:59pm. Extra credit points will be awarded to the top 3 winners!
  • Scheme project due Thursday 4/20 @ 11:59pm. Earn a bonus point for early submission by Wednesday 4/19 @ 11:59pm.

    • For full credit, submit with Part I complete by Thursday 4/13, submit again with Part II complete by Tuesday 4/18, and submit the entire project by Thursday 4/20.
    • Project party Wednesday 4/19 6:30-8:30pm in 247 Cory.
    • Remember that there are hidden tests for this project. The only way to see these tests is to submit, so submit your project after every question and you will receive an email with your results.
  • Maps composition revisions due Sunday 4/16 @ 11:59pm.
  • Hog Contest Winners:

    • 1st place: Cindy Jin & Sunjoon Lee 44 wins 0 losses
    • 2nd place: Anny Patino & Christian Vasquez 43 wins 1 loss
    • 3rd place: Ashna Choudhury & Jenna Wen 41 wins 3 losses
    • 3rd place: Michelle Lee & Nicholas Chew 41 wins 3 losses
  • Scheme Recursive Art Contest due Monday 5/1 @ 11:59pm. Extra credit points will be awarded to the top 3 winners!
  • Scheme project due Thursday 4/20 @ 11:59pm. Earn a bonus point for early submission by Wednesday 4/19 @ 11:59pm.

    • For full credit, submit with Part I complete by Thursday 4/13, submit again with Part II complete by Tuesday 4/18, and submit the entire project by Thursday 4/20.
    • Project party Wednesday 4/12 and Wednesday 4/19 6:30-8:30pm in 247 Cory.
    • Remember that there are hidden tests for this project. The only way to see these tests is to submit, so submit your project after every question and you will receive an email with your results.
  • Maps composition revisions due Sunday 4/16 @ 11:59pm.
  • Ants is released and due Thursday 3/23 @ 11:59pm. Extra point for submitting by Wednesday 3/22 @ 11:59pm.

    • Project parties next Tuesday 3/21 & Wednesday 3/22 6:30-8:30pm in 247 Cory.
  • Homework 06 is released and due Friday 3/24 @ 11:59pm.

    • Homework party Thursday 3/23 6:30-8:30pm in 247 Cory.
  • There is regular lab and discussion this week.
  • Midterm 2 scores are released.

  • Ants is released and due Thursday 3/23 @ 11:59pm. Extra point for submitting by Wednesday 3/22 @ 11:59pm.

    • Project parties next Tuesday 3/21 & Wednesday 3/22 6:30-8:30pm in 247 Cory.
  • Homework 06 is released and due Friday 3/24 @ 11:59pm.

    • Homework party Thursday 3/23 6:30-8:30pm in 247 Cory.
  • No discussion this week.
  • Maps project due next Tuesday 2/28 @ 11:59pm. Earn a bonus point for early submission by Monday 2/27 @ 11:59pm.

    • Project party Thursday 2/23 6:30-8:30pm in 247 Cory.
    • Project party Monday 2/27 6:30-8:30pm in 247 Cory.
  • Guerrilla Section on Trees, Linked Lists, and Mutable Values this Saturday 2/25 12-3pm in 247 Cory.
  • Exam Prep Office Hours starting this week. See Piazza and office hours for the official schedule.
  • There will be no lecture this week on Friday, 02/24/2017.
  • The CS198 additional-topics class will not meet on Friday, 02/24/2017, nor the next week (02/24/2017).
  • There will be no lecture this week on Friday, 02/24/2017.
  • The CS198 additional-topics class will not meet on Friday, 02/24/2017, nor the next week (02/24/2017).
  • Midterm 1 will be Friday 2/17 7-9pm. Test room assignments will be released Thursday.
  • Midterm 2 will be Wednesday 3/15 8-10pm.
  • There will be a Q&A during lecture this Friday (2/17) instead of usual lecture. Come with all your questions about the midterm.
  • TAs will host topical office hours Wed & Thurs where they will review the topic and go over past midterm problems. See office hours for the official schedule.
  • Online office hours available this week! See office hours for times. Go to https://online.cs61a.org/ during these times and copy and paste your code into the browser. Video, audio, and text support available!
  • The CS198 additional-topics class will not meet on Friday, 02/17/2017, nor the next week (02/24/2017).
  • Homework 3 due Tuesday 2/14 @ 11:59pm.

    • Homework party Monday 2/13 6:30-8:30pm in 247 Cory Hall. Come with all your homework questions!
  • Midterm 1 will be Friday 2/17 7-9pm. Test room assignments will be released Thursday.
  • Midterm 2 will be Wednesday 3/15 8-10pm.
  • There will be a Q&A during lecture this Friday (2/17) instead of usual lecture. Come with all your questions about the midterm.
  • TAs will host topical office hours Wed & Thurs where they will review the topic and go over past midterm problems. See office hours for the official schedule.
  • Online office hours available this week! See office hours for times. Go to https://online.cs61a.org/ during these times and copy and paste your code into the browser. Video, audio, and text support available!
  • Homework 3 due Tuesday 2/14 @ 11:59pm.

    • Homework party Monday 2/13 6:30-8:30pm in 247 Cory Hall. Come with all your homework questions!
  • Midterm 1 will be Friday 2/17 7-9pm. Fill out conflict form by February 12th. Test room assignments will be released next week.
  • Guerrilla Section on Environment Diagrams, Higher Order Functions, and Recursion this Saturday 2/11 12-3pm in 247 Cory.
  • Midterm 2 will be Wednesday 3/15 8-10pm.
  • CS 198: Extra material related to CS61A, Fridays 4:30-6:00pm in 306 Soda. This is a 1 unit P/NP course for people wanting a little more. It is completely optional and is not intended to give people extra help in CS61A. Lectures and a few homeworks. Attendance taken. Sign up for CCN 34691. New: Go here for lecture slides, assignments, and other information.
  • Online office hours available this week! See office hours for times. Go to https://online.cs61a.org/ during these times and copy and paste your code into the browser. Video, audio, and text support available!
  • Homework 2 due Monday 2/6 @ 11:59pm.

    • Homework party Monday 2/6 6:30-8:30pm in 247 Cory Hall. Come with all your homework questions!
  • Midterm 1 will be Friday 2/17 7-9pm. Fill out conflict form by February 12th.
  • Midterm 2 will be Wednesday 3/15 8-10pm.
  • Test room assignments and conflict forms will be released before the respective tests.
  • CS 198: Extra material related to CS61A, Fridays 4:30-6:00pm in 306 Soda. This is a 1 unit P/NP course for people wanting a little more. It is completely optional and is not intended to give people extra help in CS61A. Lectures and a few homeworks. Attendance taken. Sign up for CCN 34691. New: Go here for lecture slides, assignments, and other information.
  • Online office hours available this week! See office hours for times. Go to https://online.cs61a.org/ during these times and copy and paste your code into the browser. Video, audio, and text support available!
  • The Hog Project due Thursday 2/2 @ 11:59pm. Earn a bonus point for early submission by Wednesday 2/1 @ 11:59pm.

    • Project parties Tuesday 1/31 and Wednesday 2/1 6:30-8:30pm in 247 Cory Hall.
    • Remote office hours Wednesday 2/1 4-6pm. See office hours for more details.
  • Homework 2 due Monday 2/6 @ 11:59pm.

    • Homework party Monday 2/6 6:30-8:30pm in 247 Cory Hall. Come with all your homework questions!
  • Midterm 1 will be Friday 2/17 7-9pm. Fill out conflict form by February 12th.
  • Midterm 2 will be Wednesday 3/15 8-10pm.
  • Test room assignments and conflict forms will be released before the respective tests.
  • CS 198: Extra material related to CS61A, Fridays 4:30-6:00pm in 306 Soda. This is a 1 unit P/NP course for people wanting a little more. It is completely optional and is not intended to give people extra help in CS61A. Lectures and a few homeworks. Attendance taken. Sign up for CCN 34691.
  • CS 97: Computer Science Mentors section signups are now open! Please read pinned Piazza post.
  • See the syllabus for latest course policies, including homework and project grading.
  • Homework 1 due Monday 1/30 @ 11:59pm.

    • Homework party Monday 1/30 6:30-8:30pm in 247 Cory Hall. Come with all your homework questions!
  • The Hog Project due next Thursday 2/2 @ 11:59pm. Earn a bonus point for early submission by Wednesday 2/1 @ 11:59pm.

    • Project parties next Tuesday 1/31 and Wednesday 2/1 6:30-8:30pm in 247 Cory Hall.
  • Midterm 1 will be Friday 2/17 7-9pm. We will have room assignments and a conflict form released later.
  • See the syllabus for updated course policies, including homework and project grading.
  • Office hours begin this week. See the office hours schedule for times and locations. Come with any questions on lecture, lab, discussion, or any other material.
  • Waitlisted and concurrent enrollment students should attend lectures and sections. Just try to find a lab and discussion where there is physically room for now. You will not (ever) be able to sign up for CS Scholars lab and discussion sections (113, 013, 116, or 016), which are reserved.
  • In order to enroll, some waitlisted students may end up having to enroll in sections where they have conflicts, which will require special processing. We discourage taking the course if you have a lecture conflict, first because this implies final exam conflicts, and second because if you are not a CS major and have a conflicting required course, you should probably concentrate on that.
  • We cannot process concurrent enrollment applications until we are sure that waiting lists can be cleared. We'll announce when this is. If you are enrolled and decide to drop, please remove yourself from the course as soon as possible.
  • Lecture on Friday (1/20) will be in Zellerbach Auditorium (still at the scheduled time of 2PM). After this week, lectures will be in the Pauley Ballroom.
  • If you were unable to get an instructional account from the EECS account website (as linked in Lab 0), fill out this form and we'll get back to you. All students, including concurrent enrollment students and waitlisted students, are eligible.
  • Office hours will begin on Monday (1/23). See the office hours schedule for times and locations.
  • Waitlisted and concurrent enrollment students should attend lectures and sections. Just try to find a lab and discussion where there is physically room for now.
  • In order to enroll, some waitlisted students may end up having to enroll in sections where they have conflicts, which will require special processing. We won't handle that until next week. We discourage taking the course if you have a lecture conflict, first because this implies final exam conflicts, and second because if you are not a CS major and have a conflicting required course, you should probably concentrate on that. You will not (ever) be able to sign up for CS Scholars sections (113, 013, 116, or 016), which are reserved.
  • We cannot process concurrent enrollment applications until we are sure that waiting lists can be cleared. At the soonest, this will be next week.
  • Lab starts this Tuesday (1/17) and Wednesday (1/18). See Lab 00 below.
  • NEW: Lecture begins Wednesday (1/18). For first week only lectures will be in Zellerbach Auditorium (still at the scheduled time of 2PM). After this week, lectures will be in the Pauley Ballroom.
  • Discussion begins this Thursday (1/19) and Friday (1/20). Attend a discussion section that is hosted by the same TA as your lab section, instead of discussion on CalCentral. Section times and locations can be found on the Weekly Schedule.
  • No office hours this week. Post on Piazza if you have any questions or email your TA.
  • Waitlisted and concurrent enrollment students should attend lectures and sections. Just try to find a lab and discussion where there is physically room for now.
  • In order to enroll, some waitlisted students may end up having to enroll in sections where they have conflicts, which will require special processing. We won't handle that until next week. We discourage taking the course if you have a lecture conflict, first because this implies final exam conflicts, and second because if you are not a CS major and have a conflicting required course, you should probably concentrate on that. You will not (ever) be able to sign up for CS Scholars sections (113, 013, 116, or 016), which are reserved.
  • We cannot process concurrent enrollment applications until we are sure that waiting lists can be cleared. At the soonest, this will be next week.
  • Welcome to CS 61A!

Calendar

Warning: Calendar entries after current lecture are subject to change.

Week Date Lecture Reading Handout Homework Project
1 Wed 1/18 Introduction
(1pp) (6pp) (01.py)
1.1
1.2
Lab 00: Introduction and Workflow
(due Fri 1/27)
Fri 1/20 Names and Functions
(1pp) (6pp) (02.py)
1.3
1.4
Discussion 00: Lost on the Moon (Solutions)
2 Mon 1/23 Names, Control
(1pp) (6pp) (03.py)
1.5 Homework 01
(due Mon 1/30) (Solutions)
Wed 1/25 Iteration, Higher-Order Functions
(1pp) (6pp) (04.py)
1.6 Lab 01: Expressions and Control Structures
(due Fri 1/27)
Hog
(due Thu 2/2)
Fri 1/27 Higher-Order Functions
(1pp) (6pp) (05.py)
1.6 Discussion 01: Control and Higher Order Functions (Video) (Slides) (Solutions)
3 Mon 1/30 Recursion
(1pp) (6pp) (06.py)
1.7 Homework 02
(due Mon 2/6) (Solutions)
Wed 2/1 Tree Recursion
(1pp) (6pp) (07.py)
1.7 Lab 02: Lambdas, Higher-Order Functions, and Recursion
(due Fri 2/3)
Fri 2/3 Recursion, Functions, and Data
(1pp) (6pp)
2.1
2.2
Discussion 02: Environment Diagrams and Recursion (Video) (Slides) (Solutions)
4 Mon 2/6 Sequences
(1pp) (6pp) (09.py)
2.3
Wed 2/8 Trees
(1pp) (6pp) (10.py)
2.3 Lab 03: Data Abstraction and Recursion/Lambdas Review
(due Fri 2/10)
Homework 03
(due Tue 2/14) (Solutions)
Fri 2/10 Immutable and Mutable Data
(1pp) (6pp) (11.py)
2.4 Discussion 03: Sequences and Trees (Video) (Slides) (Solutions)
5 Mon 2/13 Mutable Data
(1pp) (6pp) (12.py)
2.4
Wed 2/15 Objects
(1pp) (6pp) (13.py)
2.5 Lab 04: Lists, Linked Lists, and Trees
(due Mon 2/20)
Fri 2/17 Midterm 1 Discussion 04: Midterm Review (Solutions) Maps
(due Tue 2/28)
6 Mon 2/20 No Lecture: Holiday
Wed 2/22 OOP and Inheritance
(1pp) (6pp) (14.py)
2.5 Lab 05: Mutable Lists, Dictionaries, and Nonlocal
(due Fri 2/24)
Hog Contest
(due Tue 3/7)
Fri 2/24 No Lecture: Cancelled Discussion 05: Mutation and Object Oriented Programming (Video) (Slides) (Solutions)
7 Mon 2/27 Expressiveness
(1pp) (6pp) (15.py)
2.7 Homework 04
(due Mon 3/6) (Solutions)
Wed 3/1 Iterators and Generators
(1pp) (6pp) (16.py)
4.2 Lab 06: Object-Oriented Programming
(due Fri 3/3)
Fri 3/3 Complexity
(1pp) (6pp) (17.py)
2.8 Discussion 06: Iterators and Generators (Video) (Slides) (Solutions)
8 Mon 3/6 Complexity, Memoization
(1pp) (6pp) (18.py)
2.8 Homework 05
(due Mon 3/13) (Solutions)
Wed 3/8 Search Trees
(1pp) (6pp) (19.py)
2.9 Lab 07: Iterators and Generators
(due Fri 3/10)
Ants
(due Thu 3/23)
Fri 3/10 Sets
(1pp) (6pp) (20.py)
2.9 Discussion 07: Orders of Growth and Trees (Video) (Slides) (Solutions)
9 Mon 3/13 Exceptions
(1pp) (6pp) (21.py)
3.3
Wed 3/15 Midterm 2 Lab 08: Midterm Review
(due Mon 3/20)
Homework 06
(due Fri 3/24) (Solutions)
Fri 3/17 Scheme
(1pp) (6pp) (22.scm)
3.1
3.2
10 Mon 3/20 Calculator
(1pp) (6pp) (23.py)
3.4
Wed 3/22 Scheme Examples
(1pp) (6pp) (24.scm)
3.5 Lab 09: Scheme
(due Fri 3/24)
Fri 3/24 The Halting Problem
(1pp) (6pp)
Discussion 08: Scheme (Video) (Slides) (Solutions) Homework 07
(due Thu 4/6) (Solutions)
11 Mon 3/27 No Lecture: Holiday
Wed 3/29 No Lecture: Holiday
Fri 3/31 No Lecture: Holiday
12 Mon 4/3 Scheme Interpreter
(1pp) (6pp)
3.5 Scheme
(due Thu 4/20)
Wed 4/5 Streams
(1pp) (6pp) (27.py)
4.2 Lab 10: Interpreters
(due Fri 4/7)
Fri 4/7 Declarative Programming: SQL
(1pp) (6pp) (28.sql)
4.3 Discussion 09: Interpreters and Tail Calls (Video) (Slides) (Solutions)
13 Mon 4/10 SQL Aggregation and Recursion
(1pp) (6pp) (29.sql)
4.3 Homework 08
(due Tue 4/18) (Solutions)
Wed 4/12 SQL Miscellaneous
(1pp) (6pp) (30.sql)
4.3 Lab 11: Streams, Sets, and Binary Trees
(due Fri 4/14)
Fri 4/14 A Problem
(1pp) (6pp) (31.py)
Discussion 10: Streams, Iterators, and Binary Trees (Video) (Slides) (Solutions)
14 Mon 4/17 More Problems
(1pp) (6pp) (32.py)
Wed 4/19 Problems Continued
(1pp) (6pp) (33.py)
Lab 12: SQL
(due Fri 4/21)
Scheme Contest
(due Mon 5/1)
Thu 4/20 Homework 09
(due Thu 4/27) (Solutions)
Fri 4/21 Distributed Computing
(1pp) (6pp)
4.6 Discussion 11: SQL (Video) (Slides) (Solutions)
15 Mon 4/24 Distributed Data
(1pp) (6pp) (35.py)
Wed 4/26 Cryptography
(1pp) (6pp)
Lab 13: Spark
(due Fri 4/28)
Fri 4/28 Conclusion
(1pp) (6pp)
Discussion 12: Final Review (Video) (Solutions)
16 Tue 5/9 Final