For Frequently Asked Questions for all Engineering students please reference: /undergraduates/faqs
#1 Question: What is the difference between the CS and CSE and CE Majors???
Answer: All three majors are software degrees, but CS is purely software with no required hardware curriculum, CSE is software and little bit of hardware, CE is software and a little bit of hardware, but with a stronger emphasis on Electrical Engineering Design than CSE.
Logistically? The majors are virtually identical with the exception of a few courses:
COMPUTER SCIENCE
- No lower division Electrical & Computer Engineering courses
- 8 required upper division CS courses
- No required upper division ECE courses
- 1 quarter Capstone Design Course (Software Engineering or Digital Design Project Lab)
- 5 total upper division CS Electives
- No upper division ECE Electives
- 3 upper div Sci-Tech courses
- May choose any Tech Breadth EXCEPT CS
178 TOTAL UNITS
COMPUTER SCIENCE AND ENGR
- 1 lower division Electrical & Computer Engineering course (ECE 3)
- 8 required upper division CS courses
- 3 required upper division ECE courses
- 1 quarter Capstone Design Course (Digital Design Project Lab)
- 3 total upper division CS Electives
- 1 total upper division ECE Elective
- No Sci-Tech courses
- May choose any Tech Breadth including CS
178 TOTAL UNITS
COMPUTER ENGINEERING
- 1 lower division Electrical & Computer Engineering course and Engr 96C
- 6 required upper division CS courses
- 4 required upper division ECE courses
- 2 quarter Capstone Design course in Systems Design or Robotic Systems Design
- 2 total upper division CS Electives
- 2 total upper division ECE Elective
- No Sci-Tech courses
- May choose any Tech Breadth including CS
180 TOTAL UNITS
Choosing CS vs CSE vs CE
- If you are 100% sure you do not want to work with nor want to know anything about the hardware behind the software or if you want to diversify in a different direction that is not Electrical Engineering (like Linguistics or Civil Engineering) then Computer Science is probably a better match.
- CSE is more of a middle ground between CS and CE. So if you want a taste of the the digital circuits/signals and systems background while keeping the focus on more CS opportunities, then Computer Science and Engineering is a better match.
- CE has additional ECE design experience (ENGR 96C, 2 Quarter Capstone (ECE 180DA/DB or 183DA/DB) and one additional required ECE course (113 – Digital Signal Processing). There is also one more additional ECE Elective and 3 less required CS courses, so if you have a strong interest in expanding your ECE experience while still earning a software degree, then CE is the better match.
If you really like your ECE courses and want to take MORE, then consider the Electrical Engineering major.
Can I petition out of COM SCI 1 or EC ENGR 1(freshmen seminar course)?
COM SCI 1 FOR CS and CSE MAJORS: Com Sci 1 is a required course for students admitted directly into the CS or CSE major as a freshman. This is a seminar course that will give you an introduction to the Computer Science Faculty and the research they are doing at UCLA as well as the different areas of this diverse field. This course is waived for NEW incoming transfer students and for students who were admitted to a major other than CS or CSE have not taken it CS 1 by the time they are later approved a change of major to CS/CSE, but the CS Vice chair encourages these populations to still take the course to get to know the faculty and department since you have the disadvantage of not making these connections previously. This a 1 unit course.
COM SCI 1 or EC ENGR 1 FOR CE MAJORS: It is required that you take CS 1 or ECE 1. You may submit a petition to waive this course, but it is not guaranteed and subject to review by the CE Vice Chair even if you are a transfer student or change of major to CE.
Can I take MECH&AE M20 / C&EE M20?
No. This course will not fulfill any CS or CSE or CE degree requirements. If you have already taken it and then want to change your major, you will need to start at CS 31.
CS majors have to take 130 or 132 before they graduate. But the Capstone is 130 or 152B. What am I supposed to take?
The CS Faculty have determined that to receive a CS degree, you have to take 130 or 132 before you graduate. How you apply either of these classes is up to you.
- If you choose CS 130 for your Capstone, then this is satisfied.
- If you choose CS 132 as one of your electives… then you truly have a choice in Capstone.
Most students just take 130 as their Capstone and so they can take any electives they want vs having to plan 132 or 130 in addition to a 152B Capstone.
I enrolled in CS 188 and/or 199 but it is not showing up on my DARS Audit under electives
Upper Division CS Electives are defined as courses numbered within this range: 100-187. Anything outside of that range must be petitioned and will be reviewed by the Vice Chair of the department (CS 188 and CS 199 are the most common petitions that we see).
CS 188 Effective Fall 2021, CS 188 no longer needs to be petitioned. For topics taken prior to F2021, you still must petition to apply to elective credit.
CS 199 – see details
I’m starting my Upper Division courses, what should I take and when?
Once you hit your upper division courses, there is no dictated order in which you need to complete your classes. The only limitations are “Does it work with your schedule that quarter?” and “Do you meet the requisites?” So how do plan your classes. See course planning worksheets and degree tracking tips
What is a Capstone and when do I take it?
A Capstone course is typically taken in your last year and will involve a design project that requires some broader experience and assumes you’ve taken the majority of your required classes.
ENROLLMENT: http://cs.ucla.edu/classes/enroll/
What are the COM SCI Impacted Courses and what does that mean?
- Computer Science 35L
- Computer Science M152A
- Computer Science 152B
*The drop deadline for impacted courses is Friday of the 2nd week of the quarter at 5pm. Plan accordingly. You are responsible for adhering to Engineering deadlines and enrollment policies.
myUCLA says I do not meet the course requisites and I can't enroll? Why?
- If you meet the requisites via transfer or substitution credit, the system may not read it automatically and will not allow you to enroll yourself via myUCLA. If you believe you fulfilled the pre-requisite through a course you took at another institution then you should contact the department that teaches the course for enrollment assistance.
- For CS courses: You will need a CS counselor to assist. Please the class and section you are trying to enroll in, back up section options, as well as details about how you meet the requisite via myUCLA Message Center
- For Math Courses: Math Department Contact: ugrad@math.ucla.edu, Office address: 6356 MSB, 310-206-1286
- For Stats 100A -Current UCLA students should contact the STATS DEPT via STATS_Message Center Make sure to include: Class and DISCUSSION you want to enroll and the Error message you are receiving. And non-UCLA students can contact STATS at: https://sa.ucla.edu/messagecenter/OneStop/Public/Form
I looked on myUCLA and the course I need is listed as CLOSED with an enrollment of 0/0. Why?
- Often these are courses with an “M” in front which means it is offered by Multiple departments. Below are the courses in CS that are crosslisted.
- COM SCI M51A is the same as EC ENGR M16
- COM SCI M119 is the same as EC ENGR M119
- COM SCI CM121 is the same as CHEM CM160A
- COM SCI CM122 is the same as CHEM CM160B
- COM SCI CM124 is the same as HUM GEN CM124
- COM SCI M146 is the same as EC ENGR M146
- COM SCI M152A is the same as EC ENGR M116L
- COM SCI M151B is the same as EC ENGR M116C
- COM SCI M171L is the same as EL ENGR M171L*
- COM SCI M184 is the same as BIOENGR M184 and C&S BIO M184
- COM SCI M185 is the same as C&S BIO M185
- COM SCI CM186 is the same as BIOENGR CM186 and C&S BIO M186 and EE BIOL M178
- COM SCI CM187 is the same as C&S BIO M187
If one course is closed with zero enrollment then you should attempt to enroll through other listed department. These courses are the same. And will give you the same credit.
*Credit for only one of M117 and M171L will be allowed.
Are the requisites strictly enforced? Do I have to follow the requisites?
- Yes, you need to have completed listed requisite courses to be able to enroll in a CS course. The Computer Science department enforces all requisites.
Requisites are reviewed and assigned by the faculty to ensure that each student is prepared for the course material. With only 10 weeks in a Quarter, enforcing requisites will improve the quality of CS courses because the instructor will not have to go over certain base knowledge, but can assume that all students enrolled have it.
If you meet the requisite but are still having issues enrolling, see how to get assistance in the question above.
All the courses I want to take are full! How do I get in?
If a course is full, please submit an Enrollment Consideration Request (ECR) form: /ECR
To take full advantage of the ECR, you should be submitting this as soon as you are unable to enroll because a class is full. This helps us measure demand and allows us to work with the dept. to see how many more people can be accommodated. It also puts you on a list so that if there are any course updates, everyone on the survey will be notified and have insider information as to when new sections are opening, etc. Please note that filling this out is not a guarantee of enrollment, or that the department will be able to accommodate your request, but it gives you your best chance. Be sure you enroll and plan alternate course options available to you in case you do not get in.
How do I get help for classes?
Your classes are meant to be challenging. Many student benefit from attending office hours, forming study groups of their peers, and utilizing the tutoring options available.
- OASA Tutoring: /undergraduates/need-tutoring
- Tau Beta Pi (TBP) Tutoring: http://tbp.seas.ucla.edu/tutoring/
- Upsilon Pi Epsilon Tutoring: https://upe.seas.ucla.edu/tutoring/
- Eta Kappa Nu (HKN) Tutoring: http://www.hkn.ee.ucla.edu/tutoring
- Lower Div Math help @ Student Math Center: http://www.math.ucla.edu/ugrad/smc.shtml
Technical Breadth vs Sci-Tech Requirement
TECHNICAL BREADTH: ALL HSSEAS Students are required to satisfy the Technical Breadth Requirement (12 units).
You must declare an area on my.engineering.ucla.edu and you must complete 3 courses from the listed choices under one area. Courses selected can not be used to satisfy other major requirements and must be from an area outside your major department. To view the approved list, please click on the following link and select “Summary of Areas”: Technical Breadth Summary of Areas
- Please note there is no mixing and matching within the approved areas. Students who wish to do so may file a petition for consideration at 6426 BH, however filing a petition does not guarantee approval.
- CS majors may choose any Tech Breadth area EXCEPT Computer Science
- CE and CSE majors may choose any Tech Breadth area including Computer Science
The Technical Breadth Requirement is a different requirement from the Science and Technology Electives required for Computer Sicence Majors.
SCIENCE & TECHNOLOGY ELECTIVES: Only CS majors have this requirement. DOES NOT APPLY TO CSE OR CE.
You do not declare this anywhere. You are required to complete three upper division Science and Technology courses (12 units), not used to satisfy any other requirements.
There are 4 options to complete your Sci-Tech (refer to list of approved Sci-Tech Electives for detailed breakdown).
Please note: If you file a petition to include a course as part of your Sci-Tech elective please include the course descriptions in the petition for reference as well as the other 2 courses you are planning to apply to your Sci-Tech. We advise you attach a copy of the course syllabus. Please check your DARS first. Petitions are only required if the course is not automatically applying, or if you are trying to combine courses into a new area.
****Please note there is no mixing and matching within the approved areas/departments. Students who wish to do so may file a petition for consideration at 6426 BH, however filing a petition does not guarantee approval.
What are Subset restrictions?
There are several subsets of courses listed on the Technical Breadth Summary. Be aware of these lists. You may only get credit for one course under each subset. If a required course is listed (e.g. STATS 100A in the Probability & Statistics subset), you may not take any of the other courses listed for Sci-Tech, Technical Breadth, or any other degree requirement. If you have questions regarding the restrictions, email your academic counselor.
If you are enrolled in one of these courses, there should be a warning at the top of your Degree Audit about enrolling in other courses on that list.