Although students are free to take course requirements in any order they choose, provided they have mastered the course-specific prerequisites , it is strongly recommended that students follow these year-by-year suggestions, especially regarding the first-year major courses.

Systems Programming Concentration

First Year

Second Year

Third Year

Fourth Year

GAM 240


This workshop introduces computer programming to artists and game designers. Programming is an art, but before students can create masterpieces they first need to explore, play, and sketch with code. Students learn basic concepts and techniques of computation and apply these to craft gameplay experiences, improvisational experiments, and software toys. Students will author code from scratch and remix code to complete their weekly projects. No prior programming experience or knowledge is required. PREREQUISITE(S): None

GAM 244


This course provides students additional theory and practice with an emphasis on game design and storytelling for games. Students continue learning about game development processes and techniques and how to apply advanced game design principles to create components of a 2D game.

GD 105


This course introduces the basic concepts of design for time-based digital media. Students study the principles of composition and color theory, and how these are affected by movement, duration and display. Vector and bitmap manipulation tools are explored in relation to game design, video and Internet production. PREREQUISITE(S): None

GAM 205


This lecture course introduces students to the evolving forms, uses, and design of games. Topics covered include the relationship between game design and play, the role of games in fueling the technological imagination, the changing contexts in which game are designed and played (art, social impact, health, education), and the rise of the independent games sector. Students will produce weekly written responses to course material, lead a seminar discussion in small teams, and produce a final written or multimedia paper. PREREQUISITE(S): None

GAM 341


Level design is the art of creating believable environments, stages and missions for video games. This course explores topics including architecture, flow, pacing and puzzles. Using a 3D level editor, students will investigate technical design issues including the construction, texturing, lighting and scripting of modern game levels. The roles, duties and challenges of the level designer will also be discussed. PREREQUISITE(S): (GAM 224 or GAM 226) and GAM 245

GAM 245


This course emphasizes 3D game production. Students apply advanced 3D game design development principles to create deliverables for 3D games. Students will work with an existing game engine and content pipeline. The focus of the class will be on the creation and use of different types of content, key development issues, process management, and professional practices. PREREQUISITE(S): GAM 244

GAM 340


This workshop introduces game scripting to artists and game designers. A game script is a short list of commands that control something in a game, such as how a character moves, or an enemy's behavior. Students will learn to read, modify, and author scripts that generate and affect a variety of game elements over the course of weekly projects. PREREQUISITE(S): GAM 240 or CSC 241

ANI 231


This is an introductory course in 3D animation. It will emphasize traditional animation principles as applied to 3D animation. Topics will include: principles of animation, storyboarding, transformations and deformations of 3D objects, rigging, camera and light animation. This course has an additional fee. PREREQUISITE(S): ANI 230

GAM 230


Game development is a big business, and production teams can now exceed one hundred people. This course is an introduction to the production methods used in the game industry, and to the demanding role of the Producer on the game development team. Students will work to develop skills in team building, project presentation, organization, and dealing with people. Subjects covered include scheduling tools, collaborative software, project management, vendor relations, inter-departmental relations, and quality assurance. PREREQUISITE(S): none

GAM 365


This is a studio course in which students work in teams to design and develop slices of polished small-scale gameplay experiences. The focus is on developing team-based creative and technical processes to produce innovative, engaging, and playable games. Teams will iteratively design and develop two distinct gameplay experiences or "vertical slices." Each slice will demonstrate an understanding of the role of game mechanics, game art, audio, and technology platform in creating a cohesive and compelling gameplay. PREREQUISITE(S): GAM 341

GAM 312


The goal of game user research (GUR), which includes game usability and playtesting, is to collect unbiased game play data that willl help design/development teams make better games. There are multiple GUR methods that work best at different points in the development cycle and it is the game user researcher's job to understand how and when to effectively use them. In this course students will learn a variety of methods for evaluating games, where in the development cycle they are applied, and perform common GUR evaluations including competitive reviews, heuristic evaluations, usability tests and playtesting. PREREQUISITE(S): GAM 244

GAM 250


Acquisition and computer representation of sound. Sound standards. lossy and lossless compression. Synthesis and processing of acoustic signals. Acquisitions of physical acoustic signals. Microphone geometries. Introduction to Foley editing. Game specific topics include: game audio design patterns, interactive processing pipeline for digital audio, music sequencers for games, sound APIs.

GAM 229


This lecture course focuses on effective communication throughout the development process from writing game design documents to playtesting reports and postmortems. Special attention will be paid to the critical and analytical components of design writing and the clarity of articulation. A further emphasis is put on the preparation and delivery of engaging presentations, particularly game pitches. PREREQUISITE(S): GAM 226 and WRD 104

IT 223


(FORMERLY CSC 323) Application of statistical concepts and techniques to a variety of problems in IT areas and other disciplines, using a statistical package for simple data analysis. Course topics include descriptive statistics, elementary probability rules, sampling, distributions, confidence intervals, correlation, regression and hypothesis testing. PREREQUISITE(S): MAT 130 or placement

GAM 333


This course gives an introduction to the business aspects of the game development industry, including development, publishing, distribution and marketing. Subjects covered include game development contracts, milestone-based development, management techniques, marketing, customer and community support, personnel, budgeting, outsourcing, pipelines, and external partnerships. PREREQUISITE(S): GAM 224 or GAM 226

GAM 391


This game programming class will focus on developing software to efficiently use the fixed CPU power and resources that are found in today's console and mobile devices. This course will use real-world game examples that demonstrate performance and optimization issues that software architects face in game development. These problems include: performance enhancements through extended matrix instruction set, dynamic memory usages, performance related to increasing run-time systems to very large scale, C++ language enhancements and extensions, algorithms, streaming and profiling. PREREQUISITE(S): (CSC 301 or CSC 383 or CSC 393) and CSC 374