The exam will be from 7-10:10 PM Wednesday, December 12th.
Please arrive by 7:00 PM. We will start promptly at 7:10 PM.
The final exam will be held at many locations across campus. We will email your room and seating assignment for the exam to your CalCentral email address Tuesday night before the exam.
If you do not receive your seating assignment by Wednesday morning, please fill out this form or a make a private post on Piazza to let us know.
The exam is closed book, closed computer, and closed calculator. You do not need to bring anything except for a writing utensil and UC Berkeley student ID. We recommend using a pencil on the exam, since you may need to erase some things.
You are, however, allowed to bring three sheet of notes (front and back) that you create yourself. This sheet must be handwritten and you may not share them with anyone else. The purpose of these restrictions is to provide an additional opportunity for you to practice since many students have remarked that the process of compiling a note sheet helped them greatly when studying for the exam.
The Midterm 1 Study Guide, the Midterm 2 Study Guide, and the Final Study Guide will also be provided along with the exam. Familiarize yourself with the study guide so you know where to find information and how to apply each rule during the exam.
Scratch paper will be provided, but we will not grade your scratch work. You will write your answers on the exam itself.
The exam will cover all course topics of Composing Programs, except for:
- Newton's method (1.6.5)
- The linked list data abstraction (2.3.7)
- Implementing lists & dictionaries (2.4.11)
- Dispatch dictionaries (2.4.12)
- Propagating constraints (2.4.13)
- Implementing classes and objects (2.6)
- Logic programming (4.4)
- Unification (4.5)
- Distributed computing (4.6)
- Distributed data processing (4.7)
- Parallel computing (4.8)
You should be prepared to answer questions that relate closely to the projects and homework assignments (not including challenge problems). You should also know how to draw an environment diagram by hand but will not be tested on diagrams of user-defined classes and objects, list comprehensions, or generator functions.
The best way to study for the midterm is to work through practice problems. The course staff has put together the following resources:
- Studying Guide
- Resources: The past finals that the staff think are most relevant are the Spring 2018, Fall 2017, Summer 2017, and Summer 2016.
- Labs and discussions (and solutions) from the course website
- Python Tutor for drawing environment diagrams
See resources page for past exams, solutions, and video walkthroughs.
RRR Week Review Sessions
There will be no labs, discussion, or office hours during RRR week.
However, course staff will be holding topical review sessions throughout RRR week. See links.cs61a.org/topical-review-sessions or the weekly schedule. They will be co-led by a staff TA and staff Tutor. The staff will review the topic and go over practice problems. There are multiple times for each topic so don't fret if you can't make a certain time! Feel free to also bring other questions to the review sessions. The resources used in these review sections can be found pinned on Piazza.
HKN Final Review Session
7-10 PM Tuesday, December 4 in HP Auditorium
The format will be slides reviewing the concepts, followed by example questions.
CSM Final Review Session
We will use your seating request from the past midterms unless you email firstname.lastname@example.org to tell us that something has changed.
Students taking alternate exams (including DSP exams) will receive an email some time next week to schedule your exam. If you have not heard from us by next Sunday, December 9, please email email@example.com. If you are requesting an alternate, please email firstname.lastname@example.org with proof of conflict. As stated in the policies we will only give alternate times to students with direct course conflicts with the final.