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 (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:

  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 are required to take:
CSE16Applied Discrete Mathematics

5

And one of the following calculus courses:
Either these courses

MATH19ACalculus for Science, Engineering, and Mathematics

5

or these courses

MATH20AHonors Calculus

5

And a core programming sequence to include one of the following group of classes:
Either these courses

CSE12Computer Systems and Assembly Language

5

CSE12LComputer Systems and Assembly Language Laboratory

2

CSE30Programming Abstractions: Python

7

CSE13EEmbedded Systems and C Programming

7

or these courses

CSE12Computer Systems and Assembly Language

5

CSE12LComputer Systems and Assembly Language Laboratory

2

CSE30Programming Abstractions: Python

7

CSE13SComputer 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:
Either these courses

MATH19ACalculus for Science, Engineering, and Mathematics

5

MATH19BCalculus for Science, Engineering, and Mathematics

5

or these courses

MATH20AHonors Calculus

5

MATH20BHonors 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:
MATH21Linear Algebra

5

AM10Mathematical Methods for Engineers I

5

Plus the following course:
CSE16Applied Discrete Mathematics

5

Computational Foundations

Choose one of the following options:
Either this course

CSE13EEmbedded Systems and C Programming

7

or this course

CSE13SComputer Systems and C Programming

7

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

Plus all of the following courses:
CSE20Beginning Programming in Python

5

CSE12Computer Systems and Assembly Language

5

CSE12LComputer Systems and Assembly Language Laboratory

2

CSE30Programming Abstractions: Python

7

CSE101Algorithms and Abstract Data Types

5

CSE111Advanced 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:

ARTG80GVisual Communication and Interaction Design

5

ARTG80HCritical History of Digital Games

5

FILM80VVideo Games as Visual Culture

5

Game Design and Development

Complete all of the following courses.

CMPM80KFoundations of Video Game Design

5

ARTG120Game Design Experience

5

CMPM120Game Development Experience

5

CMPM170Game Design Studio I

5

CMPM171Game Design Studio II

7

CMPM172Game Design Studio III

7

CMPM176Game Systems

5

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

CMPM121Game Technologies

5

CMPM131User Experience for Interactive Media

5

CMPM146Game AI

5

CMPM147Generative Design

5

CMPM148Interactive Storytelling

5

CMPM150Creating Digital Audio

5

CMPM151Algorithmic Music for Games

5

CMPM163Game Graphics and Real-Time Rendering

5

CMPM164Game Engines

5

CMPM177Creative Strategies for Designing Interactive Media

5

CMPM178Human-Centered Design Research

5

CMPM179
/ARTG 179
Game Design Practicum

5

CSE102Introduction to Analysis of Algorithms

5

CSE103Computational Models

5

CSE104Computability and Computational Complexity

5

CSE110AFundamentals of Compiler Design I

5

CSE110BFundamentals of Compiler Design II

5

CSE112Comparative Programming Languages

5

CSE113Parallel and Concurrent Programming

5

CSE115AIntroduction to Software Engineering

5

CSE115BSoftware Design Project

5

CSE115CSoftware Design Project II

5

CSE118Mobile Applications

5

CSE119Software for Society

5

CSE120Computer Architecture

5

CSE131Introduction to Operating Systems

5

CSE132Computer Security

5

CSE138Distributed Systems: File Sharing, Online Gaming, and More

5

CSE139Data Storage Systems

5

CSE140Artificial Intelligence

5

CSE142Machine Learning

5

CSE143Introduction to Natural Language Processing

5

CSE150Introduction to Computer Networks

5

CSE160Introduction to Computer Graphics

5

CSE161Introductionto Data Visualization

5

CSE162Advanced Computer Graphics and Animation

5

CSE163Data Programming for Visualization

5

CSE180Database Systems I

5

CSE181Database Systems II

5

CSE183Web Applications

5

CSE184Data Wrangling and Web Scraping

5

ECE118Introduction 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:

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