Getting started in Computer Science - Frosh


Students are admitted to UCSC with a "proposed major" in most cases, and later petition to officially declare the major. Admission to UCSC does not guarantee acceptance into a particular major. Students must be declared in a major by the end of the second year (or equivalent), so learning about and preparing for a major is a primary goal for first-year students.

Importance of an early start:

This is a course-intensive and/or sequential program, and students who intend to pursue this major must begin taking classes for the major in their first year at UCSC.

Qualification requirements and/or prerequisites for the major:

Review major qualification requirements in the General Catalog:

Frosh who intend to pursue this major should do the following things prior to the beginning of fall term...

  • Ensure your official transcripts arrive to UC Santa Cruz by July 1; all official test scores, including AP scores, must arrive by July 15.
  • Complete parts 1 & 2 of the Slug Orientation Course process to receive your enrollment appointment date.
  • Students with college-level transferable courses must mail or email a copy of the transcript to Baskin Engineering Undergraduate Advising by July 1, in addition to providing the official transcript to the UCSC Admissions Office.
  • Complete the Math Placement process. It takes up to three business days for ALEKS PPL placement to post in your student record. Completing the assessment by July 16 will ensure your placement is posted before enrollment begins (although depending on your enrollment appointment, you may have more time!).
  • Students with programming experience, who wish to bypass the introductory programming course (CSE 20) should take the online CSE 20 testout exam on July 20 at 6:00pm PDT. This test requires that students register by 5:00pm PDT on July 19. See CSE 20 Testout Exam for more information and to register. 

...and should take these courses their first term:

Please DO NOT enroll in Math 11A, AMS/Econ 11A. Only MATH 19A, 19B, and AM 30 or 23A are acceptable calculus requirements for these majors. AM 30 is recommended over Math 23A for most Engineering majors. Students who want to take AM 30 must have completed Math 19B and AM 10 before enrolling.

The option you choose below will depend on your Math and Programming Placement.

Option 1:

  • One Math Course:
    • MATH 2 College Algebra
    • MATH 3: Precalculus 


  • One Programming course:
    • CSE 20, Beg. Programming in Python (if you have little or no programming experience)

Option 2:

  • One Math Course: 
    • MATH 19A: Calculus for Sci, Eng, Math
    • MATH 19B: Calculus for Sci, Eng, Math


  • One Programming Course: 
    • CSE 20, Beg. Programming in Python  (if you have little or no programming experience )
    • CSE 30, Programming Abstractions in Python (requires passing of CSE 20 testout exam)

If you only have room in your fall schedule to take one course for this major then we recommend that you prioritize Math coursework, particularly if you have placed into MATH 2, MATH 3, or MATH 19A.

Special enrollment procedures:

All classes being used for major requirements must be taken for letter grades.

Sample Academic Plan:

Review the Sample Academic Plans in the General Catalog.

Skills important for success in this major:

Skills in mathematics, abstract thinking, attention to detail, logical reasoning, creative problem solving, team communication, ability to focus.

Other Information:

Be sure to attend the BE Orientation during Fall Welcome Week.

Links to Review:

B.A. Program Description (Catalog)
B.S. Program Description (Catalog)
Department Website
BE Undergraduate Advising

Advisor Contact Information:

Baskin Engineering Undergraduate Advising

(831) 459-5840 or
BE Undergraduate Advising Office, 225 Baskin Engineering