Computer Science: Computer Game Design students must 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 CSE 166A/ECON 166A. (These seven courses focus on other skills useful in computer game development, such as design, production, and mathematical analysis.)

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

NOTES

➢  Lecture/lab combinations count as one course

➢  Please refer to https://courses.soe.ucsc.edu/ for up to date quarters for course offerings. Some classes may not be offered.

➢  Please refer to https://catalog.ucsc.edu/en/Current/General-Catalog/Courses for course prerequisites as many classes have additional prerequisites

Computer Game Engineering Electives

Computational Media

●  CMPM 121 Game Technologies

●  CMPM 131 User Experience for Interactive Media

●  CMPM 132 Interaction Design Studio

●  CMPM 146 Game AI

●  CMPM 147 Generative Design

●  CMPM 148 Interactive Storytelling

●  CMPM 150 Creating Digital Audio

●  CMPM 151 Algorithmic Music for Games

●  CMPM 152 Musical Data

●  CMPM 163 Game Graphics and Real-Time Rendering

●  CMPM 164/L Game Engines

●  CMPM 169 Creative Coding

●  CMPM 177 Creative Strategies for Designing Interactive Media

●  CMPM 178 Human-Centered Design Research

●  CMPM 179/ARTG 179 Game Design Practicum

Computer Science & Engineering

●  CSE 102 Introduction to Analysis of Algorithms

●  CSE 103 Computational Models

●  CSE 104 Computability and Computational Complexity

●  CSE 110A Fundamentals of Compiler Design I

●  CSE 110B Fundamentals of Compiler Design II

●  CSE 112 Comparative Programming Languages

●  CSE 113 Parallel and Concurrent Programming

●  CSE 115A Introduction to Software Engineering

●  CSE 115B Software Design Project

●  CSE 115C Software Design Project II

●  CSE 118 Mobile Applications

●  CSE 119 Software for Society

●  CSE 120 Computer Architecture

●  CSE 130 Principles of Computer Systems Design

●  CSE 131 Introduction to Operating Systems

●  CSE 132 Computer Security

●  CSE 138 Distributed Systems

●  CSE 139 Data Storage Systems

●  CSE 140 Artificial Intelligence

●  CSE 142 Machine Learning

●  CSE 143 Introduction to Natural Language Processing

●  CSE 144 Applied Machine Learning

●  CSE 150/L Introduction to Computer Networks

●  CSE 160/L Introduction to Computer Graphics

●  CSE 161/L Introduction to Data Visualization

●  CSE 162/L Advanced Computer Graphics and Animation

●  CSE 163 Data Programming for Visualization

●  CSE 166A/Econ 166A Game Theory and Applications I

●  CSE 180 Database Systems I

●  CSE 181 Database Systems II

●  CSE 183 Web Applications

●  CSE 184 Data Wrangling and Web Scraping

Electrical and Computer Engineering

● ECE 118 Introduction to Mechatronics