CS 31 Fall 2024 Enrollment Information

Until Orientation ends and perhaps a week later, 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 if you are on a wait list or have filled out this form). Do not email the instructor asking for a PTE. If you can not enroll, use the request form below before the class begins; after that, listen for announcements in class.

CS 31 has MANDATORY midterm exams on Tuesday, October 29, and Tuesday, November 19, both between 6:00 pm and 7:30 pm. Do not take CS 31 if you will have a midterm conflict with another class with a midterm or lab at the same time. The final exam is Saturday, December 7, from 11:30 am to 2:30 pm. Do not take CS 31 if you will have a final exam conflict.

Read this note about the textbook.

If you're an undergraduate whose current (not just intended) major or minor is one that allows you to enroll: Just sign up via Course Planner for the class, or if it's full, get on the wait list if there is one and it's not full. Otherwise, you will be able to enroll through Course Planner at some point after Orientation ends in September; for now, submit this form to record your interest in taking this class. Check Course Planner or the Schedule of Classes first, so that you don't pick discussion times that will conflict with your other classes.

If your major does not require CS 31, be aware that Program in Computing 10A is a class that covers most 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. See the section about CS 30 vs CS 31 below regarding prior experience.

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 and be patient — 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, 2019, 2022, and 2023, everyone in the last few years who has wanted to get into CS 31 and has come to class every day the first week and a half has gotten into some section.

Enter your 9-digit student id:  
Enter your last name:  
Enter your first name:  
Enter your email address:  

(If you had previously filled out this form to express interest in taking this class but are now either enrolled in it or are no longer interested, we'd appreciate it if you'd let us know to erase your request by filling nothing out below this, checking this box and submitting this form. )

What would be your FIRST choice of time?

lec MW 10-11:50, dis F 10-11:50 lec MW 4-5:50, dis F 10-11:50
lec MW 10-11:50, dis F 12-1:50 lec MW 4-5:50, dis F 12-1:50
lec MW 10-11:50, dis F 2-3:50 lec MW 4-5:50, dis F 2-3:50

What would be your SECOND choice of time?

No second or further choice  
lec MW 10-11:50, dis F 10-11:50 lec MW 4-5:50, dis F 10-11:50
lec MW 10-11:50, dis F 12-1:50 lec MW 4-5:50, dis F 12-1:50
lec MW 10-11:50, dis F 2-3:50 lec MW 4-5:50, dis F 2-3:50

What would be your THIRD choice of time?

No third or further choice  
lec MW 10-11:50, dis F 10-11:50 lec MW 4-5:50, dis F 10-11:50
lec MW 10-11:50, dis F 12-1:50 lec MW 4-5:50, dis F 12-1:50
lec MW 10-11:50, dis F 2-3:50 lec MW 4-5:50, dis F 2-3:50

What would be your FOURTH choice of time?

No fourth or further choice  
lec MW 10-11:50, dis F 10-11:50 lec MW 4-5:50, dis F 10-11:50
lec MW 10-11:50, dis F 12-1:50 lec MW 4-5:50, dis F 12-1:50
lec MW 10-11:50, dis F 2-3:50 lec MW 4-5:50, dis F 2-3:50

What would be your FIFTH choice of time?

No fifth choice  
lec MW 10-11:50, dis F 10-11:50 lec MW 4-5:50, dis F 10-11:50
lec MW 10-11:50, dis F 12-1:50 lec MW 4-5:50, dis F 12-1:50
lec MW 10-11:50, dis F 2-3:50 lec MW 4-5:50, dis F 2-3:50
What would be your FIRST choice of time?
lec MW 4-5:50, dis F 10-11:50 lec TR 4-5:50, dis F 10-11:50
lec MW 4-5:50, dis F 12-1:50 lec TR 4-5:50, dis F 12-1:50
lec MW 4-5:50, dis F 2-3:50 lec TR 4-5:50, dis F 2-3:50
lec MW 4-5:50, dis F 4-5:50 lec TR 4-5:50, dis F 4-5:50

What would be your SECOND choice of time?

No second or further choice  
lec MW 4-5:50, dis F 10-11:50 lec TR 4-5:50, dis F 10-11:50
lec MW 4-5:50, dis F 12-1:50 lec TR 4-5:50, dis F 12-1:50
lec MW 4-5:50, dis F 2-3:50 lec TR 4-5:50, dis F 2-3:50
lec MW 4-5:50, dis F 4-5:50 lec TR 4-5:50, dis F 4-5:50

What would be your THIRD choice of time?

No third or further choice  
lec MW 4-5:50, dis F 10-11:50 lec TR 4-5:50, dis F 10-11:50
lec MW 4-5:50, dis F 12-1:50 lec TR 4-5:50, dis F 12-1:50
lec MW 4-5:50, dis F 2-3:50 lec TR 4-5:50, dis F 2-3:50
lec MW 4-5:50, dis F 4-5:50 lec TR 4-5:50, dis F 4-5:50

What would be your FOURTH choice of time?

No fourth or further choice  
lec MW 4-5:50, dis F 10-11:50 lec TR 4-5:50, dis F 10-11:50
lec MW 4-5:50, dis F 12-1:50 lec TR 4-5:50, dis F 12-1:50
lec MW 4-5:50, dis F 2-3:50 lec TR 4-5:50, dis F 2-3:50
lec MW 4-5:50, dis F 4-5:50 lec TR 4-5:50, dis F 4-5:50

What would be your FIFTH choice of time?

No fifth choice  
lec MW 4-5:50, dis F 10-11:50 lec TR 4-5:50, dis F 10-11:50
lec MW 4-5:50, dis F 12-1:50 lec TR 4-5:50, dis F 12-1:50
lec MW 4-5:50, dis F 2-3:50 lec TR 4-5:50, dis F 2-3:50
lec MW 4-5:50, dis F 4-5:50 lec TR 4-5:50, dis F 4-5:50

What is your current major?

Aerospace Engineering
Bioengineering
Chemical Engineering
Civil Engineering
Computational & Systems Biology
Pre Computational & Systems Biology
Computer Science
Computer Science and Engineering
Computer Engineering
Electrical Engineering
Linguistics & Computer Science
Materials Engineering
Mathematics of Computation
Pre Mathematics of Computation
Mechanical Engineering
Undeclared-Engineering and Applied Science
Other major, with interest in the Data Science Engineering minor. Enter your major:
Other major, with interest in the Bioinformatics minor. Enter your major:
Other major, with interest in neither of those minors. Enter your major:

What is your class level?

Freshman
Sophomore
Junior
Senior
Graduate

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.