Computer Science: Computer Game Engineering Electives
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).
NOTES
- *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.)
- Lecture/lab combinations count as one course
- Please refer to https://courses.engineering.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
- CMPM 179/ARTG 179 and CMPM 180 may be repeated for credit, but may only count once each toward the elective requirement.
- Even though most of the Computational Media (CMPM) upper-division courses are permitted to count towards the 5 Game Engineering Electives (CGE), these CMPM courses below are NOT permitted to count towards the CGE elective list:
- CMPM 115
- CMPM 118
Computational Media
- CMPM 110* Writing for Game Technologies
- CMPM 122* Business of Games
- CMPM 123 Advanced Programming
- CMPM 125 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 and Laboratory
- 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 132 Computer Security
- CSE 138 Distributed Systems
- CSE 140 Artificial Intelligence
- CSE 142 Machine Learning
- CSE 143 Introduction to Natural Language Processing
- CSE 144 Applied Machine Learning: Deep Learning
- CSE 150 Introduction to Computer Networks
- CSE 160 Introduction to Computer Graphics
- CSE 161 Introduction to Data Visualization
- CSE 162 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
- CSE 186 Full Stack Web Development I
Electrical and Computer Engineering
- ECE 118 Introduction to Mechatronics