Skip To Navigation Skip To Content Basic Menus
UC Santa Cruz
Jack Baskin School of Engineering

Computer Science


  • Home
  • Research
  • Programs
    • Undergraduate
      • Overview
      • Curriculum
      • Courses
      • Schedule of Classes
      • Advising
      • Admissions
      • Comprehensive Exam
    • Graduate
      • Overview
      • Courses
      • Schedule of Classes
      • Research Areas
      • Requirements
      • Continuing Students
      • Breadth Requirements
      • Approved Electives
      • Exam Committee
      • Admissions
      • Graduate Handbook
    • Computer Game Design
  • Industry Relations
  • People
    • Faculty
    • Staff
    • Graduate Students
  • Contact Us

Undergraduate Curriculum

Home » Programs » Undergraduate
Table of Contents
    1. Program Description
    2. Courses for Nonmajors
    3. Computer Science Policies
      1. Admissions Policy
      2. Foundation Courses
      3. Disqualification and Satisfactory Progress in the Major
      4. Letter Grade Policy
      5. Transfer Students
      6. School of Engineering Policies
    4. Preparation for the Major
    5. B.A. Major Requirements
      1. Lower-Division Requirements
        1. Computer Science
        2. Computer Engineering
        3. Mathematics
        4. Applied Mathematics and Statistics
      2. Upper-Division Requirements
      3. Depth Sequence Requirements
      4. Theory Course List
        1. Computer Science
        2. Computer Engineering
      5. Electrical Engineering
        1. Applied Mathematics and Statistics
        2. Mathematics
      6. Practice Course List
        1. Computer Science
        2. Computer Engineering
        3. Electrical Engineering
      7. Game Design Electives
        1. Computer Science
        2. Computer Engineering
        3. Film and Digital Media
    6. B.S. Major Requirements
      1. Lower- and Upper-Division Requirements
        1. Computer Science
        2. Computer Engineering
        3. Mathematics
        4. Applied Mathematics and Statistics
        5. Physics or Chemistry
    7. Comprehensive Requirement
    8. Capstone Courses
    9. Honors in the Major
    10. Computer Science Major Planners
    11. B.S. Computer Science: Computer Game Design Major Requirements
      1. Lower- and Upper-Division Requirements
        1. Mathematics and Physics
        2. Computational Foundations
        3. Game Design
      2. Computer Game Engineering
        1. Digital Media
        2. Art and Social Foundations
          1. Ethics Requirement
          2. Art Elective
          3. Film Elective
          4. Theater Elective
          5. Music Elective
          6. Economics Elective
      3. Comprehensive Requirement
    12. Computer Science: Computer Game Design Major Planners
    13. Minor Requirements
    14. Graduate Programs
      1. Program Description
      2. Requirements for the Master’s Degree: Project Track
        1. Course Requirements
        2. Project
      3. Requirements for the Master’s Degree: Thesis Track
        1. Course Requirements
        2. Thesis
      4. Requirements for the Ph.D. Degree
        1. Course Requirements
        2. Dissertation
        3. Transfer Credit
        4. Review of Progress

Program Description

Computer science is the study of the theoretical and practical aspects of computer technology and computer usage. The Computer Science Department offers courses on a wide range of topics, many of which include a mathematical component, and offers undergraduate bachelor of arts and bachelor of science degrees in computer science, a bachelor of science in computer science: computer game design, as well as the master of science and doctor of philosophy degrees. Besides offering instructional courses, the department engages in a substantial research program in which both advanced undergraduates and graduate students participate.

The bachelor of arts program at UCSC is designed to give students a solid grounding in both theoretical and practical topics in computer science, computer engineering, and mathematics while leaving flexibility for a broad program of study, including many courses outside of science and engineering, or even for a double major in another discipline. The bachelor of science program is appropriate for students desiring a
somewhat stronger concentration in the sciences, with more courses in computer science and computer engineering, as well as courses in physics or chemistry; this program also allows for electives outside of science and engineering.

The bachelor of science in computer game design builds on a rigorous core program of study in computer science, adding interdisciplinary study on the artistic, dramatic, and narrative elements of computer game design; a year-long game design project acts as a capstone learning experience. Because many courses in all three programs have prerequisites, students leaning toward any of these programs will enjoy greater scheduling flexibility if they begin some preparatory courses in their first year. The specific course requirements for each undergraduate degree are given below.

Applications of computer science are found in many other areas of study, from art and music to business and science. Thus, interdisciplinary activities are encouraged. For those students whose primary interest is in another area, a minor in computer science is offered.

Courses for Nonmajors

The Computer Science Department offers a wide range of courses intended for nonmajors as well as majors. These include course 2, Computer Literacy; course 10, Introduction to Computer Science; course 80B, Systems and Simulation; course 80C, Computer Arts and Graphics; course 80J, Technology Targeted at Social Issues; course 80S, From Software Innovation to Social Entrepreneurship; and course 80K, Foundations of Interactive Game Design. Course 10, Introduction to Computer Science, may be beneficial to students who are considering the major but have a limited background in computer science. There are also introductory programming classes intended for nonmajors: courses 5C, 5J, 5P, Beginning Programming.

Computer Science Policies

Admissions Policy

Admission to the computer science majors is selective. First-year applicants may receive direct admission at the time they apply to UCSC based on their high school record and test scores. Admission to the major after a student has entered UCSC is based on performance in all School of Engineering and Physical and Biological Sciences courses attempted at UCSC. Please refer to the School of Engineering section of the catalog for the full admissions policy.

Foundation Courses

The foundation courses for each computer science major are as follows:

Computer Science BS and BA: Computer Science 12A and 12B (or 13H); Computer Engineering 16; and Mathematics 19A-B, or 20A-B

Computer Game Design: Computer Science 12A and 12B, Computer Engineering 16; and Mathematics 19A-B, or 20A-B.

UCSC students that have completed three or more quarters at UCSC must complete the foundation courses before they can declare a computer science major.

Disqualification and Satisfactory Progress in the Major

Students who do not make adequate progress in the computer science major may be disqualified from the major. Adequate progress normally means passing a minimum of three courses required for the major over every three consecutive quarters. (For part-time students, 15 credits attempted equals one full term.) Students who do not expect to meet this requirement should consult their faculty adviser and/or the undergraduate director for their major beforehand.

Students who receive a total of three grades of D, F, or No Pass in the key courses, Computer Science 12A, 12B, 13H, 101; and Computer Engineering 12 and 16, may, at the discretion of the department, be disqualified from the major.

The department may, at its sole discretion, disqualify from the major any student making two unsuccessful attempts in any one of the following principal courses commonly used to satisfy degree requirements:

  • Computer Science 12A, 12B, 13H, 101, 102, 104A, 104B, 105, 111, 112, 115, 116, 130, 132, 140, 160, 161, 180, 181, and 183;
  • Computer Engineering 12, 16, 100, 107, and 110;
  • Applied Mathematics and Statistics 10, 131, and 147;
  • Physics 5A, 5B, 5C, 6A, 6B, and 6C;
  • Chemistry 1B and 1C;
  • Mathematics 19A-B or Mathematics 20A-B, and 23A.

Each grade of D, F, or No Pass counts as one unsuccessful attempt; each grade of W counts as one-half of an unsuccessful attempt.

The School of Engineering section contains additional disqualification policies, such as maintaining a 2.0 School of Engineering GPA and the ethics requirement, that apply to computer science majors.

Students at risk of disqualification must meet with an undergraduate adviser to discuss their options for continuing in the major.

Letter Grade Policy

The Computer Science Department requires letter grades for all courses applied toward the B.A., B.S., Computer Game Design, and minor in computer science with the exception of two lower-division courses which students may elect to take Pass/No Pass. This policy includes courses required for the computer science majors but sponsored by other departments.

Transfer Students

Most courses in the computer science program at UCSC have a strong theoretical component to prepare the student for designing, as opposed to simply using, computer systems. Often, courses taken at other institutions which emphasize applications of current languages and computers do not count toward the computer science major at UCSC.

At UCSC, students are first introduced to programming using the programming language Java. The core programming sequence, courses 12A/L and 12B/M (or 13H/L, which covers both 12A/L and 12B/M), exposes students to both Java and C. Many upper-division courses that involve programming use the C and C++ programming languages. Transfer students who are not familiar with both Java and C may need to take a remedial course. Students familiar with C++ and Unix should find the transition to Java and C relatively simple.

Please refer to the School of Engineering section of the catalog for the policy regarding transfer students.

School of Engineering Policies

Please refer to the School of Engineering section of the catalog for additional policies that apply to all School of Engineering programs. These policies include admission to the major, limits on the number of times courses can be attempted, and the need for computer science students to obtain preapproval before taking courses elsewhere.

Preparation for the Major

It is recommended that high school students intending to apply to the computer science major have completed four years of mathematics (through advanced algebra and trigonometry) and three years of science in high school. Comparable college mathematics and science courses completed at other institutions also serve to properly prepare a student for the computer science major.

B.A. Major Requirements

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 17 courses, eight lower-division and nine upper-division. Out of these, the eight 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 eight additional upper-division elective courses. To provide an adequate balance in subject matter, these additional courses must be divided between those that emphasize the theoretical aspects of the field and those that have a more practical focus. To provide a depth of study in one aspect of computer science, students must complete one of the approved depth sequences.

Lower-Division Requirements

Each student must successfully complete the following nine required preparatory courses:

Computer Science

12A/L, Introduction to Programming/Computer Programming Laboratory (or 5J, Introduction to Programming in Java and 11 Intermediate Programming);

12B/M, Introduction to Data Structures/Laboratory;

Computer Engineering

12/L, Computer Systems and Assembly Language/ Laboratory

16 (or 16H), Applied Discrete Mathematics (or Honors Applied Discrete Mathematics)

Mathematics

19A-B, Calculus for Science, Engineering, and Mathematics (credit for one or both may be granted with adequate performance on the CEEB calculus AB or BC Advanced Placement exam); or Mathematics 20A-B, Honors Calculus

23A, Multivariable Calculus

Applied Mathematics and Statistics

10, Mathematical Methods for Engineers I or Mathematics 21, Linear Algebra; and 24, Ordinary Differential Equations

Upper-Division Requirements

101, Algorithms and Abstract Data Types

In addition to the above nine required courses, students must complete eight upper division electives, by completing the requirements for one depth sequence. At least 50 percent of these upper-division courses must be completed at UCSC.

Depth Sequence Requirements

For the following depth sequences, students must take at least seven courses from the theory and practice course lists, as follows:

  • a minimum of three courses from the theory course list and a minimum of three courses from the practice course list;
  • the seven courses from the theory and practice course lists must include all of the courses of one of the depth sequences;
  • the eighth upper-division elective must be selected from any upper-division (5-credit) School of Engineering course.

The depth sequence courses are:

  • Compilers and language theory: Computer Science 104A, 112, and 104B or 130;
  • Operating systems and hardware: Computer Engineering 100/L, Computer Science 111, and Computer Engineering 110 or 121/L;
  • Theory: Computer Science 102, 130, and 132;
  • Software methodology: Computer Science 115 and two of the following: Computer Science 104A, 112, and 116;
  • Graphics: Computer Science 160/L, 161/L, and Applied Mathematics and Statistics 147;
  • Databases: Computer Science 180, 181, and 183

For the interactive game design depth sequence only, students must satisfy the following requirements:

  • Core courses: students must take Computer Science 130, 105, 140, 160/L, and 115.
  • Game design electives: students must take two courses from the game design electives list.
  • Free elective: any course from the theory and practice course lists.

Theory Course List

Computer Science

102 Introduction to Analysis of Algorithms

130 Computational Models

132 Computability and Computational Complexity

142 Machine Learning and Data Mining

Computer Engineering

107 Mathematical Methods of Systems Analysis: Stochastic

108 Data Compression

154 Data Communications

177 Applied Graph Theory and Algorithms

Electrical Engineering

103 Signals and Systems

153 Digital Signal Processing (formerly Computer Engineering 153)

Applied Mathematics and Statistics

131 Introduction to Probability Theory

146 Introduction to Dynamical Systems

147 Computational Methods and Applications

162 Design and Analysis of Computer Simulation Experiments

Mathematics

115 Graph Theory

117 Advanced Linear Algebra

126 Mathematical Control Theory

148 Numerical Analysis

Practice Course List

Computer Science

104A Fundamentals of Compiler Design I

104B Fundamentals of Compiler Design II

105 Systems Programming

109 Advanced Programming

111 Introduction to Operating Systems

112 Comparative Programming Languages

115 Software Methodology

116 Software Design Project

122 Computer Security

128 Distributed Systems: File Sharing, Online Gaming, and More

129 Data Storage Systems

140 Artificial Intelligence

146 Game Artificial Intelligence

148 Interactive Storytelling

160/L Introduction to Computer Graphics/Laboratory

161/L Visualization and Computer Animation/Laboratory

164/L Game Engines/Laboratory

180 Database Systems I

181 Database Systems II

183 Hypermedia and the Web

190X Methods of Cryptography

204 Compiler Design

Computer Engineering

100/L Logic Design/Laboratory

110 Computer Architecture

112 Computer and Game Console Architecture

113 Parallel and Concurrent Programming

117/L Embedded Software/Laboratory

118/L Introduction to Mechatronics/Laboratory

121/L Microprocessor System Design/Laboratory

123A Computer Engineering Design Project I

123B Computer Engineering Design Project II

125/L Logic Design with Verilog/Laboratory

126/L Advanced Logic Design/Laboratory

150 Introduction to Computer Networks

152 Analysis and Design of Communication Protocols

155/L Computer Networks Project/Laboratory

167/L Sensing and Sensor Technologies/Laboratory

Electrical Engineering

130/L Introduction to Optoelectronics and Photonics/Laboratory

Game Design Electives

Computer Science

102 Introduction to Analysis of Algorithms

116 Software Design Project

128 Distributed Systems: File Sharing, Online Gaming, and More

146 Game Artificial Intelligence

148 Interactive Storytelling

161/L Visualization and Computer Animation/Laboratory

164/L Game Engines/Laboratory

180 Database Systems I

Computer Engineering

112 Computer and Game Console Architecture

150 Introduction to Computer Networks

167/L Sensing and Sensor Technologies/Laboratory

Film and Digital Media

170A Introduction to Digital Media Production

171D Social Information Spaces

177 Digital Media Workshop: Computer as Medium

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 22 courses must be completed for the B.S. in computer science, whereas a minimum of 17 courses must be completed for the B.A. in computer science. Out of the 22 courses, 10 are lower-division courses (including two science courses), and 12 are upper-division courses. The B.S. is more structured than the B.A.; 18 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

12A/L Introduction to Programming/Laboratory (or 5J Introduction to Programming in Java and 11 Intermediate Programming)

12B/M Introduction to Data Structures/Laboratory

101 Algorithms and Abstract Data Types

102 Introduction to Analysis of Algorithms

104A Fundamentals of Compiler Design I

111 Introduction to Operating Systems

112 Comparative Programming Languages

130 Computational Models

Computer Engineering

12/L Computer Systems and Assembly Language/Laboratory

16 Applied Discrete Mathematics

107 Mathematical Methods of Systems Analysis: Stochastic, or AMS 131, Introduction to Probability Theory

110, Computer Architecture, or 112, Computer and Game Console Architecture

Mathematics

19A-B Calculus for Science, Engineering, and Mathematics, or Mathematics 20A-B, Honors Calculus

23A Multivariable Calculus

Applied Mathematics and Statistics

10 Mathematical Methods for Engineers I; or Mathematics 21, Linear Algebra

131 Introduction to Probability Theory; or Computer Engineering 107, Mathematical Methods of Systems Analysis: Stochastic

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 1B/M, General Chemistry/Laboratory

Chemistry 1C/N, General Chemistry/Laboratory

The remaining four courses must be upper-division computer science or computer engineering electives selected from the theory and practice course lists (see B.A. Major Requirements reference above). One of these courses may be replaced by an upper-division mathematics course from the theory course list.

Comprehensive Requirement

In addition to the above B.A. or B.S. requirements, students in the computer science majors must satisfy one of the following three exit requirements: pass one of the capstone courses (see Capstone Courses below); obtain a scaled score of 600 or above on the graduate record examination (GRE) advanced computer science subject test; or successfully complete a senior thesis.

Capstone Courses

Students may choose from one of the following capstone courses to satisfy their exit requirement:

104B Fundamentals of Compiler Design II

116 Software Design Project

140 Artificial Intelligence

161/L Visualization and Computer Animation/Laboratory

181 Database Systems II

183 Hypermedia and the Web

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. W’s count as an attempted class for this purpose. If a student fails to receive a passing score during these two attempts, he or she may still take the GRE Advanced Computer Science Subject Test and achieve a scaled score of 600 or above to satisfy the exit requirement.

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 course 195, Senior Thesis Research; submit a written thesis proposal; and have it accepted by a faculty supervisor. The supervision of a senior thesis student is always at the discretion of the faculty member. A written report and an oral presentation to a faculty examining committee are required.

Students who elect to use the GRE advanced computer science subject test as their senior exit requirement must arrange to take the GRE test and have scores submitted to the department before graduation deadlines. Contact the UCSC Career Center for GRE information and application forms.

Honors in the Major

Students must obtain a GPA of 3.8 or higher in the courses in the major to be considered for the distinction of “Highest Honors in the Major.” Students must obtain a GPA of 3.5 or higher in the courses in the major to be considered for the distinction of “Honors in the Major.” The School of Engineering reserves the right to withhold honors based on other criteria, such as an incident of academic dishonesty.

Computer Science Major Planners

The following are four sample academic plans for first-year students as preparation for the computer science major. Plans One A and Two A are suggested guidelines for students who have some prior experience with programming. Plans One B and Two B are for students who are considering the major and have no prior programming experience. Students who plan carefully can still have several openings free to take other breadth courses they find interesting.

Plan One A, B.A. Degree
Year Fall Winter Spring

1st (frsh)

Cmps 10

Math 19A

Cmps 12A/L

Math 19B

Cmps 12B/M

Math 23A

2nd
(soph)

Cmpe 16

Cmpe 12/L

Cmps 101

AMS 10

Plan One B, B.A. Degree
Year Fall Winter Spring

1st (frsh)

AMS 3

Cmps 10

Math 19A

Cmps 5J

Math 19B

Cmps 11

2nd
(soph)

Math 23A

Cmpe 16 or 16H/L

Cmps 12B/M

Cmps 101

AMS 10

Plan Two A, B.S. Degree
Year Fall Winter Spring

1st (frsh)

Cmps 12A/L

Math 19A

Cmps 12B/M

Math 19B

Cmpe 12/L

Math 23A

2nd
(soph)

Cmpe 16

AMS 10

Cmpe 100/L

Phys 6A/L

Cmps 101

Phys 6C/N

Plan Two B, B.S. Degree
Year Fall Winter Spring

1st (frsh)

Cmps 10

Math 19A

Cmps 5J

Cmps 11

Math 19B

2nd
(soph)

Math 23A

Cmps 12B/M

Cmpe 16

Cmps 11

Math 19B

Cmpe 12/L

Cmps 101 or AMS 10

B.S. Computer Science: Computer Game Design Major Requirements

The goal of this degree is to provide students a deep understanding of the technical aspects of computer game engineering, and a broad background in the artistic, narrative, and dramatic elements of game design. The core of the degree program is a strong grounding in computer science and computer engineering, preceded by a foundation in math and physics. Classes in ethics, as well as courses in art, film, music, theater arts, and economics provide breadth in topics of special relevance to computer game design. In their upper division courses, students gain depth by taking upper division electives in computer science and computer engineering. Two advanced courses in digital media give students the ability to view computer software from an artistic framework. A year-long capstone game design studio class allows students to develop substantial computer games, and integrate materials from the rest of the program.

The curriculum has 124-141 credits in 24-25 courses (depending on whether a student enters as a transfer student). 12 of the courses are upper division. Students interested in the major should pay special attention to the overlap between general education requirements and major requirements, as the major covers up to six general education requirements.

Lower- and Upper-Division Requirements

Course requirements are divided into six conceptual areas:

Mathematics and Physics

Complete all of the following courses:

Mathematics 19A-B, Calculus for Science, Engineering, and Mathematics (students can alternately take, Mathematics 20A-B, Honors Calculus. Credit for one or both Mathematics 19A-B may be granted with adequate performance on the CEEB calculus AB or BC advanced placement exams).

Mathematics 21, Linear Algebra, or Applied Mathematics and Statistics 10, Mathematical Methods for Engineers I

Computer Engineering 16, Applied Discrete Mathematics (or 16H, Honors Applied Discrete Mathematics)

Physics 5A/L, Introduction to Physics I/Laboratory (or 6A/L)

Computational Foundations

Complete all of the following courses:

Computer Science 12A/L, Introduction to Programming/Laboratory (or 5J Introduction to Programming in Java, and 11 Intermediate Programming)

Computer Science 12B/M, Introduction to Data Structures/Laboratory

Computer Engineering 12/L, Computer Systems and Assembly Language/Laboratory

Computer Science 109, Advanced Programming

Computer Science 101, Algorithms and Abstract Data Types

Game Design

Complete all of the following courses. Course 20, Game Design Experience is waived for transfer students.

Computer Science 20, Game Design Experience

Computer Science 170, Game Design Studio I

Computer Science 171, Game Design Studio II

Computer Science 172, Game Design Studio III

Computer Game Engineering

Complete five courses from the following list:

Computer Science 160/L, Introduction to Computer Graphics/Laboratory

Computer Science 161/L, Visualization and Computer Animation/Laboratory

Computer Science 164/L, Game Engines/Laboratory

Computer Science 140, Artificial Intelligence

Computer Science 146, Game Artificial Intelligence

Computer Science 148, Interactive Storytelling

Computer Engineering 110, Computer Architecture

Computer Science 128, Distributed Systems, File Sharing, Online Gaming, and More

Computer Science 105, Systems Programming

Computer Science 111, Introduction to Operating Systems

Computer Engineering 112, Computer and Game Console Architecture

Computer Engineering 150, Introduction to Computer Networks

Computer Engineering 152, Analysis and Design of Communication Protocols

Computer Engineering 113, Parallel and Concurrent Programming

Computer Engineering 118/L, Introduction to Mechatronics/Laboratory

Computer Science 180, Database Systems I

Computer Science 181, Database Systems II

Computer Science 183, Hypermedia and the Web

Computer Science 102, Introduction to Analysis of Algorithms

Computer Science 130, Computational Models

Computer Engineering 117/L, Embedded Software/Laboratory

Applied Mathematics and Statistics 131, Introduction to Probability Theory

Applied Mathematics and Statistics 147, Computational Methods and Applications

Applied Mathematics and Statistics 162, Design and Analysis of Computer Simulation Experiments

Digital Media

Complete two courses from the following list,

Film and Digital Media 170A, Introduction to Digital Media Production

Film and Digital Media 177, Digital Media Workshop, Computer as Medium

Film and Digital Media 171D, Social Information Spaces

Any course offered in the digital arts new media (DANM) curriculum (requires approval of professor)

Art 118, Computer Art: Theories, Methods, and Practices (may require approval of instructor)

Theater Arts 157, Playwriting

Art and Social Foundations

Complete the ethics requirement and three of the following electives.

Ethics Requirement

One of:

Computer Engineering 80E, Engineering Ethics

Philosophy 22, Introduction to Ethical Theory

Philosophy 24, Introduction to Ethics, Contemporary Moral Issues

Philosophy 28, Environmental Ethics

Biomolecular Engineering 80G, Bioethics in the 21st Century: Science, Business, and Society (crosslisted as Philosophy 80G)

Art Elective

One of:

Art 10G, 2D Foundation

Art 10H, 3D Foundation

Art 80A, Introduction to Drawing

Art 80F, Introduction to Issues in Digital Media

Film Elective

One of:

Film and Digital Media 20A, The Film Experience

Film and Digital Media 20C, Introduction to Digital Media

Film and Digital Media 20P, Introduction to Production Technique

Theater Elective

One of:

Theater Arts 10, Introduction to Theater Design and Technology

Theater Arts 18, Drafting for Theatrical Production

Theater Arts 19, Design Studio, Lighting Studio

Theater Arts 20, Introductory Studies in Acting

Theater Arts 30, Introduction to Modern Dance Theory and Technique

Theater Arts 40, Introduction to Directing

Theater Arts 80E, Stand-Up Comedy

Theater Arts 80L, Muppet Magic: Jim Henson’s Art

Music Elective

One of:

Music 11A, Introduction to Western Art Music

Music 11B, Introduction to Jazz

Music 11C, Introduction to American Popular Music

Music 11D, Introduction to World Music

Music 80C, History, Literature, and Technology of Electronic Music

Music 80L, Artificial Intelligence and Music

Music 80M, Film Music

Music 80R: Music and the World Wide Web

Economics Elective

One of:

Economics 1, Introductory Microeconomics, Resource Allocation and Market Structure

Economics 2, Introductory Macroeconomics, Aggregate Economic Activity

Economics 80H, Wall Street and the Money Game

Comprehensive Requirement

Students satisfy the senior comprehensive requirement by either receiving a passing grade in all three courses of the game design studio sequence or performing a senior thesis.

Computer Science: Computer Game Design Major Planners

The following are three sample academic plans that students can use to plan their sequence of courses in the major. Plans one and two are suggested guidelines for students who begin their studies in their freshman year. Such students, if they plan carefully will have several openings free to take other breadth courses they find interesting. Plan one is for a student entering UCSC in their freshman year who is prepared to go directly into Mathematics 19A/20A and Computer Science 12A. Plan two is for a student entering UCSC their freshman year who needs to take preparatory courses prior to Mathematics 19A or Computer Science 12A to ensure a successful outcome in those courses. Plan three is for students that transfer to campus at the beginning of their junior year.

Plan One–Enter UCSC Freshman Year
Year Fall Winter Spring

1st (frsh)

Core

Math 19A or 20A

Cmps 12A/L

Cmps 20 (Game Design Experience)

Math 19B or 20B

Cmps 12B/M

Art/Social Elective I

Cmpe 12/L

Composition (C,

or gen ed)

2nd
(soph)

Phys 5A/L

or 6A/L

gen ed

Math 21 or AMS 10

Art/Social

Elective II

Cmps 109

Cmpe 16

Art/Social Elective III

Ethics Requirement

Cmps 101

3rd
(jr)

gen ed

Game Engineering

Elective I

Game Engineering

Elective II

gen ed

Game Engineering

Elective III

Game Engineering

Elective IV

gen ed

Game Engineering

Elective V

4th
(sr)

gen ed

Cmps 170

(Game Design

Studio I)

Digital Media

Elective I

gen ed

gen ed

Cmps 171 (Game Design Studio III)

gen ed

Cmps 172 (Game

Design Studio III)

Digital Media

Elective II

Plan Two–Enter UCSC Freshman Year, Need Math and Computer Science Preparation Classes (Mathematics 3, Computer Science 10)
Year Fall Winter Spring

1st (frsh)

Core

Math 3

Cmps 10

Writing (C, or gen ed)

Math 19A

Cmps 12A/L

Math 19B

Cmps 12B/M

Art/Social Elective I

2nd
(soph)

Art/Social

Elective II

Cmpe 12/L

Phys 6A/L

Cmps 20 (Game

Design Experience)

Cmpe 16

Cmps 109

Math 21 or AMS 10

Ethics Requirement

Art/Social

Elective III

3rd
(jr)

Cmps 101

Digital Media

Elective I

gen ed

Game Engineering

Elective I

Game Engineering

Elective II

gen ed

gen ed

Game Engineering

Elective III

Digital Media

Elective II

4th
(sr)

gen ed

Cmps 170

(Game Design

Studio I)

Game Engineering

Elective IV

gen ed

Cmps 171 (Game

Design

Studio II)

Game Engineering

Elective V

gen ed

gen ed

Cmps 172 (Game

Design Studio III)

Plan Three-Transfer Student
Year Fall Winter Spring

1st (frsh)

Cmps 101

Cmpe 12/L

Art/Social

Elective I

Cmps 109

Game Engineer-

ing Elective I

Digital Media

Elective I

Ethics Requirement

Game Engineering

Elective II

Digital Media

Elective II

2nd
(soph)

Art/Social

Elective II

Cmps 170 (Game

Design Studio I)

Game Engineering

Elective III

Art/Social

Elective III

Cmps 171 (Game

Design Studio II)

Game Engineering

Elective IV

gen ed

Cmps 172 (Game

Design Studio III)

Game Engineering

Elective V

Minor Requirements

Courses required for the computer science minor are Mathematics 19A-B or 20A-B, and 23A; Applied Mathematics and Statistics 10; Computer Science courses 12A/L and 12B/M (or 13H/L can be taken to cover both 12A/L and 12B/M) and course 101; Computer Engineering 12/L and 16; and four additional upper-division computer science courses from a list of approved electives (see the department’s checklist for the computer science minor at www.soe.ucsc.edu/programs/cs/undergraduate/). In selecting the four upper-division courses, students may elect to focus on one subdiscipline of computer science by completing the courses in a B.A. depth sequence. Upper-division computer engineering and mathematics courses that generally apply toward the computer science major may not be applied toward the computer science minor. In addition, some upper-division computer science courses may not be applied toward the computer science minor. There is no comprehensive examination or senior thesis requirement for the minor.

Graduate Programs

Program Description

The Computer Science Department at UCSC offers both a master’s program and a doctoral program. The goal of these programs is to help students develop into independent scholars who are prepared for productive careers in research, teaching, and industry. The master’s degree may be used as a terminal degree or as the first step toward the Ph.D. degree. The student-faculty ratio is five to one, making it possible for students to receive individual attention and to pursue programs that fit their individual needs. The intellectual atmosphere is enriched by regular colloquia and seminars presented by eminent contributors to the field, many of whom are associated with other major universities and industrial research centers in the San Francisco Bay Area.

The Computer Science Department enjoys a close relationship with the Computer Engineering and Electrical Engineering Departments, the Bioinformatics Department, and the new Applied Mathematics and Statistics Department.

Most computer science graduate students are hired as teaching assistants helping with undergraduate courses, hired as research assistants working for computer science and other School of Engineering faculty, or awarded fellowships to pursue their research.

Additional information on the computer science graduate programs can be found on the department’s web pages at www.soe.ucsc.edu.

Requirements for the Master’s Degree: Project Track

Course Requirements

Each student is required to take 50 credits as follows:

Computer Science

  • 200, Research and Teaching in Computer Science and Engineering, 3 credits;
  • 201, Analysis of Algorithms, 5 credits;
  • 203, Programming Languages, 5 credits;
  • 296, Master’s Project, 2 credits;
  • a base requirement in computer architecture must be met by taking Computer Engineering 110 or Computer Engineering 202 or equivalent elsewhere (approval required);
  • one course each from three different breadth categories for a total of three courses (15 credits). See www.soe.ucsc.edu/programs/cs/graduate/;
  • all remaining credits must be graduate elective courses from the list of approved graduate courses. See www.soe.ucsc.edu/programs/cs/graduate/;
  • two upper-division undergraduate computer science courses (other than course 101) or a graduate course (not seminar) in related disciplines outside the list of approved graduate courses may be substituted for one graduate course, when necessary to strengthen a student’s preparation for graduate studies, with prior approval from the adviser and the graduate director.

Project

Completion of a master’s project is required for the master’s degree. In consultation with the adviser, the student forms a master’s project reading committee of at least two faculty members, each of whom is provided a copy of the project report. The final project must be accepted by the review committee before the award of the master of science degree.

Requirements for the Master’s Degree: Thesis Track

Course Requirements

Each student is required to take 48 credits as follows:

Computer Science

  • 200, Research and Teaching in Computer Science and Engineering, 3 credits;
  • 201, Analysis of Algorithms, 5 credits;
  • 203, Programming Languages, 5 credits;
  • a base requirement in computer architecture must be met by taking Computer Engineering 110 or Computer Engineering 202 or equivalent elsewhere (approval required);
  • one course each from three different breadth categories for a total of 3 courses (15 credits)—see www.soe.ucsc.edu/programs/cs/graduate/;
  • up to 10 credits of course 297, Independent Study or Research; or course 299, Thesis Research;
  • all remaining credits must be graduate elective courses from the list of approved graduate courses—see www.soe.ucsc.edu/programs/cs/graduate/;
  • two upper-division undergraduate computer science courses (other than course 101) or a graduate course (not seminar) in related disciplines outside the list of approved graduate courses may be substituted for one graduate course, when necessary to strengthen a student’s preparation for graduate studies, with prior approval from the adviser and the graduate director.

Thesis

Completion of a master’s thesis is required for the master’s degree. To fulfill this requirement, the student submits a written proposal to a faculty member, usually by the third academic quarter. By accepting the proposal, the faculty member becomes the thesis adviser. In consultation with the adviser, the student forms a master’s thesis reading committee with at least two additional faculty members, each of whom is provided a copy of the proposal. The student presents an expository talk on the thesis research, and the final thesis must be accepted by the review committee before the award of the master of science degree.

Requirements for the Ph.D. Degree

Course Requirements

Each student is required to take 58 credits as follows:

Computer Science

  • 200, Research and Teaching in Computer Science and Engineering, 3 credits;
  • 201, Analysis of Algorithms, 5 credits;
  • 203, Programming Languages, 5 credits;
  • a base requirement in computer architecture must be met by taking Computer Engineering 110 or Computer Engineering 202 or equivalent elsewhere (approval required);
  • one course each from three different breadth categories for a total of 3 courses (15 credits)—see www.soe.ucsc.edu/programs/cs/graduate/;
  • up to 10 credits of course 297, Independent Study or Research; or course 299, Thesis Research;
  • at least 33 units must be in computer science;
  • all remaining credits must be graduate elective courses from the list of approved graduate courses—see www.soe.ucsc.edu/programs/cs/graduate/;
  • graduate courses (not seminars) in related disciplines outside the list of approved graduate courses may be substituted, when necessary to strengthen a student’s preparation for graduate studies, with prior approval from the adviser and the graduate director. Course selection should form a coherent plan of study and requires adviser approval. Undergraduate courses may not be used to satisfy Ph.D. course requirements;
  • each student is required to complete at least one quarter of teaching assistantship. This requirement can be met after advancement to candidacy. Certain exceptions may be permitted for those with extensive prior teaching experience or those who are not allowed to be employed due to visa regulations.

Ph.D. students who have satisfied the requirements for the master’s degree are eligible to receive a master’s degree.

Dissertation

Each student writes a Ph.D. dissertation. The dissertation must show the results of in-depth research, be an original contribution of significant knowledge, and include material worthy of publication. Where appropriate, research internships with companies, government labs, or elsewhere are recognized (and may be required) as an integral part of the research leading to the dissertation. As the first step, a student submits a written dissertation proposal to a School of Engineering faculty member. By accepting the proposal, the faculty member becomes the dissertation supervisor. The dissertation proposal is publicly and formally presented in an oral qualifying examination given by a qualifying exam committee, approved by the graduate committee and the Graduate Council. The student must submit his or her written dissertation proposal to all members of the committee and the graduate assistant one month in advance of the examination.

Students are advanced to candidacy after they have completed the course requirements, passed the qualifying examination, cleared all Incompletes from their records, have an appointed dissertation reading committee, and paid the filing fee. Students who have not advanced to candidacy by the end of their fourth year will be placed on academic probation.

Each Ph.D. candidate submits the completed dissertation to a reading committee at least one month prior to the dissertation defense. The appointment of the dissertation reading committee is made immediately after the qualifying exam and is necessary for advancing to candidacy. The candidate presents his or her research results in a public seminar sponsored by the dissertation supervisor. The seminar is followed by a defense of the dissertation to the reading committee and attending faculty, who will then decide whether the dissertation is acceptable or requires revision. Successful completion of the dissertation fulfills the final academic requirement for the Ph.D. degree.

Transfer Credit

Up to three School of Engineering courses fulfilling the degree requirements of either the M.S. or Ph.D. degrees may be taken before beginning the graduate program through the concurrent enrollment program.

Ph.D. students who have previously earned a master’s degree in a related field at another institution may substitute courses from their previous university with approval of the adviser and the graduate committee.

Courses from other institutions may not be applied to the M.S. degree course requirements.

Petitions should be submitted along with the transcript from the other institution or UCSC extension. For courses taken at other institutions, copies of the syllabi, exams, and other course work should accompany the petition. Such petitions are not considered until the completion of at least one quarter at UCSC.

At most, a total of three courses may be transferred from concurrent enrollment and other institutions.

Review of Progress

Each year, the faculty reviews the progress of every student. Students not making adequate progress toward completion of degree requirements (see Graduate Handbook for policy on satisfactory academic progress) are subject to dismissal from the program. Students with academic deficiencies may be required to take additional courses. Full-time students with no academic deficiencies are normally expected to complete the degree requirements at the rate of at least two courses per quarter. Full-time students must complete course 201, Computer Engineering 202, and course 203 within two years and normally must complete all course requirements within two years for the M.S. and three years for the Ph.D.

Students receiving two or more grades of below B or U (fail) in the School of Engineering (SoE) courses are not making adequate progress and will be placed on academic probation for the following three quarters of registered enrollment. Withdrawing or taking a leave of absence does not count as enrollment. Part-time enrollment is counted as a half quarter of enrollment.

Should any computer science graduate student fail an SoE course while on probation, the Computer Science Department may request the graduate dean to dismiss that student from the graduate program. If after being removed from probation, the student again fails a SoE course, he or she will return immediately to academic probation.

Graduate students experiencing circumstances or difficulties that impact their academic performance should contact their adviser and the graduate director
immediately. Students may appeal their dismissal. See www.soe.ucsc.edu/programs/cs/graduate/CSCurrentReq.html#progress for more information on this policy.

Source: http://reg.ucsc.edu/catalog/html/programs_courses/cmpsPS.html

© 2008 UC Santa Cruz • All Rights Reserved • Last Modified On September 22, 2008 At 9:29 AM
1156 High St, Santa Cruz, CA 95064 • 831-459-2158 •
UCSC Home • BSOE Home • Web Mail • My Account • Wiki • Forums • SSH • Basic Menus • Log In