Fall 2024 FAQs

Last updated: August 28, 2024

Fall 2024 listing on classes.berkeley.edu

Enrollment

Q1: Will the course expand?

No. The course expanded once in late August, and it won’t expand again.

Q2: What are my chances of getting off the waitlist?

We don’t know, but as of the first lecture, your chances look good. Historically, 10-20% of students have dropped, and the waitlist is currently smaller than that, so we suspect everyone currently (before the first lecture) on the waitlist has a good shot of being enrolled. If you’re on the waitlist, we strongly recommend completing all assignments and keeping up to date with the course.

Q3: I’m not a declared L&S Computer Science or College of Engineering major. Can I enroll in the class?

Sorry, course staff is not in charge of enrollment. During fall and spring semesters we have to follow the department’s enrollment policies, which restricts CS 161 enrollment to declared L&S Computer Science or College of Engineering majors only.

If you have further questions, please reach out to the emails listed in the linked document.

Q4: I plan to declare CS this fall. Can I enroll in the class after I declare?

Enrollment is restricted to declared majors only. Course staff does not control enrollment.

Q5: I plan to declare and enroll later. Can I keep up with assignments before I officially enroll?

Yes, we can add you to the course Gradescope and Ed forum. Please fill out this form to request access.

Q6: I’m a concurrent enrollment student. When can I enroll in the class?

No further concurrent enrollment students will be accepted into the class. The instructor has approved all concurrent enrollment students who he plans to approve. If you have been approved, you have been enrolled into the course and should now have access to Bcourses, Ed, and Gradescope. If you are a concurrent enrollment student and do not have access to Bcourses, Ed, and Gradescope, then you have not been approved and will not be able to enroll in the class.

Q7: Can I audit the class?

All course materials that we can share with auditors will be posted publicly on the course website. Also, on the policies page, there is a code for a public Gradescope class that you can join.

Q8: I officially enrolled in the class, or filled out the form requesting to be enrolled, but I don’t have access to Gradescope/Ed.

We sync the rosters once a day, so you may need to wait a bit before being automatically added to the class. If you’ve been officially enrolled for 48 hours and haven’t been added, send an email to cs161-staff@berkeley.edu. Please don’t ask us about being added until 48 hours have passed; we don’t have time to manually add each student.

Q9: How do I enroll late in the class?

It is your responsibility to keep up with the class before you enroll.

If you enroll late, you need to be fully caught up with the class within 3 days of enrolling. If any assignments are due before the date you enroll, you can submit a request through the extensions form (linked on the website) for up to 3 days after you enroll, so that your submission is not counted late.

You can attend lectures and discussion sections before you are officially enrolled. The course website will publicly post any recordings, videos, and resources.

If you’d like early access to the homeworks, you can use the ungraded copy on the auditors Gradescope class (link on the policies page), though you will need to re-fill out the homeworks when you are added to the official Gradescope.

Exams

Q10: When are the exams?

The midterm is on Monday, October 14th from 7-9PM PT.

The final exam is on Tuesday, December 17th from 3-6PM PT.

Q11: Can I take this class remotely? Do you offer remote exams?

We do not take attendance at lecture or discussion section, so if you take the class remotely, we won’t know.

However, this class is officially listed by the university as in-person, so not all aspects of the class will have remote support. For example, some resources like office hours may be in-person only. Also, we reserve the right to require in-person attendance at our discretion.

We are offering remote exams only at the same time as the scheduled exam. There will be no remote exams starting at any other time. Specifically, if you are taking the midterm remotely, you must start your exam at 7PM on Monday, October 14th. If you are taking the final exam remotely, you must start your exam at 3PM on Tuesday, December 10th.

In order to take the exams remotely, you need to agree to our video proctoring policy, which involves sending us a recording of a continuous video feed of you taking the exam. If you are not comfortable being recorded, you can always take the exam in-person.

We’ll release a form closer to the exams for you to request taking the exam remotely. Taking the exam remotely requires approval from course staff.

Q12: Do you offer alternate time exams?

If you are unable to take the exam at the scheduled time, we will be offering only one alternate exam time, in-person only, immediately after the scheduled exam. The alternate midterm time is Monday, October 14th from 9-11PM PT, immediately after the regularly scheduled time. The alternate final exam time is Tuesday, December 17th from 6-9PM PT. There are no other alternate exam times. There are no remote exams at alternate times.

We are only offering the alternate exam time if you are unable to take the exam at the normal time. For example, if you have another exam at the same time, you can take the alternate-time exam. However, wanting a break between non-conflicting exams would not be a valid reason to take the alternate-time exam, because in this case you are able to take the exam at the normal time.

We’ll release a form closer to the exams for you to request an alternate-time exam.

Prerequisites

Q13: Do you formally enforce prerequisites?

No. The enrollment system should not block you from enrolling or waitlisting if you haven’t taken the prerequisites (CS61B, CS70, CS61C). We will not drop students who haven’t taken the prerequisites.

Q14: Should I take this class without CS61B or equivalent?

CS61B is a prerequisite for understanding of basic data structures, familiarity with testing your own code, and familiarity with working on large codebases. We try our best to re-introduce any specific CS61B topics as they appear in class, so the actual content of CS61B is not a hard prerequisite.

If you can implement a linked list from scratch, and you’re comfortable testing your own code, and you’re comfortable working in a codebase with 500-1000 lines of code, then you’ve fulfilled the CS61B prerequisite.

Q15: Should I take this class without CS70 or equivalent?

CS70 is a prerequisite for the ability to follow mathematical proofs and explanations. We try our best to re-introduce any specific CS70 topics as they appear in class, so the actual content of CS70 is not a hard prerequisite.

If you can follow the explanations in this CS70 note on RSA encryption, then you’ve fulfilled the CS70 prerequisite.

Q16: Should I take this class without CS61C or equivalent?

We don’t recommend it. Unlike the other two prerequisites, the content of CS61C is used in the first unit of the class (memory safety).

You should not take this class unless you:

  • Understand the C and assembly sections of CS61C (Lectures 1-13 from Fall 2020 CS61C)
  • Can write a non-trivial C program (100-200 lines)
  • Can use GDB to debug a C program
  • Can read and understand assembly code (e.g. x86 or RISC-V)
  • Can explain how a function is called in assembly (e.g. x86 or RISC-V)

As a diagnostic, you can read Chapter 2 of our textbook. If you can follow along, then you should mostly have fulfilled the CS61C prerequisite.

Q17: Can I take this class concurrently with CS61C?

We don’t recommend it. CS61C takes 5 weeks to cover all the prerequisite content we use, and we use the prerequisite content heavily in the first 5 weeks of class.

Q18: How can I study for the class ahead of time?

If you must take this class without CS61C, or concurrently with CS61C, or you don’t feel confident in your CS61C prerequisite knowledge, then we recommend watching Lectures 1-13 from Fall 2020 CS61C beforehand.

CS161 course content doesn’t change substantially between semesters, so to study ahead, you can reference any past semester website for publicly-available resources. For example, here is the Spring 2024 website.

Other questions

If you have a question that wasn’t answered above, you can make a post on the Ed class forum. If you do not have access to Ed, please email cs161-staff@berkeley.edu. Please don’t email instructors or TAs directly; you will get a faster answer by posting on Ed.