CS 31 Fall 2021 Enrollment Information

Until Orientation ends, CS 31 is restricted to certain majors; at some point after Orientation ends in September, the major restrictions will be removed and students of any major can enroll. We will not be giving out PTEs for CS 31 before the end of the first full week of classes (but you will still have access to the course web site). Do not email the instructor asking for a PTE. Use the request form below if it's available.

CS 31 has MANDATORY midterm exams on Thursday, October 28, and Tuesday, November 16, both from 6:30 to 8:30 p.m. Do not take CS 31 if you will have a midterm conflict with another class with a midterm or lab at the same time.

Read this note about the textbook. If you're an undergraduate and

If you're a graduate student, fill out the form below if it's available.

If your major does not require CS 31, be aware that Program in Computing 10A is a class that covers some of what CS 31 does, although if you ask around, the word is that it is less intense than CS 31. If all you're looking for is an introduction to programming, PIC 10A is for you.

(Just so you know, CS 31 is offered in Summer quarters with as large an enrollment capacity as is needed to accommodate everyone.)

Unlike CS 31 in Fall quarters, CS 31 in Winter, Spring, and Summer quarters do not assume you have any prior programming experience.

If you want to enroll in CS 31 for Fall 2021, but are unable to get into the class or onto the wait list, if any, submit this form to record your interest in taking the class. Check MyUCLA or the Schedule of Classes first, so that you don't pick discussion times that will conflict with your other classes.

Our accepting this form is not a promise you'll get in; it's merely a way for us to capture your contact information for any announcements and to measure demand to add discussion sections at appropriate times in preparation for issuing PTEs at the end of the first full week of classes. We will contact you when there is relevant news to report. Essentially, we're asking you to please leave us alone — if it were just you (singular), we wouldn't have to say that, but you (singular) wouldn't believe how many of you (plural) there are, flooding our mailboxes with similar messages. Historically, except for a few people in Winter 2017 and 2019, everyone in the last few years who has wanted to get into CS 31 and has come to class every day the first week has gotten in.

The form is not yet available. Check back around June 23.

Should I take CS 30 or CS 31 in Fall?

You should enroll in CS 31 if you have written the following in any programming language:

Otherwise, you should enroll in CS 30, Principles and Practices of Computing, a course designed to give students without prior programming experience the necessary background to succeed in CS 31 and beyond. You would then take CS 31 in Winter. This will not put you behind in your degree schedule.

Fall CS 31 assumes you have the prior experience indicated above. If you do not have this prior experience, you are likely to find Fall CS 31 rough going. Since we have taught thousands of students and you haven't, you should trust our judgment.

Unlike in Fall, CS 31 in Winter, Spring, and Summer assumes no prior programming experience.