Upper-Division

CMPM 110 Writing for Game Technologies

Game writers create worlds, characters, and stories—and also craft computational systems so players can experience these fictions interactively. This course covers the fundamentals of authoring fictions and systems that work together toward powerful player experiences. All offerings support students with required synchronous section meetings.

Credits

5

Requirements

Prerequisite(s): CMPM 120, or by permission of the instructor.

Repeatable for credit

Yes

CMPM 115 Lead by Design: Experiential Learning Collaborative

Students work in teams to develop a template for a 10-week-long engineering design project. Teaches teamwork, leadership skills, inclusive team practices, Agile process, engineering ethics, and identity formation in engineers.

Credits

5

Requirements

Enrollment is restricted to juniors and seniors.

General Education Code

PR-E

CMPM 118 Collaborative Research Experience in Engineering

Guides small student teams through the performance of a quarter-long research project. Provides an overview of the process of performing research, research communities, and processes for finding and presenting research results.

Credits

5

Repeatable for credit

Yes

CMPM 120 Game Development Experience

Teaches the concrete programming and collaboration skills associated with making a digital game from start to finish, including but not limited to: establishing a team, concepting, storyboarding, prototyping, producing, and testing a game for release. Students are organized into groups and work together to create and produce a playable game.

Credits

5

Requirements

Prerequisite(s): CMPM 80K; and FILM 80V; and CSE 30 or CMPM 35.

General Education Code

PR-E

CMPM 121 Game Development Patterns

Advanced game programming focused on software design patterns and refactoring. Introduces classic software design patterns, as well as game programming patterns. Introduces software refactoring, including code smells and widely used refactoring patterns.

Credits

5

Requirements

Prerequisite(s): CMPM 120.

CMPM 122 Business of Games

Ten-week course to provide instruction on important business topics for videogame creators—many related to the games themselves and others for pursuing success in bringing the games to customers: publishing, distribution, marketing, funding, operations, and more.

Credits

5

CMPM 123 Advanced Programming

Course introduces students to current and emerging advanced programming methods used in building complex, high-performance, and networked interactive media systems. Students use tools like debuggers and profiles to inspect and resolve software performance bottlenecks in a compiled language.

Credits

5

Requirements

Prerequisites: CSE 101 or CMPM 35.

CMPM 125 Game Technologies

Introduction to construction of games using game engine technology, using a specific game engine as a focus. Covers major game engine features: input, collision, animation, model import, lighting, camera, rendering, textures, particle systems. Introduction to a specific game scripting language, custom game logic, game programming patterns. (Formerly offered as CMPM 121.)

Credits

5

Requirements

Prerequisite(s): CMPM 120.

CMPM 130 User Interface and User Experience Design

Students develop skills and interactive prototypes for addressing three communication challenges: first, software itself communicating with interactors; second, developers of software communicating about the design of the software's interactions and users' experiences; and third, communicating results of design processes.

Credits

5

Requirements

Prerequisite(s): satisfaction of the Entry Level Writing and Composition requirements. Enrollment is restricted to computer science: computer game design majors.

CMPM 131 User Experience for Interactive Media

Theories and practices for approaching the design problems of interactive media holistically, beyond usability and accessibility. Includes hands-on learning, application of human-centered design and evaluation skills in group projects, and peer critique. This class is asynchronous online, with secondary sections offered as in-person meetings.

Credits

5

Requirements

Enrollment is restricted to juniors, seniors, and graduate students.

CMPM 132 Interaction Design Studio

Practice-based interaction design studio course. Students learn about design-led approaches to Human-Computer Interaction through participating in group projects. Course offers introductions to design methods and actionable strategies to do interaction design work and design-led technology research.

Credits

5

Requirements

Enrollment is restricted to juniors, seniors, and graduate students.

CMPM 146 Game AI

Examines the use of artificial intelligence (AI) in games. Covers core AI technologies for search, control, and learning, and the application of AI to improve game design, development, and game play. Examines the AI content in multiple commercial games. This is an online class; most lectures are asynchronous. The weekly lab is synchronous, focused on Q&A and group discussion of work in progress.

Credits

5

Requirements

Prerequisite(s): CSE 101 or equivalent; familiarity with python a plus, though not required. Enrollment is restricted to sophomores, juniors, seniors, and graduate students.

CMPM 147 Generative Design

Introduces generative methods for design. Uses algorithmic techniques to generate and evaluate game content (images, sounds, map designs) along with mechanics and progression systems. Search-based and learning-based techniques with connections to artificial intelligence are also covered.

Credits

5

Requirements

Prerequisite(s): CMPM 120.

CMPM 148 Interactive Storytelling

Covers a range of design approaches and technologies including storytelling in games, interactive fiction, interactive drama, and artificial intelligence-based story generation. Through a mixture of readings, assignments, and project work, students explore the theoretical positions, debates, and technical and design issues arising from these approaches.

Credits

5

Requirements

Prerequisite(s): CSE 101 or CMPM 35. Enrollment is restricted to juniors and seniors.

CMPM 150 Creating Digital Audio

Introduces digital sound recording and editing technologies, sound synthesis, and concepts in sound design for media production. Covers the basics of sound capture, microphones, audio manipulation and editing, effects, sound formats, mixing and dynamics, synthesizers, audio software, and game audio.

Credits

5

Requirements

Enrollment is restricted to sophomores, juniors, and seniors.

General Education Code

PR-C

CMPM 151 Algorithmic Music for Games

Introduces compositional techniques and procedural audio as exhibited in the sound and music of video games. Surveys different styles of music implemented in video games and associated compositional approaches. Students develop skill in procedural audio via a series of workshops and assignments.

Credits

5

CMPM 152 Musical Data

Surveys the relationship between music and data as exhibited in industry and research implementations of sonification and music information retrieval. Students introduced to various styles and algorithms of sound analysis and modeling and develop skills to program unique approaches in this area.

Credits

5

Requirements

Prerequisites: CMPM 35 or CMPM 120 or CMPM 150 or CMPM 151 or by permission of instructor. Enrollment is restricted to juniors, seniors, and graduate students.

CMPM 163 Game Graphics and Real-Time Rendering

Introduces real-time, hardware-accelerated graphics programming suitable for game development, visual effects, and interactive multimedia projects. Emphasizes contemporary shader-programming techniques and developing custom effects using game engines and multimedia software.

Credits

5

Requirements

Prerequisite(s): CMPM 120 (exceptions granted in special cases with permission of the instructor).

CMPM 164 Game Engines

Covers the graphic elements in computer games. Topics include modifying, optimizing, adding components, and building a game engine. Course evaluation based on exams and several programming projects, including a game built using the student's game engine.

Credits

5

Requirements

Prerequisite(s): CMPM 163 or CSE 160. Concurrent enrollment in CMPM 164L is required.

CMPM 164L Game Engines Lab

Provides hands-on experience in using, designing, and building game engines. Students also explore different special effects, such as particle systems, spring systems, and game physics.

Credits

2

Requirements

Prerequisite(s): CMPM 163 or CSE 160. Concurrent enrollment in CMPM 164 is required.

CMPM 169 Creative Coding

Surveys seminal and contemporary artworks and interactive installations that utilize and critically analyze new media, new technologies, and new algorithms. Students introduced to creative coding practices and encouraged to emulate existing digital arts techniques and to develop their own computational arts projects.

Credits

5

Requirements

Prerequisites: CMPM 35 or CMPM 120 or CMPM 163 or by permission of instructor. Enrollment is restricted to juniors, seniors, and graduate students.

CMPM 170 Rapid Prototyping

Working in multiple small teams, students practice multiple cycles of the interactive media design process. Cycles involve ideation, research, prototyping, release, and reflection. Students will understand how to follow the design process as a way to build knowledge, understanding, and empathy for a system’s users rather than just as a means to produce those systems. The course draws on design philosophies from inside and outside of the computer games industry. (Formerly Game Design Studio I.)

Credits

5

Requirements

Prerequisite(s): CMPM 120 and CMPM 121 (Game Development Patterns if taken Fall 2023 or later). Enrollment is restricted to senior computer science: computer game design majors or by permission of the instructor.

CMPM 171 Game Design Studio

Students work in teams to create a fully-functional subset ("vertical slice") of an interactive, playable software system. Focus is on experience design, systems design, integrating assets (visual, auditory, and written), testing, and project management. May be repeated for credit. (Formerly offered as Game Design Studio II.)

Credits

7

Requirements

Prerequisites: CMPM 121 and CMPM 130 and CMPM 170 and CMPM 176.

Repeatable for credit

Yes

CMPM 172 Game Production Studio

Students work in teams to produce fully functional games based on previously developed game subsets. Focus on production including scaling, long-term player experience, teaching mechanics through interaction, developing multi-stage narratives/scenarios, and varying gameplay as players develop new understandings and abilities. Prerequisite(s): CMPM 171, or by instructor permission. Enrollment is by permission of the instructor. Formerly offered as Game Design Studio III.

Credits

7

CMPM 176 Game Systems

Presents game design as the interplay of multiple interacting game systems. Surveys various game systems: movement, combat, reward, economic, logistics, quest, information visibility, narrative. Students explore systems via study, design, and play of board, card, and computer games.

Credits

5

Requirements

Prerequisite(s): CMPM 80K.

CMPM 177 Creative Strategies for Designing Interactive Media

Surveys tactical, structural, contextual, and other methods to enhance creativity and innovation in the design of games and other interactive media. Investigates strategies for creativity and innovation drawn from diverse fields, including interactive affordances, narrative and poetics, biology, contextual inquiry, and design research. To innovate in a field of fixed genres is challenging: the allure of modeling exemplars is strong. Although imitation can be successful in the marketplace, the most creative action occurs on the leading edge of change. Innovation benefits from strategies and methods that are directly aimed at exploring new perspectives and structures to learn through the process of discovery.

Credits

5

Requirements

Enrollment is restricted to juniors and seniors.

CMPM 178 Human-Centered Design Research

Students move through a rigorous design-research process involving skills and principles in human-centered design research as well as selected formal research methods. They learn to use tools for ideation, human-centered qualitative research, domestic probes, mock-ups, and prototypes.

Credits

5

Requirements

Enrollment is restricted to juniors, seniors, and graduate students.

General Education Code

PR-C

CMPM 179 Game Design Practicum

Provides the opportunity to practice the creation of novel computer games. Students learn a new game-making technology, then create three games using this technology.

Credits

5

Cross Listed Courses

ARTG 179

Requirements

Prerequisite(s): CMPM 120 and CMPM 80K.

Repeatable for credit

Yes

General Education Code

PR-C

CMPM 180 Topics in Computational Media

Allows students to explore topics in the computational media field and practice design in a wide variety of applications and areas, including but not limited to interactive computational experiences, AI and poetry, smart cities and game design, ethics and computational media, and computational media culture. Course presentation and assessment will vary by topic and instructor.

Credits

5

Repeatable for credit

Yes

CMPM 194 Group Tutorial

Provides a means for a small group of students to study a particular topic in consultation with a faculty sponsor. Students submit a petition to the sponsoring agency.

Credits

5

Repeatable for credit

Yes

CMPM 194F Group Tutorial

Provides a means for a small group of students to study a particular topic in consultation with a faculty sponsor. Students submit a petition to the sponsoring agency.

Credits

2

Repeatable for credit

Yes

CMPM 195 Senior Thesis Research

Students submit a petition to the sponsoring agency.

Credits

5

CMPM 195F Senior Thesis Research

Intended for majors. Students submit a petition to the sponsoring agency.

Credits

2

CMPM 198 Individual Study or Research

Students submit petition to sponsoring agency.

Credits

5

Repeatable for credit

Yes

CMPM 198F Individual Study or Research

Intended for majors. Students submit petition to sponsoring agency.

Credits

2

Repeatable for credit

Yes

CMPM 199 Tutorial

For fourth-year students majoring in computational media. Students submit a petition to the sponsoring agency.

Credits

5

Repeatable for credit

Yes

CMPM 199F Tutorial

For fourth-year students majoring in computational media. Students submit a petition to the sponsoring agency.

Credits

2

Repeatable for credit

Yes