;

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, Mobile Applications, and Interactive Storytelling. 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.

Academic Advising for the Program

The Baskin School of Engineering (BSOE) Undergraduate Advising Office is located in the Baskin Engineering Building, Room 225. It can be contacted by email at advising@soe.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

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.

Program Learning Outcomes

Recipients of a B.S. degree in Computer Game Design at UC 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.

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 refer to https://undergrad.soe.ucsc.edu/prepare-declare-bsoe-major.

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 & CSE 12L. 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 & CSE 12L.

Students have to complete all the foundation courses when they declare their 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

5

CSE 12LComputer Systems and Assembly Language Laboratory

2

CSE 30Programming Abstractions: Python

7

CSE 13EEmbedded Systems and C Programming

7

or these courses

CSE 12Computer Systems and Assembly Language

5

CSE 12LComputer Systems and Assembly Language Laboratory

2

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 UCSC.

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

There are five steps to declaring a BSOE major. For a detailed guide to this process, please consult Baskin Engineering's Declare Your Major 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
CSE 13EEmbedded Systems and C Programming

7

CSE 13SComputer Systems and C Programming

7

CSE 12Computer Systems and Assembly Language

5

CSE 12LComputer Systems and Assembly Language Laboratory

2

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 UCSC 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 and ARTG 80H before coming to UCSC.

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

5

CSE 12LComputer Systems and Assembly Language Laboratory

2

One of these courses

AM 10Mathematical Methods for Engineers I

5

MATH 21Linear Algebra

5

One of these courses

CSE 13EEmbedded 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 UCSC 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 at UCSC as a Transfer Student

Transfer students may declare the major at any time after coming to UCSC 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 UCSC. For specifics on the BSOE's transfer student policies, please see Baskin Engineering's Transfer Students 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.

School of Engineering Policies

Please refer to Admission to School of 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

CSE 13EEmbedded Systems and C Programming

7

or this course

CSE 13SComputer Systems and C Programming

7

CSE 12 & CSE 12L are prerequisites for these courses.

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

5

CSE 12Computer Systems and Assembly Language

5

CSE 12LComputer Systems and Assembly Language Laboratory

2

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 & CSE 12L. Students with a prior programming course, AP credit, or clearing the “Test-out” bar will start with CSE 30 and CSE 12 & CSE 12L.

Games and Playable Media Foundations

Complete all of the following courses:

ARTG 80GVisual Communication and Interaction Design

5

ARTG 80HCritical History of Digital Games

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 131Introduction to Operating Systems

5

CSE 132Computer Security

5

CSE 138Distributed Systems

5

CSE 139Data Storage Systems

5

CSE 140Artificial Intelligence

5

CSE 142Machine Learning

5

CSE 143Introduction to Natural Language Processing

5

CSE 150Introduction to Computer Networks

5

CSE 160Introduction to Computer Graphics

5

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 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 UCSC 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 UCSC 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 ARTG 80H CMPM 80K CSE 12 & CSE 12L
MATH 19A MATH 19B or MATH 20B  
  CSE 30  
Year 2 ARTG 80G FILM 80V CMPM 120
MATH 21 or AM 10   ARTG 120
CSE 13E or CSE 13S CSE 16 CSE 101
Year 3 CSE 111 Game Engineering 1 Game Engineering 3
CMPM 176 Game Engineering 2 Game Engineering 4
     
Year 4 CMPM 170 CMPM 171 CMPM 172
Game Engineering 5    
     

Plan Two

  Fall Winter Spring
Year 1 CSE 20 CMPM 80K CSE 12 & CSE 12L
MATH 3 CSE 30 MATH 19B
  MATH 19A  
Year 2 ARTG 80G FILM 80V CMPM 120
CSE 13E or CSE 13S MATH 21 or AM 10 ARTG 120
ARTG 80H CSE 16 CSE 101
Year 3 CSE 111 Game Engineering 1 Game Engineering 3
CMPM 176 Game Engineering 2 Game Engineering 4
     
Year 4 CMPM 170 CMPM 171 CMPM 172
Game Engineering 5    
     

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) ARTG 80H CMPM 80K CSE 111
ARTG 80G FILM 80V CMPM 120
[OPEN]* 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 UCSC, students should also have completed the equivalents of all but one course from CSE 20, AM 10 or MATH 21, CSE 13E or CSE 13S, and CSE 12 & CSE 12L, as well as all general education requirements if they wish to graduate in two years. This slot in the planner is for any of those courses that the student may not have completed.