Frequently Asked Questions

Frequently Asked Questions

Answers for CS Undergraduates

Changing Majors

  • How do I change my major?
  • Please see our Changing Majors and Double Majors page for more information.
  • Can I change into the CS or CSE without a 3.0 GPA?
  • No. All students must meet the minimum GPA requirements in order to change into CS/CSE. No exceptions.
  • Can I enroll in ECS courses in pass one if I'm trying to change my major into CS/CSE?
  • No. The majority of ECS courses are only open to CS/CSE majors in pass one. You may be able to add the courses in pass two if there are open seats.
  • Can I schedule an appointment with a CS advisor if I'm interested in changing into CS or CSE?
  • No, we are unable to see non-major students in appointments due to the large number of students currently in our program. However, each quarter we will be hosting group information sessions covering the change of major requirements for CS and CSE. Any student interested in changing into CS or CSE should plan to attend a session. You can sign up on our Changing Majors webpage.
  • What do I do if I took MAT 16/17 courses instead of MAT 21C?
  • Refer to the MAT department Transfer Flow Chart for information on how to change into the MAT 21 series.
  • Can I switch between the 32/34 and 36 series?
  • No, once you complete the B course in a series (example: ECS 32B), you must finish that series. Due to credit limitations, you will not earn units for the other series.
  • Can I take the requirements to change my major as P/NP?
  • Computer Science Major - Courses taken before Fall 2023 can be taken as P/NP. Starting Fall 2023, all courses required to change majors must be taken for a letter grade.
    Computer Science & Engineering Major - No, CoE does not allow P/NP grading for any major courses.
  • Can I take requirements at another institution?
  • Yes. Lower division (numbered 0-99) courses can be taken at a community college. Use to find approved articulated courses. Refer to the Transferring Courses webpage for more information.

Credit by Examination

  • If I'm unable to enroll in a course, may I take it by exam?
  • In most cases taking an ECS course through credit by examination will not be approved, especially for courses where programming or other projects are an integral part of the learning experience and often not adequately tested on exams. Taking a course through credit by examination requires the approval of the instructor – instructors are NOT obligated to administer a course-by-exam and have the option of refusing – as well as the department and Registrar with final approval required from the dean of your college. Approval is granted in very few cases and, if approved, you must meet the following conditions:

    ♦   Be a registered student and in good academic standing
    ♦   Must already know the course material (knowledge may NOT be gained by attending the course, doing the work and then taking the final)
    ♦   May not duplicate any previously earned credit
    ♦   May not be used to repeat a course, regardless of the grade previously received
    ♦   The final grade results, regardless of outcome, are posted on your transcript.

    You may obtain the petition ($5 fee) and a complete listing of the conditions from the Office of the University Registrar.

CS Major

  • May I take a core or elective ECS class Passed/Not Passed (P/NP)?
  • There are no restrictions on which classes can be taken P/NP. Any class – ECS classes, major requirements, GEs – can be taken P/NP. The only restrictions on P/NP are how many units can be taken P/NP. Please also see our Policies page. Further questions about P/NP should be referred to LSUEA.

  • Can ECS 132 count for both the probability requirement and an ECS elective?
  • No, you cannot double count courses within the CS major. If you only take ECS 132, it will count for the probability requirement. If you take both ECS 132 and MAT 135A, then one course will count as the probability requirement and the second course will count towards the ECS elective area.

  • Why can I not enroll in ECS 150 in pass one?
  • ECS 150 is open to CSE majors in pass one and is open to CS majors in pass two. While both majors are required to take ECS 150, the CSE major requires a significantly longer sequence of courses after ECS 150 for them to graduate. If CSE students cannot enroll in ECS 150, a full year is added to their time in completing their degree. Please note that the size of the CSE student population in comparison to CS is significantly smaller. Therefore, we expect there to still be a large amount of seats open for CS majors in pass two.

  • Does EEC 180 count towards the ECS electives?
  • Yes, EEC 180 will count towards the ECS elective area. The course was formerly EEC 180B.

  • Why does MyDegree say I need 2 more units in ECS 30 or 36A to complete the ECS 36A requirement?
  • If you took ECS 32A before ECS 36A, you will only receive 2 units of credit for ECS 36A. This is due to the credit limitations stipulated in the university catalog. You do not need to worry about the additional 2 units listed on MyDegree. MyDegree is programmed to look for a 4 unit course, so it doesn't recognize the credit limitation. Your degree certification on OASIS will show the requirement as met as long as you passed the ECS 36A course.

  • Can I take ECS 189 multiple times for the CS elective requirement?
  • Multiple ECS 189 courses can be taken and counted as separate CS elective courses as long as they each cover different material and/or are taught by different instructors.

  • Can I take both ECS 132 and MAT 135A/STA 131A?
  • Yes, if you take both ECS 132 and MAT 135A/STA 131A, then one course will count as the probability requirement and the second course will count towards the ECS elective area. If you only take one course, it will count for the probability requirement.

CSE Major

  • Do I need to take EEC 180A?
  • CSE majors no longer need to take EEC 180A. EEC 180A is now an elective; the number of electives required for CSE students is four classes and 15 units minimum. See the 2016 – 2017 major requirements for other possible electives. Students that have already taken EEC 180A have satisfied one of the four electives required. Those students only need to take three other electives.

  • May I take a class Passed/Not Passed (P/NP)?
  • With few exceptions, students in the College of Engineering may not take classes P/NP; all classes must be taken for a letter grade. For more information, please see our Policies page. Further questions about P/NP should be directed to EUO.

  • Does EEC 180 count towards the ECS electives?
  • Yes, EEC 180 will count towards the ECS elective area. The course was formerly EEC 180B.

  • Why does MyDegree say I need 2 more units in ECS 30 or 36A to complete the ECS 36A requirement?
  • If you took ECS 32A before ECS 36A, you will only receive 2 units of credit for ECS 36A. This is due to the credit limitations stipulated in the university catalog. You do not need to worry about the additional 2 units listed on MyDegree. MyDegree is programmed to look for a 4 unit course, so it doesn't recognize the credit limitation. Your degree certification on OASIS will show the requirement as met as long as you passed the ECS 36A course.

  • Can I take ECS 189 multiple times for the CS elective requirement?
  • Multiple ECS 189 courses can be taken and counted as separate CS elective courses as long as they each cover different material and/or are taught by different instructors.

Course Scheduling

  • How do I find out what courses I still need to take?
  • A variety of resources exist to help you figure out what courses you still need to take.

    One resource available to students is MyDegree. MyDegree is an online advising tool that allows you to track your progress towards completing your degree. Tutorial on how to use MyDegree can be find on the Registrar's website. Keep in mind MyDegree is an unofficial tool and can sometimes have inaccuracies.

    Another resource available to students is the major checklists provided but the CS department. The major checklists provides the list of required courses for the major. You can use the checklist along with the Academic Record tab on OASIS to help you identify which courses you've already completed and which courses you still need to take. Keep in mind these checklists do not include university or college requirements.
    CS Major Checklist (PDF)
    CSE Major Checklist (PDF)
  • How many courses should I take per quarter?
  • The university recommends students complete 45 units per year in order to graduate in 4 years. This recommendation is strictly based on meeting the minimum 180 units required to graduate. The CS department typically recommends 12 units per quarter based on the heavy workload in ECS courses. It is better to take fewer units and do well in those courses, than it is to take too many units and potentially have to repeat courses in future quarters. Ultimately the decision is up to you, but we recommend you consider the following factors:
      - The units of a course roughly correspond to the number of hours you will spend attending class. For each one hour you spend in class, you should spend two hours outside of class preparing, studying, and completing assignments.
      - Are you working in addition to going to school? If so, how many hours?
      - Do you have family obligations? 
      - Do you have social commitments such as clubs/organizations?
      - Will you still have time for activities that you enjoy?
  • How do I drop a course?
  • You may drop courses using Schedule Builder during Pass One, Pass Two, Open Hours, Open Registration & Schedule Adjustment. The majority of ECS courses have 10 day drop deadlines, which means you can drop the course up until the 10th day of instruction. After the drop deadline, courses can only be dropped with a Permission to Drop (PTD) number. The CS department does not have the ability to issue PTD numbers. If you wish to drop a course after the drop deadline, you will need to reach out to your college dean's office to request a PTD.
  • I failed a course last quarter. Should I repeat it? How do I repeat courses?
  • If the course is required for your major, you should repeat the course. If you are not sure, consult MyDegree, the UCD catalog, the major checklists, or a CS advisor. If the course is only a General Education (GE) or elective course, it is up to you! If you think you can pass the course, then repeating it will help your GPA if you earn a "C" or higher as long as you repeat the course at UCD. If you do not think you can pass the course, then it may be in your best interest to choose a different course.

    To repeat a course, you can re-enroll in the course through Schedule Builder if you have only taken the course once before. If you have taken the course twice already, you will need to submit Multiple Repeat of a Course petition on OASIS. Please be aware, there is no guarantee that your appeal will be approved. These are reviewed by the college dean's office.

    More information on repeating courses can be found on the Repeating a Course website.
  • Can I take courses toward my major at a community college?
  • Lower division (0-99) courses may be taken at a community college. Articulated courses can be found using the ASSIST website. Visit our Transferring Courses webpage for more information.
  • Can I be a part-time student?
  • Maybe. The university allows students to be part-time only for specific circumstances. Information regarding approved circumstances and how to file for Part Time Status can be found on the Office of the University Registrar website. Please note that International Students considering part time enrollment may need to also contact the SISS Department to inquire about Reduced Course Load (RCL) approval.
  • What is the recommended order to take my major courses in?
  • When planning out what order to take your courses in, you need to be mindful of the prerequisites for each course. Some courses have multiple quarters of prerequisites that you have to follow. The best way to identify course prerequisites is to use the major checklists or UCD Catalog. The order you take your classes in can look different than other students in the same major. 

    Tips for creating an academic plan:
    1. Start with courses that are prerequisites to other major courses (for example, the ECS 36 series)
    2. If you aren't eligible to take a course that is a prerequisite to something you'll need later, then look for courses that don't have prerequisites
    3. Fill in your schedule with GE, minor, or other non major electives to give yourself a balanced schedule

    You can also review our sample schedules for an idea on how to order your courses, but remember there are many variations of schedules that you can create.

ECS 192 and 199 

  • How do I apply for internship credit via ECS 192 and 199?
  • The instructions for applying for 192 and 199 courses can be found at Professor Christopher Nitta’s webpage. Please read ALL instructions.

    Work credit is for the quarter the work is being completed in. No retroactive credit will be given. The deadline for proposals to be accepted is the 10th day of instruction for quarters, and the 5th day of instruction for summer sessions.

    ECS 192 and 199 allow students to receive unit credit for an internship or research in computer science. A computer science instructor must be willing to support the intended internship or research. In addition, if certain requirements are met, one ECS 192 or 199 course may be counted towards a computer science elective for CS majors, CSE majors and CS minors.

  • How do I get my CPT form signed by an advisor?
  • You must be enrolled in ECS 192 for a CS advisor to sign your CPT. Once you are enrolled, you can send your CPT through iGlobal to CS Advising via email for review.


  • How do I know if I'm on track to graduate?
  • You should consistently review MyDegree and your major checklists as well as check in with both your major and college advisors to keep track of your progress towards graduation. Before you register for your final quarter, you should also request a Degree Check through your college dean's office and the CS department.
  • How do I apply to graduate and when are the deadlines?
  • The graduation application and deadlines can be found on the Graduation & Commencement website.
  • How do I graduate with high or highest honors as a CS major?
  • To be eligible for high or highest honors you must satisfy the minimum GPA requirement as described in the university catalog and complete an honors project.
      - Enroll in ECS 199 for two consecutive quarters with the same faculty member, for a minimum of 6 units
      - Write an honors thesis on the work carried out

    To be eligible for an honors project, you must have completed 135 units with a minimum GPA of 3.5 in courses taken towards satisfaction of the major requirements. For more information or to fill out the honors project petition, please contact a CS advisor.


  • I just changed majors to CS or CSE. How do I get on the department's listserv?
  • The listserv is updated at the start of each quarter. If you switched into CS or CSE in the middle of a quarter, you will be added the quarter following.

Placement Exam

  • What is the Placement Exam?
  • All students interested in taking ECS 36A are required to either take a placement exam or ECS 32A. Please click here for information regarding the ECS 32 and 36 series. ECS 36A is not required for every student. Please see the link above to help determine if the 36 series is right for you.

    The Computer Science Placement Exam determines your level of programming skill. All students who register for ECS 36A are required to pass the Computer Science Placement Exam or have a C- or better in ECS 32A or ECS 10. (Note: A prerequisite petition will be needed at the time of registration for students using ECS 10 to enroll in ECS 36A). Students enrolled in ECS 36A without satisfying the prerequisite requirements will be administratively dropped from the course by the Computer Science Department after the end of the testing window. There are no exemptions for SAT, AP, or IB scores.

    The Computer Science Placement Examination is only available online. There will be one testing window per year and a student may only take it once per testing window. As with any exam, if you need special accommodations due to a disability, please contact the UC Davis Student Disabilities Center.

  • What are the current requirements for the exam?
  • You must meet one of the following requirements to enroll in ECS 36A:

    ♦   Computer Science Placement Exam Score of 12 or better (Starting Fall 2023, a score of 15 or better will be required)
    ♦   C- or better in ECS 32A
    ♦   C- or better in ECS 10

  • When, where and how can I take the exam?
  • The Computer Science Placement Examination will be open from May 5 through October 6, 2022. A valid UC Davis email address is required to take the exam -- you must be logged in your UC Davis email account. To take the exam, please click on the link below during the examination window.

    Staff assistance regarding the placement examination is only available during regular business hours, Monday-Friday from 8 a.m. - 4 p.m. Should you require help, please contact us at

    Computer Science Placement Exam: (Note: The exam window will close October 6, 2022.)

  • How long is the exam?
  • The exam should take no longer than 1 hour to complete. There are 14 programming questions.

  • When and how can I see my score?
  • The results are available to you immediately upon completing the exam. Please click the “view score” button after submitting.

  • How do I study for and prepare for the exam?
  • There is no study guide for the exam. The exam is written in a pseudocode and covers basic concepts such as conditional statements and loops. The exam is meant to gauge if you have any sort of programming experience and if you should start in ECS 32A or 36A. Please do not worry too much about preparing for the exam and be sure to take it prior to your fall registration.

  • I already took ECS 10/30. Do I need to take this exam? 
  • No, this exam is only for ECS 36A placement. If you have already taken the prerequisite course for ECS 36A (ECS 10 or ECS 32A with C- or better) or have already taken the equivalent course (ECS 30), then there is no need for you to take the exam.

  • The link won’t grant me access. Is there something wrong with my account?
  • The exam is tied to your UC Davis account, which is operated by Google. Please make sure you’re not logged into your personal Google account. You may need to log out of your personal account, open the exam in another browser, or open it in incognito mode.

  • I won’t be able to take the exam prior to registration. What should I do?
  • Please try to take the exam as soon as you can. In the meantime, decide on which course to enroll in based on your current experience and comfortability with programming. And note that taking ECS 32A will not significantly impact your graduation timeline.

  • If I need to switch courses, will I automatically be enrolled in the correct course?
  • No, students should unenroll from the incorrect course and enroll or waitlist in the correct one as soon as they can. There is no automatic enrollment in courses based on placement exam results. Students will be dropped from ECS 36A if they do not have the prerequisite or qualifying exam score.

  • I took the exam and placed in ECS 32A. Can I retake the exam?
  • No, students may only take the exam once per exam window. You will need to take ECS 32A or wait until next summer to take the exam again. This exam is to ensure you have adequate programming experience to succeed in ECS 36A. Taking ECS 32A will not significantly impact your graduation timeline.

  • I placed into ECS 36A, but Schedule Builder is saying I’m missing the prerequisite. Is there something wrong?
  • No, there is nothing wrong. Unfortunately, our exam could not be connected to the prerequisite system. You must fill out a prerequisite petition in order to register. Submitting a petition will allow you to enroll. As long as you have a passing score, there shouldn’t be an issue approving your petition.


  • How does the department screen for prerequisites?
  • One of the goals of the Department of Computer Science is to assist students to be successful and learn as much as possible in their academic program. Specifically with respect to prerequisites, when a student takes a course without the prerequisites, he/she, more often than not, is less likely to pass (or do well in) the course, gains less insight into the course material, and can unnecessarily burden instructional resources, e.g., the instructor and/or TA’s time. The department regularly scans ECS courses to ensure that registered and waitlisted students have completed their prerequisites. We therefore strongly recommend that you enroll only in those courses for which you have completed the prerequisites or for which the prerequisite course is in progress.

    If as an oversight you enrolled in a course without the required prerequisite, please drop the course as soon as possible, but no later than the drop deadline.

    After the drop deadline, instructors can ask the Registrar to automatically drop students who have not completed prerequisites. Students will be notified by email if they are going to be dropped from a course.

    If you have any questions regarding course prerequisites or believe you have a good case for an exception, please contact the instructor directly.

  • May I enroll in an ECS course even though I have not completed the prerequisite?
  • No. It is essential that you’ve completed the stated prerequisite for a given ECS course before attempting the course. Academic Senate policy states instructors have the authority to restrict enrollment to students who have completed the prerequisites. Thus instructors have the right to check whether or not students enrolled in the course have satisfied the prerequisite. If you haven’t satisfied the prerequisite, the instructor may drop you from the class. Re-adding a class after an instructor has dropped you from the class may be reported to Student Judicial Affairs.

University Extension

  • Can University Extension students enroll in ECS courses as concurrent (Open Campus) students?
  • It is unlikely that concurrent students will be allowed to enroll in ECS courses due to the high enrollment demands for ECS courses. University policy requires that the Department enroll all regularly enrolled UC Davis students first; consequently, concurrent students have last enrollment priority. Concurrent enrollment requires the department Chair’s (or designee) signature and department stamp.


  • How can I get help with UNIX?
  • It is crucial that students be proficient with UNIX concepts and tools that will be used on a daily basis. This includes, but is not limited to: the Internet (email, ftp and World Wide Web), UNIX directory and file structures, and UNIX process control. For the most part, students will not receive formal instruction on these topics, but instead, must learn on their own. There are two UNIX tutorial web sites written by instructors in the department, one provided by Sean Davis and the other by Professor Norm Matloff. Please also see Professor Norm Matloff’s Guide to Installing and Using Linux.

If you have questions that are not answered on this page, please contact