Majors: The CS and CE programs each require 180 total credits to graduate. Students will need to fulfill a General Education component, a Mathematics and Science component, and a Computer (Science or Engineering) component that consists of required classes and senior electives. Please refer to our guidelines below.
Pre-Majors: If you plan to apply to be a CS or CE major, refer to our guidelines below. If you are interested in taking a majors-only course please look here for more information.
Non-Majors: If you are interested in taking CSE course please look here for more information.
Non-Matriculated Students: If you are interested in taking CSE coursework please look here for more information.
One of the most important things to know about the CSE registration process is how to get advice and help from Allen School advisers. CSE advisers can help you plan your courses, connect with resources, and provide general advice.
Our most common advice for CSE majors is:
- Plan a balanced schedule. Prepare yourself for a good academic experience and strong grades by planning a manageable schedule with a good mix of courses. We recommend two math/science/CSE courses per quarter, plus one non-math/science/CSE course, such as a VLPA or I&S requirement. If you hope to take on heavier schedules, such as three CSE courses or four total courses, build up to this heavy workload after a strong quarter in lighter schedule. Remember that it's easier to ramp up your workload over time than to recover from a quarter in which you've taken on too much.
- Plan for the amount of work in a course, not the number of credits. Most CSE majors take 12-15 credits per quarter, occasionally more. The number of credits does not always reflect the workload: A 4-credit CSE course or a 3-credit Math course will often require more work than many 5-credit courses.
- Plan ahead. Use MyPlan (available on MyUW) to draft a 2-, 3-, or 4-year plan, then send it to a CSE adviser for feedback. We can note any missing requirements, mixed-up prereqs, or other scheduling issues, and we can discuss how to fit in extra-curricular activities -- TAing, research, study abroad, etc. Planning ahead will help you form a better picture of your goals an opportunities, and avoid issues.
- Study resourcefully. UW and CSE provide lots of academic aids. Get help before you need it. Visit your professors and TAs during Office Hours. Collaborate with classmates in the undergrad labs. Email the CSE advisers about tutoring groups if you want extra study help in 300- and 400-level CSE classes. For introductory courses, the Intro Programming Labs (IPL), the Math Study Center, and CLUE are all great resources.
Before You Register
If you plan to apply to CSE, your first goal is to complete the prerequisites while working on general requirements and exploring related majors. Review our full degree requirements and our admissions application guidelines.
Welcome to the Allen School! You can register for CSE major courses after you are coded as a CS or CE major (instructions on the new majors orientation page). We do not require new students to take a CSE course their first quarter in the major; however, beginning your second quarter, our CSE Satisfactory Progress Policy requires at least one CSE course per quarter. Consider the following classes for your first quarters:
- CSE 311: Foundations I: This is a discrete math/logic course with little coding. 311 is a prerequisite for 332 (Data Abstractions) and 312 (Foundations of Computing II). 311 is offered fall and spring only. All new students should take 311 in their first quarter if possible.
- CSE 331: Software Design and Implementation: A coding-oriented class, required for CS and recommended for CE. This is a fine class to take your 1st, 2nd or 3rd quarter in the class. It's valuable before internships.
- CSE 351: Hardware/Software Interface: A coding-oriented class. CE majors should take it in their first quarter, and many CS majors should consider it for their first quarter. CSE 351 focuses on how computer programs actually run on CPUs. You should take CSE 391 (a 1-cr class) concurrently.
- CSE 341: Programming Languages: An elective that counts toward the CSE "Core" courses. Most CSE majors take this! Not offered every quarter.
- CSE 391: System and Software Tools: A 1-credit seminar introducing important tools for future CSE courses. You should take this with or before CSE 351. Since this is only a 1-credit seminar, most people take this in addition to two "real" CSE courses.
Computer Engineering majors may also consider:
- EE 205: Introduction to Signal Conditioning: CE majors can take 215 instead if they are double majors with other engineering programs, but 205 makes more sense for CE-only majors. Generally offered during winter quarter.
Links for planning your CSE curriculum:
- CSE Teaching Schedule for long-term planning
- Full CSE Degree Requirements, including links to curriculum and electives lists
- Suggested Course Pathways to prepare for industry and graduate school
- CSE Satisfactory Progress Policy to understand expectations
Registering for full CSE courses:
Please do not contact faculty directly unless instructed by an adviser for special permissions. If you are interested in taking a 300-level or 400-level course that is full, please note that we will no longer be maintaining overload lists for these courses. Here are some actions you can take if desired classes are full:
- Register on NotifyUW to get an alert if space opens in the course and attend the first week to try and keep up in the course in case you do get a spot. We will monitor demand on NotifyUW and try to add more space when needed.
- Register for back-up courses in case you can't get into your first choice.
- If you are a senior, file for graduation to get Graduating Senior Priority during your registration. After filing, you will get two quarters of priority registration which will allow you to register before anyone else (including other seniors who have not yet filed for graduation).
- If you have trouble registering due to prerequisites, contact an adviser for assistance.
- If you think you will not be able to graduate due to scheduling issues, contact an adviser.
For non-CSE courses, see these tips and information. For most courses, signing up for NotifyUW is your best chance of getting into a full class.
Students pursuing double-majors and double-degree should check our approved exceptions to standard CSE degree requirements. Contact an adviser if you have questions about coordinating between your degrees.