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 (usually taken at the end of the sophomore year) 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:
- Demonstrate mastery of computer science in the following core knowledge areas: algorithms, data structures, complexity, and software engineering and development.
- 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.
- Apply problem-solving skills and the knowledge of computer science to solve real problems.
- Recognize and take into account the social, legal, ethical, and cultural issues in the discipline of computer games.
- Demonstrate written and oral communication skills regarding technical material about computer science and computer games, broadly conceived.
- Design and build a technical system that achieves an artistic goal for audience experience, employing sound computer science techniques.
- 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 are required to take:
CSE16 | Applied Discrete Mathematics | 5 |
And one of the following calculus courses:
And a core programming sequence to include one of the following group of classes:
Either these courses | | |
CSE12 | Computer Systems and Assembly Language | 5 |
CSE12L | Computer Systems and Assembly Language Laboratory | 2 |
CSE30 | Programming Abstractions: Python | 7 |
CSE13E | Embedded Systems and C Programming | 7 |
or these courses | | |
CSE12 | Computer Systems and Assembly Language | 5 |
CSE12L | Computer Systems and Assembly Language Laboratory | 2 |
CSE30 | Programming Abstractions: Python | 7 |
CSE13S | Computer Systems and C Programming | 7 |
A GPA of 2.80 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.
At most one unsuccessful attempt (grade C-, D+, D, D-, F, or NP) for a foundation course is permitted.
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
To be considered for admission to the computer science: game design major, incoming transfer students should complete CSE 16, MATH 19A and MATH 19B, and CSE 30, as well as one of the following courses:
CSE 13E
CSE 13S
CSE 12 & CSE 12L
A GPA of 2.8 must be obtained in these courses.
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.
Transfer students should have completed as many general education requirements as possible. 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.
Transfer 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.
To the extent possible, it is recommended that transfer students take the equivalents of additional major required courses beyond the core programming, computer systems, and mathematics courses. If students have access to courses that develop a foundation in building and understanding games and other forms of interactive media, these are valuable to take—and in some cases may be substituted for CMPM 80K: Foundations of Video Game Design once they enter the program. Transfer students who are planning a course substitution for CMPM 80K should refer to the School of Engineering portion of the catalog (subheading Course Substitutions).
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, courses taken at other institutions which 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 the School of Engineering section of the catalog (subheading: Admission to School of Engineering Majors) 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 curriculum has 24-26 courses (depending on core programming sequence taken). Fourteen 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:
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:
MATH21 | Linear Algebra | 5 |
AM10 | Mathematical Methods for Engineers I | 5 |
Plus the following course:
CSE16 | Applied Discrete Mathematics | 5 |
Computational Foundations
Choose one of the following options:
CSE 12 & CSE 12L are prerequisites for these courses.
Plus all of the following courses:
CSE20 | Beginning Programming in Python | 5 |
CSE12 | Computer Systems and Assembly Language | 5 |
CSE12L | Computer Systems and Assembly Language Laboratory | 2 |
CSE30 | Programming Abstractions: Python | 7 |
CSE101 | Introduction to Data Structures and Algorithms | 5 |
CSE111 | Advanced 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:
ARTG80G | Visual Communication and Interaction Design | 5 |
ARTG80H | Critical History of Digital Games | 5 |
FILM80V | Video Games as Visual Culture | 5 |
Game Design and Development
Complete all of the following courses.
Computer Game Engineering
Complete five courses from the following list. The majority of these computer game engineering electives 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 150, CMPM 177, CSE 103, CSE 104 or ECON 166A. These five 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
CMPM121 | Game Technologies | 5 |
CMPM131 | User Experience for Interactive Media | 5 |
CMPM146 | Game AI | 5 |
CMPM147 | Generative Design | 5 |
CMPM148 | Interactive Storytelling | 5 |
CMPM150 | Creating Digital Audio | 5 |
CMPM151 | Algorithmic Music for Games | 5 |
CMPM163 | Game Graphics and Real-Time Rendering | 5 |
CMPM164 | Game Engines | 5 |
CMPM177 | Creative Strategies for Designing Interactive Media | 5 |
CMPM178 | Human-Centered Design Research | 5 |
CMPM179
/ARTG 179
| Game Design Practicum | 5 |
CSE102 | Introduction to Analysis of Algorithms | 5 |
CSE103 | Computational Models | 5 |
CSE104 | Computability and Computational Complexity | 5 |
CSE110A | Fundamentals of Compiler Design I | 5 |
CSE110B | Fundamentals of Compiler Design II | 5 |
CSE112 | Comparative Programming Languages | 5 |
CSE113 | Parallel and Concurrent Programming | 5 |
CSE115A | Introduction to Software Engineering | 5 |
CSE115B | Software Design Project | 5 |
CSE115C | Software Design Project II | 5 |
CSE118 | Mobile Applications | 5 |
CSE119 | Software for Society | 5 |
CSE120 | Computer Architecture | 5 |
CSE131 | Introduction to Operating Systems | 5 |
CSE132 | Computer Security | 5 |
CSE138 | Distributed Systems | 5 |
CSE139 | Data Storage Systems | 5 |
CSE140 | Artificial Intelligence | 5 |
CSE142 | Machine Learning | 5 |
CSE143 | Introduction to Natural Language Processing | 5 |
CSE150 | Introduction to Computer Networks | 5 |
CSE160 | Introduction to Computer Graphics | 5 |
CSE161 | Introduction to Data Visualization | 5 |
CSE162 | Advanced Computer Graphics and Animation | 5 |
CSE163 | Data Programming for Visualization | 5 |
CSE180 | Database Systems I | 5 |
CSE181 | Database Systems II | 5 |
CSE183 | Web Applications | 5 |
CSE184 | Data Wrangling and Web Scraping | 5 |
ECE118 | Introduction to Mechatronics | 5 |
ECON166A
/CSE 166A
| Game Theory and Applications I | 5 |
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:
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.