Final Exam
The exam will be from 11:30-2:30 PM Tuesday, May 14th.
Please arrive by 11:30 AM. We will start promptly at 11:40 AM.
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 Sunday night before the exam.
If you do not receive your seating assignment by Monday morning, please fill out this form or a make a private post on Piazza to let us know.
Materials
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. Please do not use an erasable pen otherwise we will be unable to grade your exam.
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.
There will also be no scratch paper provided; however, there will be enough blank space provided in the exams for scratch work.
Topics Covered
The exam will cover all course topics of Composing Programs, except for:
- Newton's method (1.6.5)
- Implementing lists & dictionaries (2.4.11)
- Dispatch dictionaries (2.4.12)
- Propagating constraints (2.4.13)
- Recursive select statements (4.3.5)
- Logic programming (4.4)
- Unification (4.5)
All course lectures up through May 3 are in scope. The last week's lectures of extra topics will not be tested in depth; however, you can expect high-level questions that can be easily answered from just watching the lectures.
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.
Preparation
The best way to study for the midterm is to work through practice problems. The course staff has put together the following resources:
- Study Plan
- Studying Guide
- Resources: The past finals that the staff think are most relevant are the Fall 2018, Spring 2018, Fall 2017, Spring 2017, and Fall 2016 exams.
- Labs and discussions (and solutions) from the course website
- Python Tutor for drawing environment diagrams
Past Exams
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
12-3 PM Tuesday, May 7 in HP Auditorium
The format will be slides reviewing the concepts, followed by example questions.
CSM Final Review Session
2-3 PM May 6 in Wheeler Auditorium Environment Diagrams, Recursion, Tree Recursion, Lists, Nonlocal
2-3 PM May 8 in Wheeler Auditorium OOP, Orders of Growth, Linked Lists, Mutable Trees, Scheme
2-3 PM May 10 in Wheeler Auditorium Interpreters, Macros, Tail Recursion, Streams, Iterators/Generators, SQL
Seating Request
We will use your seating request from the past midterms unless you email cs61a@berkeley.edu to tell us that something has changed.
Alternates
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, May 12, please email cs61a@berkeley.edu. If you are requesting an alternate, please fill out this form. According to our new policy, students with 3 finals on the same day may request an alternate CS 61A exam.