;

Computer Science: Computer Game Design B.S.

Information and Policies

Introduction

The goal of the B.S. in Computational Media degree is to provide students a deep understanding of the technical aspects of computer game engineering and a broad background in the artistic, systemic, and production elements of game design and development.

The core of the degree program is a strong grounding in computer science and computer engineering, preceded by a foundation in mathematics. Classes also develop skills in areas such as visual communication and team-oriented game production, while developing knowledge of topics such as game history, play experiences, game systems, and social and ethical issues.

In their upper-division courses, students gain depth by taking electives in computational media and computer science and engineering, with options such as Game AI, Game Graphics and Real-Time Rendering, Generative AI (Procedural Content Generation), Mobile Applications, Interactive Storytelling, and Algorithmic Music. A two-course game development sequence (Game Development Experience and Game Development Patterns) and a two-quarter comprehensive sequence (Rapid Prototyping and Game Design Studio) allow students to develop complex computer games and integrate materials from the rest of the program.

Program Learning Outcomes

Recipients of a B.S. degree in Computer Game Design at University of California, Santa Cruz, are expected to have the following skills and experiences:

  1. Demonstrate mastery of computer science in the following core knowledge areas: algorithms, data structures, complexity, and software engineering and development.
  2. Apply system-level perspective by thinking at multiple levels of detail and abstraction and by recognizing the context in which a computer system may function, including its interactions with people and the physical world.
  3. Apply problem-solving skills and the knowledge of computer science to solve real problems.
  4. Recognize and take into account the social, legal, historical, ethical, and cultural issues in the discipline of computer games.
  5. Demonstrate written, oral, and graphic design communication skills regarding technical material about computer science and computer games, broadly conceived.
  6. Design and build a technical system that achieves an artistic goal for audience experience, employing sound computer science techniques.
  7. Demonstrate the ability to collaboratively plan, organize, and execute complex, team-oriented projects, using appropriate communication and coordination techniques.

Academic Advising for the Program

The Baskin School of Engineering (BE) Undergraduate Advising Office is located in the Baskin Engineering Building, Room 225. Staff can be contacted via email at bsoeadvising@ucsc.edu or at the Undergraduate Advising website.

Transfer students to the program should consult the Transfer Students section of the Baskin Engineering Undergraduate Affairs page.

Getting Started in the Major: Frosh

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

Computer Science (CS): Game Design is a course-intensive and sequential program, and students who intend to pursue this major must begin taking classes for the major in their first year at UC Santa Cruz. (Please see Plan One and Plan Two in the Planners section for more information.)

Math placement is required for one or more of the foundational courses for this major. For more information, please review the Math Placement website.

Transfer Information and Policy

Transfer Admission Screening Policy

The following courses or their equivalents are required prior to transfer, by the end of the spring term for students planning to enter in the fall:

MATH 19ACalculus for Science, Engineering, and Mathematics

5

MATH 19BCalculus for Science, Engineering, and Mathematics

5

CSE 16Applied Discrete Mathematics

5

CSE 30Programming Abstractions: Python

7

and one of the following courses
ECE 13Computer Systems and C Programming

7

CSE 13SComputer Systems and C Programming

7

CSE 12Computer Systems and Assembly Language and Lab

7

Lecture and lab combinations count as one course.

A minimum GPA of 2.8 must be obtained in the courses listed above.

In addition, completing all but one of the following courses prior to transfer is recommended to ensure timely graduation:
CSE 20Beginning Programming in Python

5

CSE 12Computer Systems and Assembly Language and Lab

7

One of these courses

AM 10Mathematical Methods for Engineers I

5

MATH 21Linear Algebra

5

One of these courses

ECE 13Computer Systems and C Programming

7

CSE 13SComputer Systems and C Programming

7

(Lecture-lab combinations count as one course.)

Prospective students are also encouraged to complete the Intersegmental General Education Transfer Curriculum (IGETC) or to complete all UC Santa Cruz general education requirements before matriculation. If time permits, they may take the equivalents of additional major required courses beyond the core programming, computer systems and mathematics courses, especially those that develop a foundation in building and understanding games and other forms of interactive media.

Getting Started in the Major: Transfer Students

Transfer students should declare their major in their first quarter at UC Santa Cruz. Instructions for declaring a major in the Baskin School of Engineering are on the Baskin Engineering undergraduate advising major declaration page.

Please note that most major courses have a strong theoretical component to prepare the student for designing—as opposed to simply using—technical and game systems. Often, other institutions' courses that emphasize applications of current programming languages and authoring tools do not count toward the major at UC Santa Cruz. For specifics on the BE's transfer student policies, please see Baskin Engineering's Transfer Students website.

CS: Game Design is a course-intensive and sequential program, and transfer students that intend to graduate in two years should plan their schedule carefully with Baskin Engineering Advising. (Please see Plan Three in the Planners section for more information.)

Major Qualification Policy and Declaration Process

Major Qualification

In order to be admitted into the Computer Science: Computer Game Design major, students must be listed as a proposed major within the School of Engineering. Please see the Baskin Engineering Major Qualification Requirements page for more information.

Transfers to the program should consult the Transfer Students section of the Baskin Engineering Undergraduate Affairs page.

Students have to complete all the foundation courses to qualify for the major.

In addition to being listed as a proposed School of Engineering major, admission to the Computer Science: Computer Game Design major is based on the following criteria:

Take the following course:
CSE 16Applied Discrete Mathematics

5

And one of the following calculus courses:
MATH 19ACalculus for Science, Engineering, and Mathematics

5

MATH 20AHonors Calculus

5

And a core programming sequence to include one of the following group of classes:
Either these courses

CSE 12Computer Systems and Assembly Language and Lab

7

CSE 30Programming Abstractions: Python

7

ECE 13Computer Systems and C Programming

7

or these courses

CSE 12Computer Systems and Assembly Language and Lab

7

CSE 30Programming Abstractions: Python

7

CSE 13SComputer Systems and C Programming

7

Students with no prior programming courses will take CSE 20 before CSE 30 and CSE 12. Students with a prior programming course, Advanced Placement (AP) examination credit, or clearing the "Test-out" bar will start with CSE 30 and CSE 12.

A GPA of 2.8 must be obtained in the foundation courses attempted at UC Santa Cruz.

Declaration of the major can happen no sooner than the student's second quarter, and no later than the campus deadline.

No more than 7 credits of C-, D+, D, D-, F, or NP coursework are permitted for foundation courses.

Appeal Process

Denials of admission to the major may be appealed by submitting a letter to the School of Engineering Undergraduate Advising office, addressed to the Computational Media undergraduate director, within 15 days from the date the notification was mailed. The appeal letter must describe why the student's prior performance was not an accurate reflection of their potential. Within 15 days of receipt of the appeal, the Undergraduate Advising office will notify the student and their college of the decision.

How to Declare a Major

Students should submit a petition to declare by completing the petition for major/minor declaration form as soon as they complete the major qualification courses or reach their declaration deadline quarter, whichever comes first.

Students petitioning when the campus declaration deadline is imminent (i.e., in their sixth quarter, for students admitted as frosh), will either be approved, denied, or provided with conditions (e.g., completion of some courses with certain grades) that will be resolved within at most one more enrolled quarter, even if they have not completed major qualification courses.

There are four steps to declaring a BE major. For a detailed guide to this process, please consult Baskin Engineering's Declare Your Major website.

Letter Grade Policy

The Baskin School of Engineering requires letter grades for all courses in an engineering major.

Honors

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.

Baskin Engineering Policies

Please refer to Admission to Baskin Engineering Majors in 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 and the need for students to obtain preapproval before taking courses elsewhere.

Requirements and Planners

Course Requirements

The Computer Science: Computer Game Design curriculum has 24–26 courses (depending on the core programming sequence taken). Thirteen of these courses are upper-division. Several of the required courses and electives are also general education courses. Please consult with the schedule of classes or the General Catalog for more information.

Course requirements are divided into five conceptual areas and may not be credited in more than one area:

Mathematics

Choose one of the following options:
Either these courses

MATH 19ACalculus for Science, Engineering, and Mathematics

5

MATH 19BCalculus for Science, Engineering, and Mathematics

5

or these courses

MATH 20AHonors Calculus

5

MATH 20BHonors Calculus

5

Credit for one or both MATH 19A/MATH 19B may be granted with adequate performance on the CEEB calculus AB or BC Advanced Placement examinations.

Plus one of the following courses:
MATH 21Linear Algebra

5

AM 10Mathematical Methods for Engineers I

5

Plus the following course:
CSE 16Applied Discrete Mathematics

5

Computational Foundations

Choose one of the following options:
Either this course

ECE 13Computer Systems and C Programming

7

or this course

CSE 13SComputer Systems and C Programming

7

CSE 12 is a prerequisite for these courses.

Plus all of the following courses:
CSE 20Beginning Programming in Python

5

CSE 12Computer Systems and Assembly Language and Lab

7

CSE 30Programming Abstractions: Python

7

CSE 101Introduction to Data Structures and Algorithms

5

Students with no prior programming courses will take CSE 20 before CSE 30 and CSE 12. Students with a prior programming course, AP credit, or clearing the “Test-out” bar will start with CSE 30 and CSE 12.

Games and Playable Media Foundations

Complete all of the following courses:

FILM 80VVideo Games as Visual Culture

5

CMPM 80JGames as Technical Culture

5

Game Design and Development

Complete all of the following courses:

CMPM 80KFoundations of Video Game Design

5

CMPM 120Game Development Experience

5

CMPM 121Game Development Patterns

5

CMPM 130User Interface and User Experience Design

5

CMPM 170Rapid Prototyping

5

CMPM 171Game Design Studio

7

CMPM 176Game Systems

5

Computer Game Engineering

Complete five courses from the following list. The majority of these computer game engineering electives (CGEs) are technical practice electives that focus on the development and analysis of computational systems (i.e., the “programming” part of game creation).

No more than two of the five can be from CMPM 110, CMPM 122, CMPM 131, CMPM 132, CMPM 150, CMPM 177, CSE 103, CSE 104, or ECON 166A. (These seven courses focus on other skills useful in computer game development, such as design, production, and mathematical analysis.) CMPM 179 and CMPM 180 are repeatable for credit but may only count once each toward the elective requirement.

NOTE: Lecture/lab combinations count as one course. Associated labs are required only when required by the lecture.

CMPM 110Writing for Game Technologies

5

CMPM 122Business of Games

5

CMPM 125Game Technologies

5

CMPM 131User Experience for Interactive Media

5

CMPM 132Interaction Design Studio

5

CMPM 146Game AI

5

CMPM 147Generative Design

5

CMPM 148Interactive Storytelling

5

CMPM 150Creating Digital Audio

5

CMPM 151Algorithmic Music for Games

5

CMPM 152Musical Data

5

CMPM 163Game Graphics and Real-Time Rendering

5

CMPM 164Game Engines

5

CMPM 169Creative Coding

5

CMPM 172Game Production Studio

7

CMPM 123Advanced Programming

5

CMPM 177Creative Strategies for Designing Interactive Media

5

CMPM 178Human-Centered Design Research

5

CMPM 179
/ARTG 179
Game Design Practicum

5

CMPM 180Topics in Computational Media

5

CSE 102Introduction to Analysis of Algorithms

5

CSE 103Computational Models

5

CSE 104Computability and Computational Complexity

5

CSE 110AFundamentals of Compiler Design I

5

CSE 110BFundamentals of Compiler Design II

5

CSE 112Comparative Programming Languages

5

CSE 113Parallel and Concurrent Programming

5

CSE 115AIntroduction to Software Engineering

5

CSE 115BSoftware Design Project

5

CSE 115CSoftware Design Project II

5

CSE 118Mobile Applications

5

CSE 119Software for Society

5

CSE 120Computer Architecture

5

CSE 130Principles of Computer Systems Design

5

CSE 132Computer Security

5

CSE 138Distributed Systems

5

CSE 140Artificial Intelligence

5

CSE 142Machine Learning

5

CSE 144Applied Machine Learning: Deep Learning

5

CSE 150Introduction to Computer Networks

7

CSE 160Introduction to Computer Graphics

7

CSE 161Introduction to Data Visualization

5

CSE 162Advanced Computer Graphics and Animation

5

CSE 163Data Programming for Visualization

5

CSE 180Database Systems I

5

CSE 181Database Systems II

5

CSE 183Web Applications

5

CSE 186Full Stack Web Development I

5

CSE 187Full Stack Web Development II

5

CSE 184Data Wrangling and Web Scraping

5

ECON 166A
/CSE 166A
Game Theory and Applications I

5

ECE 118Introduction to Mechatronics

10

Note that enrollment restrictions might apply to any of the CSE courses listed here, and it is unlikely Computer Science: Computer Game Design students will be able to enroll in enrollment-restricted courses.

Disciplinary Communication (DC) Requirement

Students must satisfy the major's upper-division disciplinary communication (DC) requirement by completing the following course:

CMPM 130User Interface and User Experience Design

5

Comprehensive Requirement

Students satisfy the senior comprehensive requirement by receiving a passing grade in the following courses:

CMPM 170Rapid Prototyping

5

CMPM 171Game Design Studio

7

Planners

The tables below are for informational purposes and do not reflect all university, general education, and credit requirements. See Undergraduate Graduation Requirements for more information.

The following are three sample academic plans that students can use to plan their sequence of courses in the major. The first two plans are suggested guidelines for students who begin their studies in their frosh 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 UC Santa Cruz in their frosh year who is prepared to go directly into MATH 19A/MATH 20A and CSE 30.

Plan Two is for a student entering UC Santa Cruz their frosh year who needs to take preparatory courses prior to MATH 19A or CSE 30 to ensure a successful outcome in those courses.

Plan Three is for a junior transfer student who has completed their mathematics, computational foundations, and general education requirements.

Plan One

Fall Winter Spring Summer
Entering College 1A
Summer Edge (optional)
Year 1 CSE 30 CSE 12 CSE 16
MATH 19A MATH 19B CSE 13S
Year 2 CMPM 80K FILM 80V
CMPM 120
AM 10 / MATH 21 CMPM 80J CSE 101
Year 3 CMPM 176 Game Engineering Elective 1 CMPM 130
CMPM 121 Game Engineering Elective 2 Game Engineering Elective 3
Year 4 CMPM 170 CMPM 171
Game Engineering Elective 4
Game Engineering Elective 5

* Writing II should be taken in or before spring quarter of the second year.

Plan Two

Fall Winter Spring Summer
Entering College 1A
Summer Edge (optional)
Year 1 CSE 20 CSE 30 CSE 12
MATH 3 MATH 19A MATH 19B
College Core WRIT 1 WRIT 2*
Year 2 CMPM 80K FILM 80V CMPM 120
CSE 13S MATH 21 or AM 10 CSE 101
CSE 16 CMPM 80J
Year 3 CMPM 176 Game Engineering Elective 1 Game Engineering Elective 3
CMPM 121 Game Engineering Elective 2 CMPM 130
Year 4 CMPM 170 CMPM 171
Game Engineering Elective 4 Game Engineering Elective 5

* WRIT 2 should be taken in or before spring quarter of the second year.

In addition to the specific courses shown in the four-year planner, a student must complete courses satisfying the CC, ER, SR, SI, and TA general education requirements.

Plan Three

Fall Winter Spring Summer
Entering KRSG 1T
Summer Edge (optional)
Year 1 (Jr) [OPEN]* CSE 101 CMPM 120
CMPM 80K FILM 80V CMPM 130
CMPM 80J Game Engineering Elective 1
Year 2 (Sr) CMPM 170 CMPM 171 Game Engineering Elective 4
CMPM 121 Game Engineering Elective 2 Game Engineering Elective 5
CMPM 176 Game Engineering Elective 3

* This planner assumes that, in addition to the minimum requirements for transfer students to be admitted to UC Santa Cruz, students should also have completed the equivalents of all but one course from CSE 20; AM 10 or MATH 21; ECE 13 or CSE 13S; and CSE 12, as well as all general education requirements if they wish to graduate in two years. This [OPEN] slot in the planner is for any of those courses that the student may not have completed.