;

Computer Science: Computer Game Design B.S.

Information and Policies

Introduction

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, 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 Design (Procedural Content Generation), Mobile Applications, Interactive Storytelling, and Algorithmic Music. A two-course interdisciplinary Game Development Experience and a yearlong interdisciplinary capstone Game Design Studio class allow students to develop substantial 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, ethical, and cultural issues in the discipline of computer games.
  5. Demonstrate written and oral 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. It can be contacted by 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 Plant 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.

Transfer students entering UC Santa Cruz in Fall 2021 or earlier may use MATH 19A and MATH 19B; and CSE 14, CSE 15, and CSE 16 as their qualification courses. A GPA of 2.8 must be obtained in these courses.

If transfer students are admitted for the winter quarter of their junior year, they must have completed ARTG 80G before coming to UC Santa Cruz.

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 may declare the major at any time after coming to UC Santa Cruz by following the steps in "How to Declare a Major."

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.

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:

Students with no prior programming 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.

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

Students are required to take
CSE 16Applied Discrete Mathematics

5

And one of the following calculus courses
Either these courses

MATH 19ACalculus for Science, Engineering, and Mathematics

5

or these courses

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

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 prior performance is not an accurate reflection of the student's 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 the 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 this course.

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

CSE 111Advanced Programming

5

Students with no prior programming 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:

ARTG 80GVisual Communication and Interaction Design

5

FILM 80VVideo Games as Visual Culture

5

Game Design and Development

Complete all of the following courses:

CMPM 80KFoundations of Video Game Design

5

ARTG 120Game Design Experience

5

CMPM 120Game Development Experience

5

CMPM 170Game Design Studio I

5

CMPM 171Game Design Studio II

7

CMPM 172Game Design Studio III

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 which focus on the development and analysis of computational systems (the “programming” part of game creation). No more than two of the five can be from 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.)

NOTE: Lecture/lab combinations count as one course

CMPM 121Game 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 177Creative Strategies for Designing Interactive Media

5

CMPM 178Human-Centered Design Research

5

CMPM 179
/ARTG 179
Game Design Practicum

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 113Parallel and Concurrent Programming

5

CSE 112Comparative Programming Languages

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 132Computer Security

5

CSE 138Distributed Systems

5

CSE 140Artificial Intelligence

5

CSE 142Machine 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 184Data Wrangling and Web Scraping

5

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

5

ECE 118Introduction to Mechatronics

10

CMPM 179 may be repeated for credit, but only the first offering counts toward the computer game engineering requirement.

Disciplinary Communication (DC) Requirement

Students must satisfy the major's upper-division disciplinary communication (DC) requirement by completing the first course in the game design studio sequence:

CMPM 170Game Design Studio I

5

Comprehensive Requirement

Students satisfy the senior comprehensive requirement by receiving a passing grade in all three courses of the game design studio sequence: CMPM 170, CMPM 171, and CMPM 172.

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
Year 1 CSE 20 College Writing Requirement CSE 12
MATH 19A MATH 19B or MATH 20B CSE 16
College Core CSE 30 CSE 80K
Year 2 ARTG 80G   ARTG 120
MATH 21 or AM 10 FILM 80V CSE 120
ECE 13 or CSE 13S CSE 101 CSE 111
Year 3 CMPM 176 Game Engineering Elective Game Engineering Elective
Game Engineering Elective Game Engineering Elective
Game Engineering Elective
     
     
     
Year 4 CMPM 170 CMPM 171 CMPM 172
     
     

Plan Two

  Fall Winter Spring
Year 1 CSE 20 College Writing Requirement CSE 12
MATH 3 CSE 30 MATH 19B
College Core MATH 19A CMPM 80K
Year 2 ARTG 80G FILM 80V CMPM 120
ECE 13 or CSE 13S MATH 21 or AM 10 ARTG 120
CSE 16 CSE 101 CSE 111
Year 3 Game Engineering Elective
Game Engineering Elective Game Engineering Elective
CMPM 176 Game Engineering Elective Game Engineering Elective
     
     
Year 4 CMPM 170 CMPM 171 CMPM 172
     
     

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
Year 1 (Jr) [OPEN]* CMPM 80K CSE 111
ARTG 80G FILM 80V CMPM 120
  CSE 101 ARTG 120
Year 2 (Sr) CMPM 170 CMPM 171 CMPM 172
CMPM 176 Game Engineering 2 Game Engineering 4
Game Engineering 1 Game Engineering 3 Game Engineering 5

* 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 20AM 10 or MATH 21ECE 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.