Policies

Fall 2026: 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

CS 61A and CS 61B (or equivalents) or experience with a C-based programming language (e.g. Java, C++).


Reading

Course notes began active development in Spring 2026 and are written specifically for this course. They are based on the following textbooks, as well as course lectures, discussions, and other materials:

If you find an error, please email cs61c@!

Important: This semester, course notes will be the reference for what is in scope for exams, homework, projects, discussions, and labs. It is your responsibility to ensure that you are familiar with and practice all of the content in the course notes for each topic. Live lectures may not cover the entire topic, since some time is used for live questions.


Course Format

The following sub-sections contain an overall summary of the major elements of the course. The course includes many events and opportunities for learning: lecture, lab, discussion, office hours, and more. Try everything out to figure out what combination of these course components help you the most.

Lecture

We will have a 50-minute live lecture on Mondays, Wednesdays, and Fridays, 11:00 AM - 12:00 PM PT, in Gateway 1210. Recordings will be made available after the lecture on bCourses.

Discussion

Starting Week 2, 1 hour discussion sections will be held on Mondays, Tuesdays, and Wednesdays. The content on all three days will be the same, tying lecture and homework together while involving more conceptual work. See discussion hours on the Calendar tab.

This semester, we are offering two discussion formats: regular discussions and the video discussions. Both are designed to help students learn the course material equally well. You can choose which format you want. It is possible to change formats until the semester add/drop deadline.

Regular Discussion

This section format is in-person and runs for 1 hour, focusing on the discussion worksheet and group problem-solving, facilitated by a TA. To receive credit for discussion, you must attend and be checked off by your discussion TA. In Week 2-3, audit discussion sections for no attendance. Then, sign up for your preferred discussion section on the 61C Sections Tool. Starting Week 4, receiving credit for any 10 (or more) discussions will earn a perfect discussion score for the course. You can only receive credit for the section you are signed up for. Discussion attendance will only be tracked after sign ups have concluded. We strongly encourage you to attend various TA discussions in weeks 2-3 to find a teaching style that works for you!

Video Discussion

Video discussion does not meet. Instead, there are recorded videos from Spring 2025 and Summer 2025, where a TA walks through the discussion worksheet and explains key concepts. All students in the video section will automatically receive full discussion credit. It is up to video section students to keep up with weekly discussion materials as they see fit. All recorded videos will be available for viewing throughout the semester.

Choosing a discussion format

Video discussion is only recommended for students with considerable prior programming experience who are confident that they can succeed in the course without the support of in-person discussion.

All options are meant to be great. Video discussion is designed to appeal to students who learn well from watching videos, working independently, and coming to drop-in office hours when they need help. But the in-person format of regular discussion has advantages for students who wish to work with others and get to know the course staff. Most students choose in-person discussion.

Deeper Discussion

This semester, we will also offer a deeper discussion designed to dive deeper into the material and tie concepts to research. Deeper discussion will be scheduled on Wednesdays and will provide students the opportunity to engage more with the same content as regular discussion while also diving deeper into the material. These sessions will not require a sign-up. Students are encouraged to come any week they want to explore content deeper. Deeper discussion will not count for discussion attendance.

Weekbehind Discussion

This semester, we will also offer a weekbehind discussion designed to give students an opportunity to catch up on prior material. Weekbehind discussion will be scheduled on Mondays and will cover the discussion content from the week prior. These sessions will not require a sign-up. Students are encouraged to come any week they want additional review of past content. Weekbehind discussion will only count for attendance if you are looking to make up a missed regular discussion from the prior week.

Labs

Labs are self-service; all students must submit lab assignments to Gradescope. Lab content ties lecture and projects together and involves hands-on practice with the software tools needed to complete projects.

2-hour long lab sections will be held on Wednesdays and Thursdays. The content on both days will be the same. Lab sections are held "lab party" style for students to work together on the lab assignment. TAs may also facilitate small review sessions of pertinent topics. You can choose to attend any lab section you want, or work on labs asynchronously. We encourage you to work on the labs in small groups, but each student is required to turn in a solution that they have written themselves.

Lab assignments are autograded on Gradescope. Because there is no attendance credit for self-service labs, your lab score will be solely based on your test cases (i.e., if you pass 80% of test cases you will receive a score of 80% on that lab).

Important: For Fall 2026, lab section rooms will not have computers. Please bring your personal laptop when attending lab sections! Email cs61c@ or check out the Student Technology Equity Program if you would like resources to buy/loan laptops for the semester.

Homework

Homework is designed to let you practice the material covered in lecture. 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 submitted online through PrairieLearn and graded on correctness.

Projects

Projects are designed to give you heavy-duty experience with the application of course content. We'll have three projects throughout the course. Projects are submitted to Gradescope and graded on correctness. You may optionally work with one partner for each project.

You are responsible for:

  • Creating your repository according to course guidelines; see Lab 0. (If applicable) You may not add, change, or remove partners after creating the project repo.
  • "Activating" the submission you want graded on Gradescope; by default, Gradescope grades the last submission you made.
  • Double-checking all of the work in your project repository and as submitted on Gradescope.
  • (If applicable) Registering your partnership on Gradar. Adding another student to your Gradescope submission does not create an official partnership.
  • (If applicable) Adding your partner to every Gradescope submission.

If you choose to work with a partner, all work must be done synchronously in a pair-programming fashion. By creating a partnership, both you and your partner are responsible for the work in your repository and the work you submit.

Exams

All exams are in-person only. Exam specific details will be released on Ed closer to each exam.

Computer-Based Testing Facility (CBTF). Exams, except for the Final, in this course will be administered in the Comptuer-Based Testing Facility (CBTF). Students are responsible for reading and following all CBTF policies and procedures, including instantiating a PrairieTest account, submitting any DSP accommodtaions in advance, and reserving and attending exam sessions on time. During CBTF exams, students may use only the materials and resources expressly authorized by the course; unauthorized devices, materials, or resources are prohibited. CBTF proctors monitor all sessions and will document and report any suspected academic misconduct to the course staff. Suspected violations will be handled in accordance with the Berkeley Honor Code and the UC Berkeley Code of Student Conduct, and may result in penalties up to and including a failing grade on the exam or in the course and referral to the Center for Student Conduct.

CBTF Exams

There will be one Quest (Quiz + Test), scheduled for 50-minutes in the Computer-Based Testing Facility (CBTF) September 16th - September 18th (Wednesday - Friday). Retakes will be September 24th - September 25th (Thursday - Friday).

There will be two Midterm parts, both scheduled for 50-minutes in the CBTF. Midterm part 1 is scheduled for October 28th - October 30th (Wednesday - Friday). Retakes will be November 2nd - November 3rd (Monday - Tuesday). Midterm part 2 is scheduled for November 9th - November 13th (Monday - Friday). Retakes will be November 19th - November 20th (Thursday - Friday).

Important CBTF Exams (Quest, Midterm part 1, Midterm part 2) are self-scheduled via PrairieTest. If you have DSP accommodations, please submit your letter of accommodation directly via the AIM portal, and you will automatically receive your accommodations when you check in.

Since all CBTF exams have retakes, there will be no leniency for missing both an exam and its retake. Additionally, if you forget to sign up for a CBTF exam during the self-registration window, you will receive a 0 for the exam. No exceptions will be made.

Final Exam

The paper final exam is scheduled for Monday, December 14th, 11:30 AM - 2:30 PM PT.

We do not offer online final exams, so please do not ask for one; the final exam must be administered in person.

Final Clobber: The final exam will be comprehensive and include questions that cover the entire course. It will include questions that are more difficult than the CBTF exams. If your percentage score of your final is higher than the percentage score on either your Quest or Midterm, we will replace the earlier exam score with the score that yields the equivalent percentage. That said, don't treat this as a strategy. "I'll just do well on the Final" is a risky mentality, and it often doesn't pan out that way in practice. Do your best on every exam so you stay on pace and set yourself up for success.

Office Hours

TAs and instructors will host in-person office hours throughout the semester.

Instructor Hours: Instructor hours are in-person and group-based.

TA Hours: We use an OH Queue to process help tickets.

Please do not expect TAs to debug your code. This is not a good use of their time, and part of the goal of this course is to turn you into a great tester and debugger. However, the TAs can help you find and fix your bugs.

Therefore, before coming to office hours, you should have:

  • Run valgrind and fixed all memory leaks and compiler warnings
  • Written a test that isolates/demonstrates the issue (NOT a staff-provided test)
  • Stepped through the test with a debugger to find the area of code with the issue
  • Checked that the problem still occurs on the hive machines, unless the assignment supports local machines

If you have not completed all of the items above, a TA will request that you complete them before they can help you. There are instructions for testing as part of all project specifications, and the first few labs cover Valgrind, (C)GDB, and debugging.

Please mark your tickets as conceptual or debugging. For conceptual tickets, TAs will help groups of students at a time (shorter wait time) but cannot look at code. For debugging tickets, TAs will look at you or your group's code, but time per ticket may be limited if the queue is long.


Accommodations (DSP and Otherwise)

We will provide appropriate accommodations to all students enrolled in Berkeley's Disabled Students Program (DSP). To ensure that you receive the appropriate accommodations, have your DSP specialist submit a letter confirming your status and accommodations.

If you're not enrolled in DSP, or are in the process of being onboarded by DSP, you may still be eligible for accommodations (such as extended time on exams or extended deadlines). You may also be eligible for accommodations if serious extenuating circumstances should come up during the semester. If you believe you may require accommodations, please email cs61c@.

Important: If you have an accommodation that involves exams, please ensure that a letter is submitted to UC Berkeley's system as soon as possible so that we can plan for your accommodation. We cannot always meet accommodation requests on short notice.

Lateness and Accommodtaions Policy

The expected deadlines for each assignment are posted on the class website. Our assumption is that you will complete each assignment by its due date. The course content builds on itself, and not completing an assignment will make it much more difficult to complete later assignments and do well on exams.

Lateness Policy

For homework, labs, or projects submitted late, 1/3 of your points will be deducted for each day that it's late. The lateness penalty rounds up to the nearest day - that is, an assignment that is 1 day and 5 seconds late will receive a 2/3 late penalty.

However, we recognize that life can be unexpected. We've accommodated some flexibility in our lateness policies, as below.

Assignment Extensions

If you need an assignment extension, regardless of your DSP status, submit a request through Flextensions. Submissions are visible only to course instructors and our Student Support staff members.

Any extension request up to 24 hours will be approved; DSP students with assignment extensions will have their requests automatically approved proportional to their accommodation. Every student will receive one long extension available during the semester. After that, additional long extensions require a strong justification and will be granted only on a case-by-case basis at the discretion of the instructor.

Some rules about extensions:

  • There is no penalty for submitting an extension request, ever. This refers to the number of extensions you request, the length of them, etc. Each request will be reviewed and responded to on an individual case by case basis.
  • Extension deadlines aren’t reflected on PrairieLearn. You won’t incur any late penalties as long as you submit by the extended deadline (you should receive an email listing your extended deadlines as soon as your request is approved).
  • When you submit an extension request, please do not wait for a response before finishing up your assignment. We will not account for time between submitting the form and getting a notification back in giving extensions on assignments.

If you would like to speak with a Student Support staff member, mention this in your request or email cs61c-extensions@.

We aim to respond within one business day (weekdays). Surrounding deadlines, processing may be delayed.


Grading

In order to foster a collaborative environment, CS 61C is graded on a fixed scale. The course is graded out of 300 points, with the following mappings from points to letter grades:

Course PointsGrade
280+A
[270,280)A-
[260,270)B+
[250,260)B
[240,250)B-
[230,240)C+
[220,230)C
[210,220)C-
[200,210)D+
[190,200)D
[180,190)D-
[0,180)F
AssignmentPoints
Discussion10 points
Labs20 points
Homework30 points
Project 110 points
Project 220 points
Project 330 points
Quest20 points
Midterm40 points
Final120 points
Total300 points

At the end of the semester, the A+ bin, which is reserved only for students with exceptional performance in the course, will be determined by the instructors.

The bins will not change (i.e. we will not shift the bins or round at the end of the semester). Your total points will be rounded to the nearest integer when we compute letter grades. 0.5 will round to 1, but 0.49 will round to 0. We will not shift the bins, curve the class, or round your grade beyond the listed rounding scheme, so please do not ask.

Administrative Drop

You may be administratively dropped from the course if you do not submit any assignments by the start of Week 3 (September 7th, 2026). If you are currently on the waitlist, or intend on enrolling later, you must keep up with all assignments. We will not be approving extensions for adding the course late, for any reason.

If you are unable to enroll or waitlist in CS 61C, but you plan to take this class this Fall, please fill out this form so that we know who you are, and we can add you to the course platforms.


Course Announcements and Computer Resources

Ed (EdStem)

All important course announcements will be made on Ed (the course discussion forum). We will be automatically enrolling everyone. We will not be answering private Ed questions unless directed by a staff member in office hours.

Ed Etiquette

Ed is a formal, academic space. Posts in this forum must relate to the course and be in alignment with Berkeley’s Principles of Community and the Berkeley Campus Code of Student Conduct. We expect all posts to demonstrate appropriate respect, consideration, and compassion for others. Please be friendly and thoughtful; our community draws from a wide spectrum of valuable experiences. Posts that violate these standards will be removed.

Many students use Ed for asynchronous assignment help. To help us help you:

  • Search before posting. Your question may have already been answered by us or other students in the past. Reading other students' posts will let you refine your question, and gives us more time to answer new questions.
  • Try to avoid open-ended or vague questions such as: "How does C work?" or "How come the solution to a discussion problem is this?". If you walk us through your thoughts and reference specific lines that you find confusing, we can better address the problem you are facing. Being specific helps us uncover any misunderstandings that you may have.
  • Post questions about assignments as public follow-ups on the corresponding assignment post. For example, post your questions about Homework 1 on the Homework 1 post. If your question is too detailed or revealing to fit as a follow-up, your question would be better answered during office hours.
  • Only post in the "answer" box if you are fairly certain about your answer. Do not post follow-up questions or +1 as an answer.
  • No follow-up +1's. Instead, you should use the heart button on a question/follow-up. Excessive +1 follow-ups clutter the post and make it more difficult to get to the unresolved follow-ups.
  • If you want a reply on a follow-up, mark it as unresolved, or we may not see it.

Computer Resources

  • Computer accounts: You will need a CS 61C instructional account to access computer labs and instructional servers for assignments. Accounts are available starting on the first day of instruction, and will be covered in Lab 0.
  • Remote lab access: You can remotely connect to instructional computers for class work. This will be covered in Lab 0. If you're connecting from off-campus, you must be connected to the campus VPN (as described in Lab 00).
  • Device lending options: Students can access device lending options through the Student Technology Equity Program (STEP program).

Note: If you are blocked from accessing course resources at any point, we suggest using the campus VPN.


Collaboration and Academic Misconduct

We believe that most students can distinguish between helping other students understand course material and cheating. Explaining a subtle point from lecture or discussing course topics is an interaction that we encourage, but you must write your solutions strictly by yourself. You can get conceptual help, but you must not share, receive, request, or submit solutions from other sources, such as other students or Stack Overflow. You also may not tamper with any course infrastructure (such as hive machines and the autograder) or exploit loopholes that violate the spirit of the assignment. The word "solution" is defined as anything that may constitute an answer to a project, regardless of its correctness.

You must ensure that your solutions will not be visible to anyone else, including private tutors. If you use GitHub or another code hosting platform to store your solutions electronically, you must ensure your account is configured so your solutions are not publicly visible. Many platforms offer free private repositories that allow you to keep your solutions private.

For questions that includes any form of randomization (e.g. different variants for each student), you may not share the question, or anything related to the specific variant you received, with anyone else. This includes the question text, any data files provided, and your solution to the variant.

Warning: Please take a moment to review the Department Policy on Academic Misconduct. In particular, you should be aware that receiving, copying, sharing, or viewing solutions, in whole or in part, at any time, from any other source (including, but not limited to, other students, friends, relatives, private tutors, the Internet, or "artificial intelligence") without acknowledgement and staff approval constitutes cheating.

Here are some examples of what may be considered cheating:

  • Sharing or receiving a solution from a friend
  • Sharing or receiving a solution from a friend after the assignment is due
  • Sharing or receiving a solution from a friend after the semester is over
  • Submitting a solution from a friend to see what the autograder looks like
  • Looking at a solution that is not yours for "ideas"
  • Looking at a solution on an unattended laptop
  • Using ChatGPT or GitHub Copilot's output as your solution
  • Publicly posting your solutions for any reason, including for your resume
  • Sharing code with another student who is not your registered partner on Gradar
  • Forgetting to add your intended partner on Gradar and working with them as if you were partners anyway
  • Working with a partner asynchronously on a partnered assignment
  • Sharing a specific variant (including numbers and any associated files) of a randomized question

When in doubt, please reach out to staff first.

  • If you suspect that academic misconduct has occurred, or violated our policies on accident (e.g. accidentally shared solutions with a friend for any reason), you must email cs61c@ immediately. Otherwise, it will constitute misconduct. As both current and former students, we understand that desperate times can lead to desperate measures. If you feel like you cannot succeed on your own in the course, please let us know! We are here to support you.

Use of LLMs

We believe that the most effective way to learn the course content is by engaging with it without the use of LLMs. If at any point you find yourself stuck on an assignment, concept, or anything else related to CS 61C, we encourage you to find our staff on Ed or office hours! That being said, the use of LLMs in this class is permitted with extreme caution for conceptual help only, and the below policy applies to all interactions with LLMs relating to CS 61C content:

Reasonable Questions. These are things that are reasonable to ask an LLM.

  • "Why do we need to use pointers in C?"
  • "What is RISC-V Calling Convention?"
  • "What does the error message <C compiler error> mean?"

Unacceptable Uses of AI/Google/etc

  • "Here's the project prompt, please do it for me."
  • "Write this function for me."
  • "Here's my broken code, debug it for me."

It is NOT OK to use AI, Google, etc to complete work on Homework, Projects, and Labs. NO AI help with coding is permitted in this course.

We believe that students are able to tell the difference between using an LLM to genuinely attempt to understand the course content more deeply and using an LLM to avoid engaging with the learning goals of the course / to complete assignments without learning more about the content. We also believe that LLMs are very prone to giving out incorrect answers, so we will not penalize asking about reasonable LLM output on course platforms. For example, if an LLM gives you information that seems to be wrong, please ask! We are here to support your learning and correct your misconceptions, and course staff is an official source of truth for 61C. It's better to ask us and be confident in the reply than to possibly internalize incorrect information after the end of this course.

Partners

For assignments that allow partners, you may collaborate with an officially registered partner, but all work must be completed synchronously. The only time where you are allowed to work on a project asynchronously with a partner is within office hours. Collaboration policies still apply outside of your partnership. For example, you can collaborate on code with your partner, but not with anyone else.

Assignments that allow partners will specify how you can officially record your partner. This is typically done through Gradar, when you get your code repository. We do not recognize partnerships created elsewhere, including Gradescope partnerships.

Additionally, if you notice any work in your repository that you do not recognize, you must let staff know ASAP, otherwise, it may constitute academic misconduct.

Warning: You and your partner are both responsible for the work your repository contains and the work you submit. If your partner cheats, you are also liable for their actions, since all work should have been done synchronously.

Cheating Detection

We will be running advanced plagiarism detection programs. The tools and methods for detecting cheating have been developed over the course of many years, and attempting to obfuscate your code to avoid detection:

  1. won't work, and
  2. will be penalized.

Penalties

Plagiarism on any assignment will be reported to the Center for Student Conduct. The CSC treats most first-time offenses as a Non-Reportable Warning (see Section VI). Additionally we will assign a grade penalty. One instance of plagiarism will result in a full letter grade penalty. A second instance of plagiarism on an assignment will result in an F in the course. Any instances of plagiarism on exams will immediately result in an F in the course. This means even if there is just a 50% chance that you are caught it is better to not do the work than attempt to cheat.

Submitting Work from Past Semesters

If you have completed assignments during past semesters and would like to reuse your work, you do not have to let staff know ahead of time. However:

  • We cannot promise that the assignments are identical across semesters.
  • If you would like to submit a project using work from past semesters, you cannot have a project partner this semester. If you had a project partner while working on your project originally, you may submit the portions of the projects that they completed.
  • By submitting work from past semesters, in part or in whole, you are claiming that the work submitted is completed entirely by you (and if applicable, your former project partner). If you are unsure if the work is your (and if applicable, your former project partner's) original work, we'd recommend redoing the assignment from scratch.

Course Climate and Inclusion

We recognize that our students come from varied backgrounds and have widely varying experiences.

Faculty and staff are committed to creating a community where every person feels respected, included, and supported. We recognize that incidents may happen, sometimes unintentionally, that run counter to this goal. There are many things we can do to try to improve the climate for students, but we need to understand where the challenges lie. If you experience a remark, or disrespectful treatment, or if you feel you are being ignored, excluded or marginalized in a course or program-related activity, please speak up.

To help accomplish this:

  • If your name and/or pronouns differ from those that appear in your official records, please let us know.
  • In scheduling exams, we have attempted to avoid conflicts with major religious holidays. If, however, we have inadvertently scheduled an exam or major deadline that creates a conflict with your religious observances, please let us know as soon as possible so that we can make other arrangements.
  • If you feel like your performance in the class is being affected by your experiences outside of class (e.g., family matters, current events), please don’t hesitate to come and talk with us. We want to be resources for you. The sooner we are made aware, the more options we have available to us to help.

Professionalism and respect for diversity are not just matters between students; they also apply to how the course staff treat the students. The staff of this course will treat you in a way that respects our differences. However, despite our best efforts, we might slip up, hopefully inadvertently. We (like many people) are still in the process of learning about diverse perspectives and identities. If you are concerned about classroom environment issues created by the overall class dynamic or by the staff, please feel free to talk to us about it.

If something was said in class (by anyone—staff member or fellow student) that made you feel uncomfortable, please talk to us about it. Sometimes, you may not be comfortable bringing this up directly to us. Here are some options:

For exceptionally rude or disrespectful behavior toward the course staff or other students, we reserve the right to file a misconduct case with the Center for Student Conduct. You don’t need to be concerned about this policy if you treat other human beings with a bare minimum of respect and consideration and do not engage in behavior that is actively harmful to others.


Campus Resources

Your mental health is more important than this course. Seriously. UC Berkeley offers services to assist you with addressing mental health concerns or stressful events.

If you're in need of laptops, Wi-Fi hotspots, or other required technologies, check out the Student Technology Equity Program.


We want you to succeed!

If you are feeling overwhelmed, visit our office hours and talk with us, or reach out via email. We know college can be stressful and we want all of you to be successful here.

Finally—grades, penalties, and stress aren't the purpose of this course. We really just want you to learn and to have a fantastic experience doing so. Please keep that goal in mind throughout the semester. Welcome to CS 61C!


Acknowledgments

Portions of this policies page are derived from CS 61B Spring 2024 and CS 61A Fall 2025.