Official Academic Guide course description.
The subjects covered in this course include:
C and assembly language programming,
translation of high-level programs into machine language,
computer organization,
caches,
performance measurement,
parallelism,
CPU design,
warehouse-scale computing,
and related topics.
Prerequisites: CS61A and CS61B (or equivalents). CS61B requirement can be bypassed is you have solid experience with a C-based programming language.
![]() |
We will be using the Risc-V edition of Patterson and Hennessy's Computer Organization and Design book ("P&H"), ISBN 0128122757. |
![]() |
We are also requiring The C Programming Language, Second Edition by Kernighan and Ritchie ("K&R"), and will reference its sections in the reading assignments. Other books are also suitable if you are already comfortable with them, but our lectures will be based on K&R. |
![]() |
Finally, we will be using The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines ("WSC"), which is freely available online here. |
All important course announcements will be made on Piazza. Be sure to join here: https://piazza.com/berkeley/summer2018/cs61c.
You will need a CS61C class account for use in the computer labs, submitting assignments, and tracking your grades. You must request a class login via http://inst.eecs.berkeley.edu/webacct. Make sure you remember your log-in information once you change it! We cannot recover your account information for you.
We will be using a combination of 271 Soda and 330 Soda this semester.
You will be receiving 24/7 key card access to these labs, but please be mindful of the fact that we share these lab spaces with other CS classes.
In addition, please respect the labs by keeping things neat and avoid eating/drinking near the computers.
You can connect remotely to the lab computers using the following addresses:
In order to foster a collaborative environment, CS61C is graded on a fixed scale. The course is graded out of 300 points, with the following mappings from points to letter grades:
Raw Score | 290+ | [270,290) | [260,270) | [250,260) | [230,250) | [220,230) | [210,220) | [190,210) | [180,190) | [140,180) | [0,140) |
Grade | A+ | A | A- | B+ | B | B- | C+ | C | C- | D | F |
In the event that our distribution does not align with the EECS departmental guidelines, we may decrease the raw score boundaries, but they will not increase (i.e. it is possible to receive a higher grade than the mapping suggests, but not a lower one).
Your grade in the class will be broken into the following components:
Assignment | Percentage of Grade |
EPA: Effort, Participation, and Altruism | 5% (15 points) |
Labs | 10% (30 points) |
Homework | 10% (30 points) |
Projects (4 total) | 30% (90 points) |
Midterm I | 13% (40 points) |
Midterm II | 13% (40 points) |
Final | 23% (70 points) |
You can earn "extra credit" points for each of the following:
Effort: Attending office hours and discussions. Keeping up with Piazza.
Participation: Attending lecture, voting on iClicker questions, interacting
with TAs and other students in discussion, asking questions on Piazza.
Altruism: Helping others in lab and on Piazza.
Once again, we point out that EPA is designed to only help you, not hurt you. Because you must be truly exceptional to receive full credit in any one EPA category, it is very difficult to receive a full EPA score. TAs will reward students where credit is due. EPA scores are kept internal to the course staff (i.e. not disclosed to students).
As you may have noticed in the "Participation" section of EPA, you will receive
credit for voting on iClicker questions in lecture (your answer does not necessarily
need to be correct). This is designed to give you a chance to check your understanding of the material by
applying it on-the-spot as well as a chance to interact with your classmates.
Over the course of the semester, you will be allowed to miss "a handful" of lectures
with no penalty. As a result, you will need to obtain an iClicker remote (any that supports 5-choice
multiple choice should be sufficient):
Option 1: You already own an iClicker remote
Labs are designed to give you twice-weekly introductory experience with the course material. After completing each lab, you will need to show your understanding of the lab to your TA or Lab Assistant by stepping through the checkoff steps with him or her. You are required to attend the lab in which you are enrolled, but you are free to attend any discussion section you prefer.
Labs are graded on correct completion. Completion of all labs is highly recommended for success in the course. Each of the 13 labs are graded out of 2 points. Please note that these are not 2 points each from the 30 points "Labs" portion in your course grade. Each lab is simply graded out of 2 points, and we will scale the 26 points lab total up to the 30 points course grade portion. You are required to work in partners for labs.
Labs are due for full points by the next lab session (which is the Tuesday or Thursday after the lab was assigned). If they’re another lab session late, then you get half credit. Any later than that and it’s 0 points. You can always ask for help on the lab, but you can only asked to be checked off once. If you asked to be checked off and you don’t pass the checkoff, you’ll get 0 points.
In each lab, we will maintain two queues: a checkoff queue and a help queue. The checkoff queue is strictly for students who completed the entire lab, and are confident in their results/checkoff answers. Ideally, checkoffs should be quick and efficient. The help queue is for students who need help completing the lab. Please do not use the checkoff queue to request help, even if it is shorter. The number of checkoff attempts you have may be limited, as mentioned below.
Note that if you do not check off a lab the day it is assigned, then you have strictly one checkoff attempt left. You can use that one attempt in the next two labs. If you choose the next lab and fail to show understanding, then you will receive 0 points. If you instead choose two labs and show understanding, then you will receive 1 point. Though your grade will be higher this way, you will be more behind on the material. The staff recommends always asking for help on labs when needed and checking off on time.
Lastly, once your checkoff is complete, your TA or Lab Assistant will immediately enter your points. Your score should instantly be reflected on glookup. Please verify the moment you finish your checkoff. The staff is not liable for missing checkoff points.
Homework is designed to give you more problem practice on the week's material. We encourage you to work on the homework problems in small groups, but each student is required to turn in a solution that they have written themselves.
Homework is done online via edX and is graded on correct completion. Once again, completion of all HW is highly recommended. We will release homework solutions shortly after the due date, so late homework is not accepted.
Though most homeworks will give you unlimited attempts, some will not. In particular, some homeworks will contain multiple choice questions with limited attempts. These questions will mention that they are limited, so please read all questions thoroughly before attempting.
Projects are designed to give you heavy-duty experience with the application of course content. Projects are graded on correctness.
You will work on projects individually. Collaborating with other students is strictly prohibited. Please see the section on Academic Dishonesty below.
For each day that a project is late, 1/3 of your earned points on the project are deducted, until the project is worth nothing. Lateness rounds up to the nearest day - that is, an assignment that is 2 hours late is one day late.
To help you handle any issues that arise, we give you three slip-day tokens,
which allow you to reduce your late penalties on late submissions.
Example usages:
Slip-days may only be applied towards projects, and not any other assignments. Slip-days will not be assessed against projects you did not submit. No extra credit is awarded for avoiding the use of slip-days, however it is in your best interest to avoid turning projects in late. Usually, a new project will be released very shortly after the current project is due.
On each exam, you will be given a RISCV Green Sheet attached to the exam. Additionally, you will be allowed to bring handwritten or typed cheat sheets as indicated below:
Please carefully read the policies below and ask a member of the course staff if you have any questions or if something is unclear.
The Disabled Students' Program (DSP) is committed to ensuring that all students with disabilities have equal access to educational opportunities at UC Berkeley. They offer a wide range of services for students with disabilities that are individually designed and remove the need to reveal sensitive medical information to the course staff. If you have a medical need for extensions of exam times or assignment deadlines, these will be granted through official documentation from DSP. Please start the process at http://dsp.berkeley.edu as soon as possible to avoid delays.
We recognize that our students come from varied backgrounds and can have
widely-varying circumstances. If you have any unforeseen or extenuating
circumstance that arise during the course, please do not hesitate to contact
the instructors in office hours or via e-mail or private Piazza post to discuss your situation.
The sooner we are made aware, the more easily these situations can be resolved.
Extenuating circumstances include work-school balance, familial
responsibilities, religious observations, military duties, unexpected travel,
or anything else beyond your control that may negatively impact your
performance in the class.
Additionally, if at any point you are made to feel uncomfortable, disrespected,
or excluded by a staff member or fellow student, please report the incident so
that we may address the issue and maintain a supportive and inclusive learning
environment. Should you feel uncomfortable bringing up an issue with a staff
member directly, you may consider contacting the Campus Ombuds Office or the ASUC Student Advocate's
Office (SAO).