The CS and Game Design program is focused on the specific skills and intellectual capabilities needed in the highly competitive game industry. As computer scientists, students will be engaged in building and developing games and playable media experiences. This requires courses in computer science with some specialized game technology and design courses. Thus, the degree includes a strong computer science foundation with program design, algorithms, theory, systems, and networks. In addition, game technology courses, such as game programming, building game engines and game AI are introduced so students can learn how to develop game-specific algorithms and systems. As part of this degree, students also engage in developing games with other students from different disciplines such as art and design, thus providing a rich environment for interdisciplinary dialogue and creative content development. These cross disciplinary courses are targeted at development of portfolio game pieces that allows students to be competitive in the game market as well as give them an opportunity to develop their creative and entrepreneurial abilities.
BS in Computer Science and Game Design Class of 2017 and on Degree (Specimen). Prospective students should contact the College of Computer and Information Science, current students seeking advise should contact CCIS advisors.
Computer Science learning outcomes
- Create formal data definitions given an English-language description of a problem, and apply these data definitions to create and verify specific data examples.
- Apply a series of systematic design recipes to a variety of programming problems, including documentation, template, coding, and testing steps.
- Utilize a class-based (object-oriented) language to solve a variety of computing problems.
- Verbally articulate the benefits and drawbacks of solving different problems using programming paradigms.
- Write mid-sized programs using concepts (e.g., objects, classes, messages, methods, interfaces, encapsulation, polymorphism, and inheritance) of object-oriented programming.
- Create and maintain applications using the Java programming language.
- Create a software system by coordinating in small-scale teams, involving division of functionality, creation of interfaces, and integration and testing of software modules.
- Develop programs using a systematic design process involving specification, design, documentation, implementation, testing, and maintenance.
Game Development learning outcomes
- Concept/Expression Outcome: Conceptualize and create expressive and innovative games, playable experiences, and artifacts, developing a personal style via reflective design.
- Craft Outcome: Hone craft and technical skills in a broad range of mediums, and justify the appropriate usage of techniques in the service of creating artifacts.
- Research Outcome: Gather, organize, and articulate relevant research to inform design and analysis.
- Process Outcome: Follow an iterative design process informed by user testing, external and self-critique for producing creative works.
- Values/Context Outcome: Analyze the social, political, and cultural theories embedded in games, playable experiences, and artifacts, and articulate ethical reasoning during design and production.
- Collaboration Outcome: Plan and manage the organization of people, timelines, tasks, repositories, and finances for multi-person creative projects, and constructively critique others’ work.