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.

Gameplay 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

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

CSC 373


A course on computer systems topics, focusing on machine-level programming and architecture and their relevance for application programming. Information representations, assembly language and debuggers, processor architecture, program optimization, memory hierarchy and caching. PREREQUISITE: ((CSC 383 or CSC 393 or CSC 301) and Math 140) or (CSC 224 or CSC 261 or CSC 309 ) and graduate standing.)

CSC 374


A course on computer systems topics, focusing on operating systems components and their relevance for application programming. Linking, processes, virtual memory, dynamic memory allocation, system level I/O, networking and network programming, concurrent servers and web services. PREREQUISITE: CSC373

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