Photos of university / #ucsc
The Bachelor of Science in Computer Science at the University of California offers students a comprehensive foundation in the core principles and technologies that drive the modern digital world. This program is designed to equip students with both theoretical understanding and practical skills in areas such as algorithms, programming languages, software development, computer architecture, data structures, and systems. Students will have the opportunity to explore advanced topics including artificial intelligence, machine learning, cybersecurity, data science, and human-computer interaction, preparing them for diverse careers in technology or for further specialized education. The curriculum emphasizes problem-solving, analytical thinking, and innovation, encouraging students to develop robust software solutions and engage in meaningful research projects. With access to state-of-the-art laboratories and collaborations with industry partners, students gain hands-on experience that is vital for success in the technology sector. The program also fosters interdisciplinary learning, allowing students to integrate computer science with fields like business, biology, engineering, and the arts. Graduates of this program are well-positioned for careers in software engineering, data analysis, cybersecurity, research, and development, or to pursue graduate studies. The university's faculty includes recognized experts in computer science, committed to mentoring students and advancing the frontiers of technology through innovative research. Overall, the Computer Science program at the University of California prepares students not only to succeed in the rapidly changing tech landscape but also to lead and innovate for a better future.
The aim of this program is to expose students to a rigorous curriculum in computer science while maintaining sufficient flexibility so that students can take courses outside computer science, pursue a minor in another discipline, or complete a double major. Every student must complete a minimum of 15 courses, 7 lower-division and 8 upper-division. Out of these, the 7 lower-division courses and the first upper-division course are required preparatory courses for every student. Once these preparatory courses are completed, students tailor their own program by choosing 7 additional upper-division elective courses.
Lower-Division Requirements
Each student must successfully complete the following seven required preparatory courses:
- Computer Science
- CMPS 12A/L, Introduction to Programming (Accelerated)/Laboratory (or CMPS 5J, Introduction to Programming in Java and CMPS 11, Intermediate Programming. Computer Engineering 13 may be taken as an alternative to CMPS 12A/L. CMPS 13H/L may be taken as an alternative to CMPS 12A/L and CMPS 12B/M)
- CMPS 12B/M, Introduction to Data Structures/Laboratory (CMPS 13H/L may be taken as an alternative to CMPS 12A/L and CMPS 12B/M)
- Computer Engineering
- Computer Engineering 12/L, Computer Systems and Assembly Language/Laboratory
- Computer Engineering 16, Applied Discrete Mathematics
- Mathematics
- Mathematics 19A and 19B, Calculus for Science, Engineering, and Mathematics (credit for one or both may be granted with adequate performance on the College Entrance Examination Board (CEEB) calculus AB or BC Advanced Placement examination), or Mathematics 11A and 11B (Calculus with Applications), or Mathematics 20A and 20B, Honors Calculus
- Applied Mathematics and Statistics
- Applied Mathematics and Statistics 10, Mathematical Methods for Engineers I or Mathematics 21, Linear Algebra
Upper-Division Requirements
All students in the major must complete the following course:
- CMPS 101, Algorithms and Abstract Data Types
In addition to the above course (and the lower-division requirements, listed above), students must complete upper-division electives chosen as follows:
-
complete three courses from the breadth list below;
-
complete two additional computer science electives chosen from any 5-credit upper-division computer science course except those numbered 191-194 and 196-199;
-
complete two additional 5-credit technical electives selected from the technical elective list below.
Complete the Disciplinary Communication requirement given below. At least 50 percent of these upper-division courses must be completed at UCSC.
Breadth List (complete at least three)
- CMPS 102, Introduction to Analysis of Algorithms
- CMPS 104A, Compiler Design
- CMPS 111, Operating Systems
- CMPS 112, Comparative Programming Languages
- CMPS 115, Software Methodology
- CMPS 122, Computer Security
- CMPS 140, Artificial Intelligence
- CMPS 142, Machine Learning
- CMPS 160/L, Computer Graphics / Laboratory
- CMPS 180/CMPS 180W, Database Systems I
- Computer Engineering 110, Computer Architecture
Technical Elective List (complete at least two)
- Any 5-credit upper-division course offered by the Baskin School of Engineering except those numbered 191 through 194 and 196 through 199.
- Any 5-credit upper-division course from the Division of Physical and Biological Sciences except those numbered 190 and above.
- Art 118, Computer Art: Theories, Methods, and Practices
- Art 120/121, Advanced Projects in Computer Art I/II
- Economics 100M, Intermediate Microeconomics, Math Intensive
- Economics 100N, Intermediate Macroeconomics, Math Intensive
- Economics 101, Managerial Economics
- Environmental Studies 115A/L, Geographic Information Systems
- Film and Digital Media170A, Fundamentals of Introduction to Digital Media Production
- Film and Digital Media 177, Digital Media Workshop: Computer as Medium
- Linguistics 112/113/114, Syntax I/II/III
- Linguistics 116/118, Semantics II/III
- Linguistics 125, Foundations of Linguistic Theory
- Music 123, Electronic Sound Synthesis
- Music 124, Intermediate Electronic Sound Synthesis
- Music 125, Advanced Electronic Sound Synthesis
Disciplinary Communication (DC) Requirement
Students of every major must satisfy that major's upper-division Disciplinary Communication (DC) Requirement. The DC Requirement in computer science (B.A.) is satisfied by completing CMPS 115, CMPS 195, Computer Engineering 185, CMPS 132 and 132W, CMPS 185, or CMPS 180 and 180W. Some of these courses may also fulfill one of the upper-division electives listed above.
B.S. Major Requirements
This program is designed for students who wish to maximize exposure to computer science concepts and methods by taking a larger selection of upper-division computer science courses, as well as additional courses in the sciences and mathematics. A minimum of 21 courses must be completed for the B.S. in computer science, whereas a minimum of 15 courses must be completed for the B.A. in computer science. Out of the 21 courses, 10 are lower-division courses (including two science courses), and 11 are upper-division courses. The B.S. is more structured than the B.A.; 17 specific courses are required, and the remaining four are elective upper-division computer science or computer engineering courses.
Lower- and Upper-Division Requirements
Students are required to take the following 18 courses:
- Computer Science
- CMPS12A/L Introduction to Programming (Accelerated)/Laboratory (or CMPS5J, Introduction to Programming in Java and CMPS11, Intermediate Programming. Computer Engineering 13/L may be taken as an alternative to CMPS 12A/L. CMPS 13H/L may be taken as an alternative to CMPS 12A/L and CMPS 12B/M)
- CMPS 12B/M Introduction to Data Structures/Laboratory (CMPS 13H/L may be taken as an alternative to CMPS 12A/L and CMPS 12B/M)
- CMPS 101 Algorithms and Abstract Data Types
- CMPS 102 Introduction to Analysis of Algorithms
- CMPS 104A Fundamentals of Compiler Design I
- CMPS 111 Introduction to Operating Systems
- CMPS 112 Comparative Programming Languages
- CMPS 130 Computational Models
- Computer Engineering
- Computer Engineering 12/L Computer Systems and Assembly Language/Laboratory
- Computer Engineering 16 Applied Discrete Mathematics
- Computer Engineering 110 Computer Architecture, or Computer Engineering 112, Computer and Game Console Architecture
- Mathematics
- Mathematics 19A and 19B, Calculus for Science, Engineering, and Mathematics, or Mathematics 20A and 20B, Honors Calculus
- Mathematics 23A, Multivariable Calculus
- Applied Mathematics and Statistics
- Applied Mathematics and Statistics 10, Mathematical Methods for Engineers I; or Mathematics 21, Linear Algebra
- Applied Mathematics and Statistics 131, Introduction to Probability Theory, or Computer Engineering 107, Probability and Statistics for Engineers
- Physics or Chemistry
Either two physics or two chemistry courses, with their associated laboratories, from the following:
- Physics 5A/L, Introduction to Physics I/Laboratory (or 6A/L); and either
- Physics 5B/M, Introduction to Physics II/Laboratory (or 6B/M); or
- Physics 5C/N, Introduction to Physics III/Laboratory (or 6C/N)
- Chemistry 1A and 1B/M, General Chemistry/Laboratory; or
- Chemistry 1A and 1C/N, General Chemistry/Laboratory.
- Additional Upper-Division Electives
Four upper-division computer science or computer engineering courses with course number 190 or below, or CMPS 195. One of these courses may be replaced by one of the following upper-division mathematics courses:
- Applied Mathematics and Statistics 114, Introduction to Dynamical Systems;
- Applied Mathematics and Statistics 131, Introduction to Probability Theory;
- Applied Mathematics and Statistics 147, Computational Methods and Applications;
- Mathematics 115, Graph Theory;
- Mathematics 117, Advanced Linear Algebra;
- Mathematics 126, Mathematical Control Theory;
- Mathematics 148, Numerical Analysis.
Disciplinary Communication (DC) Requirement
The DC Requirement in computer science (B.S.) is satisfied by completing CMPS 115, CMPS 195, Computer Engineering 185, CMPS 132 and 132W, CMPS 185, or CMPS 180 and 180W. These courses may also fulfill one of the upper-division electives listed above.
Comprehensive Requirement for the Computer Science B.A. and B.S.
In addition to the above B.A. or B.S. requirements, students in the computer science majors must satisfy one of the following two exit requirements: pass one of the capstone courses (see Capstone Courses below); or successfully complete a senior thesis.
Capstone Courses
Students may choose from one of the following capstone courses to satisfy their exit requirement:
- CMPS 104B Fundamentals of Compiler Design II
- CMPS 117 Software Design Project II
- CMPS 161/L Introduction to Data Visualization and Laboratory
- CMPS 162/L Advanced Computer Graphics and Animation
- CMPS 181 Database Systems II
Students taking one of the capstone courses will enroll normally. Students need to pass the capstone course to pass the exit requirement. No course may be attempted more than twice without prior approval from the chair of the department offering the course. Withdrawals count as an attempted class for this purpose.
Senior Thesis
The senior thesis consists of a self-contained project within the broad scope of computer science, but one that is not available in the regular course offerings. A student wishing to complete a senior thesis must successfully complete a minimum of 5 credits in CMPS 195, Senior Thesis Research. The supervision of a senior thesis student is always at the discretion of the faculty member. The student first submits a written thesis proposal and obtains approval of a faculty sponsor. Then the student submits a written draft and makes an oral presentation to a faculty examining committee. After receiving feedback from the examining committee, the student submits one or more additional drafts, until the final draft is approved by the examining committee. The total amount of writing shall be consistent with the campus disciplinary communication requirement. A passing grade in CMPS 195 is earned when the final thesis is approved.
Requirements
- To be considered for admission to UC Santa Cruz, international students must be on track to complete secondary school with superior grades/marks in academic subjects and to earn a certificate of completion that enables the student to be admitted to a university in their home country.
- Reporting Foreign Course Work on the Application: When you apply to UC Santa Cruz, you must report ALL foreign course work as it would appear on your foreign academic record. You should not convert the grading system of your home country to U.S. grades or use an evaluation done by an agency. If your grades/marks appear as numbers, words, or percentages, please report them as such on your UC application. Each UC campus has an International Admissions Specialist who will thoroughly evaluate your international records.
- IELTS (International English Language Testing System): Overall band score of 6.5 or higher*
- TOEFL (Test of English as a Foreign Language): Minimum score of 550 on the paper-based test or 80 on the Internet-based test
- SAT Writing Exam: 560 or higher
Test Requirements
All freshman applicants are expected to submit scores from one of the following tests. Even if the test is not offered in your country, we expect it:
- The ACT Assessment plus the ACT Writing Test
--OR—
- The SAT with critical reading, mathematics, and writing scores from the same sitting.
*Note: We no longer require SAT Subject exams. (We will still review these exam scores if applicants choose to send them to us, however, and certain SAT Subject exams may be recommended for some majors.)
SAT Subject exams accepted by UC:
- English (literature)
- History/social studies
- Mathematics (Level 2 only; Level 1 is not accepted by the UC)
- Science
- Languages (Other than English)
Please note: In order for your test scores to be available in time for our review, all tests must be taken by December of the year before you plan to enroll.
Scholarships
To qualify for Federal, State, or University funding you must be a U.S. citizen or an eligible non-citizen and you must complete the Free Application for Federal Student Aid (FAFSA). Financial aid is not available for students with F1 or F2 Student Visas, J1 or J2 Exchange Visitor Visas, or G Series Visas.
Undergraduate Dean’s Scholarships and Awards
This award recognizes the academic achievement of non-resident students. Entering non-resident students will be considered for the Undergraduate Dean's Scholarships and Awards ranging from $12,000 to $40,000 (for freshmen) or $6,000 to $20,000 (for transfers), depending upon several factors from your admissions application. The award is intended to offset non-resident tuition and will be discontinued if the student becomes a California resident.
The University of California offers a comprehensive Computer Science program designed to equip students with fundamental and advanced knowledge in the field of computing. The program covers a broad range of topics, including algorithms, programming languages, software development, systems, artificial intelligence, machine learning, data science, cybersecurity, databases, and computer architecture. It aims to develop students' problem-solving skills, computational thinking, and ability to design and analyze complex systems. The curriculum typically includes both theoretical coursework and practical projects, enabling students to gain hands-on experience in coding, system design, and collaborative development. Students have access to state-of-the-art laboratories and research centers, fostering innovation and experiential learning. The program also encourages interdisciplinary studies, allowing students to explore applications of computer science in fields like biology, economics, and social sciences. Graduates of the program are well-prepared for careers in software engineering, data analysis, research, or pursuing advanced studies. The university emphasizes cutting-edge research, supporting undergraduate and graduate students in contributing to advances in the technology sector. Opportunities for internships, industry collaborations, and participation in hackathons are integral components of the experience, helping students to build professional networks and practical skills. The program also offers specializations and tracks, such as artificial intelligence, systems, theory, and software engineering, allowing students to focus on their areas of interest. With a commitment to diversity and inclusion, the university strives to attract talented students from all backgrounds, providing mentorship and resources to support their academic and career goals. The faculty comprises renowned researchers and industry experts dedicated to fostering an innovative, challenging, and supportive academic environment. Overall, the UC Computer Science program prepares graduates to meet the rapidly evolving demands of the tech industry and contribute meaningfully to technological advancements worldwide.