CSE 20 Testout Exam

What is the CSE 20 testout exam?

CSE 20 is the introductory class to Python in the Computer Science and Engineering department at UC Santa Cruz. CSE 20 is a required class for all new CSE students (joining UCSC in Fall 2019 or later), except for those who have a waiver. The waiver can be obtained in four ways:

  • receiving a score of 4 or 5 on the AP CS: Exam A in high school, or
  • receiving a score of 5, 6, or 7 on the International Baccalaureate CS Exam, or
  • having passed a course that articulates to be equivalent to CSE 20, or
  • passing the CSE 20 testout exam.

Thus, the CSE 20 testout exam offers a way for students with a working knowledge of Python to satisfy the CSE 20 requirement.

Who should take the CSE 20 testout?

We strongly encourage every incoming student to take the CSE 20 testout exam.

The CSE 20 testout exam offers every student valuable feedback on their knowledge of Python. We advise every student, including those who have a CSE 20 waiver due to an AP or IBH class, to take the exam, especially if the AP or IBH classes were taught in a language other than Python. Students whose knowledge of Python is weak may have a better learning experience at UCSC by taking CSE 20, than by enrolling directly in classes for which they may not be fully prepared.

When is the CSE 20 testout held?

The CSE 20 testout is given twice yearly, one time in July, the other time in September shortly before the start of classes. The dates for the 2020 Summer tests will be announced here. The Summer 2019 tests were held on July 17 and September 19, 2019.

How does the CSE 20 testout work?

Exam location

The exam is electronic; students do not need to come to campus, they just need to be in a place connected to the internet and where Google Apps are available. The September testout is suited to students who wish, or need, to be on campus before they can take the exam. A @ucsc.edu account is required to take the testout.

Registering for the testout exam

Students register for the testout exam by filling an on-line form that will be posted here in Spring 2020. The exam will be emailed to the @ucsc.edu email address at the start time of the exam; students then have three hours to work on the exam. Students who have documented or self-reported special needs can request more time using the on-line registration form.

Exam format

The exam consists in a Jupyter Python notebook. Students will be sent the link to a Google Colab notebook containing the exam text, and they can work on it:

  • online, by making a copy of the Google Colab (select File > Make a copy in your drive) and working on it; then downloading the .ipynb (File > download as .ipynb) file, and submit it via a form that will be provided;
  • locally, on their laptop or desktop, if they have a Python 3.7 / Jupyter Notebooks environment installed. We recommend installing these via Anaconda.

Students can submit their work multiple times, and the last submission that is before the deadline (including possible extensions) will be graded.

Exam outcome

The result of the exam are communicated electronically, generally a couple of days after the exam itself. Students who pass the exam will have their CSE 20 requirement marked as satisfied in the UCSC Registrar system, so that they can proceed to enroll in classes that have CSE 20 as a prerequisite.

Preparing for the CSE 20 Testout Exam

The following resources, among others, are available for students who wish to prepare for the testout exam.

F.A.Q. (Frequently Asked Questions)

  • I registered to the testout exam, but now I don't want to do it any more. What should I do? Just don't do it. There is no penalty for registering but then not taking the test.
  • I am not sure I am ready for the testout exam. Should I still take it? Yes. There is no drawback in taking the test. The test outcome is used only to enable you to skip the CSE 20 requirement; it is not part of any transcript, so failing it carries no negative consequences.
  • How many times can I try the testout exam? You can take both Summer offerings of the exam.
  • Can I take the CSE 20 testout during the year? No. During the regular academic year, you can enroll in CSE 20 in order to satisfy the CSE 20 requirement.