Frequently Asked Questions

Frequently Asked Questions

Answers for CS Undergraduates

Changing Majors

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 (the complete list of conditions can be found in the General Catalog):

    ♦   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

  • Do I need to take one of the upper division statistics classes, or can I still take STA 32?
  • It depends on the year you matriculated to UC Davis – the year you started community college (for transfers) or the year you started at UC Davis as a freshman. Students in the College of Letters and Science are eligible to use any major requirements from the year they matriculated to now. As such, students who matriculated before Fall 2014 are eligible to use the 2013 – 2014 major requirements, and can take STA 32. Taking one of the upper division statistics classes (ECS 132, MAT 135A, STA 131A) after taking STA 32 means that the upper division statistics class will count for a computer science elective. Said students also have the option of using the 2016 – 2017 major requirements, forego taking STA 32, and take one of the upper division statistics classes as a core class, not as an elective. Students who matriculated in or after Fall 2014 are not eligible to use the 2013 – 2014 major requirements, and must take one of the upper division statistics classes.

  • 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.

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.

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.


  • 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?
  • Beginning Fall 2018, the Computer Science Department will be requiring all students interested in taking ECS 36A 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
    ♦   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?
  • 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