Computer Science and Game Design, BS

Programme Overview
The BS in Computer Science and Game Design combines game design theory and practice, with coursework in computer science, mathematics and physics.  In this program, students learn to leverage the technical tools and processes used by professional designers, including scripting languages, level and map editors, databases, while designing, prototyping, and iterating their projects in a collaborative, deadline-driven environment. The result is a proficient computer scientist and designer who has mastered the intersection of technology and design.

Curriculum
Students in the BS in Computer Science and Game Design programme concentrate on the following subjects:

  • Game design and development, including game design theory and history, design documentation, 2D and 3D level design, game mechanics, playtesting, and team game project implementation.
  • Computer science, mathematics, and physics, including programming in C and C++, scripting languages, data structures, artificial intelligence, algorithm analysis, linear algebra, calculus, and Newtonian dynamics.
  • The humanities and arts, including the fundamentals of writing, psychology, communication, architecture, drawing, and 2D and 3D art.

Career Opportunities

  • Graduates of this programme are prepared to enter the video game industry as
  • Software Developer
  • Gameplay Programmer
  • System Designer
  • Game Designer

Learn more about DigiPen's Bachelor of Science in Computer Science and Game Design.

Eligibility and Exemption

Graduates from the following list of Polytechnic Diploma programmes are eligible for credit exemptions in the DigiPen's BS in Computer Science and Game Design degree programme:

Nanyang Polytechnic

  • Diploma in Digital Entertainment Technology

  • Diploma in Digital Entertainment Technology (Games)

  • Diploma in Mechatronics Engineering

  • Diploma in Electronics, Computer & Communications Engineering

  • Diploma in Information Technology

  • Diploma in Engineering Informatics

  • Diploma in Business Informatics

  • Diploma in Multimedia & Infocomm Technology

  • Diploma in Business Enterprise IT

Ngee Ann Polytechnic

  • Diploma Digital Visual Effects

  • Diploma Engineering Informatics

  • Diploma Financial Informatics

  • Diploma Mechanical Engineering

  • Diploma Multimedia & Animation

  • Diploma Multimedia Computing

  • Diploma Network Systems & Security

  • Diploma Biomedical Engineering

  • Diploma in Electrical Engineering

  • Diploma in Electronic & Computer Engineering

  • Diploma in Enterprise IT Systems

  • Diploma in Information Technology (Technology option)

  • Diploma in Information Technology (Computer Studies option)

  • Diploma in Mobile Business Solutions

Republic Polytechnic

  • Diploma in Digital Entertainment Electronics

  • Diploma in Information Technology

  • Diploma in Interactive and Digital Media (Game Development option)

  • Diploma in Game Design

Singapore Polytechnic

  • Diploma in Aerospace Electronics

  • Diploma in Biotechnology

  • Diploma in Computer and Network Technology

  • Diploma in Digital Media

  • Diploma in Digital Media and Infocomm Technology

  • Diploma in Information Technology

  • Diploma in Electronics and Communication Engineering

  • Diploma in Electronics, computers and Communication Engineering

  • Diploma in Game Design and Development

  • Diploma in Infocomm Security Management

  • Diploma in Information Communication Technology

  • Diploma in Computer Engineering

  • Diploma in Multimedia and Technology

  • Diploma in Marine Engineering

  • Diploma in Mechtronics

  • Diploma in Electrical and Electronics Engineering

  • Diploma in Electrical and Electronics Engineering (Electronic and Biomedical)

  • Diploma in Info-Communication Engieering & Design

Temasek Polytechnic

  • Diploma in Computer Engineering

  • Diploma in Electronics

  • Diploma in Info-communication

  • Diploma in Interactive Media Technology

  • Diploma in Mechatronics

  • Diploma in Media & Communication Technology

  • Diploma in Cyber & Digital Security

  • Diploma in Game & Entertainment Technology

  • Diploma in Information Technology

  • Diploma in Interactive Media Informatics

  • Diploma in Interactive Media Design

  • Diploma in Moving Images

  • Diploma in Mobile & Wireless Computing

  • Diploma in Internet Computing

  • Diploma Intelligent Building Technology

  • Diploma Internet & Multimedia Development

  • Diploma Communications & Media Management

  • Diploma Business Process & Systems Engineering

  • Diploma Business Information Technology

  • Diploma 3D Interactive Media Technology

  • Diploma in Digital Forensics

 

Applicants who are not graduates from a Polytechnic in Singapore, but have completed a formal 12th year education equivalent to A-Levels, are eligible to apply for the following degree programme at SIT:

Overseas University Partner

Degree Programmes

Subject Requirement(s)

DigiPen Institute of Technology

Bachelor of Science in Computer Science and Game Design

  1. A/H2 Mathematics
  2. HL Mathematics
  3. Also see programme-specific requirements for all DigiPen programmes

Note:

Credit transfers and duration of studies will be reviewed on a case-by-case basis. 

Students who have relevant post-secondary qualifications may complete DigiPen’s degree programmes within seven semesters. To be eligible for the abridged programme, students must successfully satisfy the following criteria:

  1. The course(s) being evaluated must be taken at a bona fide, legitimate institution recognised and approved by a regulatory authority that oversees the educational system in the country where the institution is. These courses must appear on official transcripts from the institution.  The final decision regarding the transfer credits remains at DigiPen’s discretion.

  2. The course(s) must be comparable in academic quality to DigiPen courses including the number of credits or contact hours. Application will be denied for courses not meeting this standard.

  3. Transfer credit will be considered for courses in which the grade of “B -” or better is recorded. “Credit” or “Pass” grades will not be accepted for transfer credit.

  4. Course(s) transferred to a student’s major may also require a validation examination in order to be accepted.

Actual number of credits may vary from one student to another depending on the individual course work completed. Any course(s) not transferred must be completed within the duration of the programme. 

Study Trip

All students have to complete a 12-week immersion programme at the home campus of DigiPen Institute of Technology in Redmond.  Students will take classes in Redmond’s summer semester and work with faculty and students from different programmes. The estimated cost for the programme ranges from S$8,000 - S$9,000 (based on prevailing currency exchange rates and flight ticket prices).

MODULE SYNOPSIS

Semester 1
CS100 Computer Environment

This course provides students with a detailed examination of the fundamental elements on which computers are based. Topics covered include number systems, representation of numbers in computation, basic electricity, electric circuits, digital systems, logic circuits, data representations, digital memory, computer architecture, and operating systems. Operational code and assembly languages are discussed, examined, and used in either a microprocessor or micro-controller environment, such as a personal computer or an autonomous car.

CS120 High-Level Programming I – The C Programming Language

In presenting the C programming language, this course serves as a foundation for all high-level programming courses and projects. It provides the fundamentals of programming, including control flows, such as statement grouping, decision-making, case selection, procedure iteration, and termination test and basic data types, such as arrays, structures, and pointers. Additionally, it intensively discusses the lexical convention, syntax notation, and semantics.

CS120L High-Level Programming I Lab

CS120L is the lab component of the introductory High-Level Programming I course. Students meet for two hours weekly to apply the concepts presented in CS120 in a lab environment.

GAM100 Project Introduction

This class presents an overview of the way the game development industry works and a history of game development. It exposes students to the positions and job responsibilities that each member of a game development team has, along with the industry requirements for concept pitches, design documents and schedules. It also introduces sprite animation, object motion, and input processing, which students use in the creation of a game of their own design.

GAT110 Game History

This course covers the history of games from the very first games of ancient civilisations, to traditional tabletop games, to classic video games from the 20th century. Topics may include how the core mechanics of even the oldest games are still present in video games today, how games can be categorised by their core mechanics, and how social forces and technology drive changes in the games we play. Students are required to play, analyse, and modify a wide variety of games as the primary coursework of this class.

GAT120 Game Analysis

This course focuses on learning the fundamental design principles of digital games through repeated examination of existing games. Students will be taught how to analyze and reverse-engineer the designs of major works in gaming history, then will analyze a variety of games themselves. Topics may include game mechanics, actions, controls, rewards, punishment, intensity curves, teaching the player, visual aesthetics, and aural aesthetics.

MAT140 Linear Algebra and Geometry

The two main themes throughout the course are vector geometry and linear transformations. Topics from vector geometry include vector arithmetic, dot product, cross product, and representations of lines and planes in three-space. Linear transformations covered include rotations, reflections, shears and projections. Students study the matrix representations of linear transformations along with their derivations. The curriculum also presents affine geometry and affine transformations along with connections to computer graphics. This course also includes a review of relevant algebra and trigonometry concepts.

Semester 2
CS170 High-Level Programming II – The C++ Programming Language

This course is a continuation of High-Level Programming I (CS120). It introduces the C++ language with particular emphasis on its object-oriented features. Topics covered include stylistic and usage differences between C and C++, namespaces, function and operator overloading, classes, inheritance, class and function templates, STL lists, and vectors. Concurrent enrolment in CS170L is required.

CS170L High-Level Programming II Lab

CS170L is the lab component of the High-Level Programming II course. Students meet weekly to work on topics presented in the CS170 lectures in a lab environment.

CS230 Game Implementation Techniques

CS230 presents game implementation techniques and engine architecture. Students investigate foundational concepts of game architecture, such as game-system component separation and game flow, while learning about essential elements such as the game state manager, input/output handler, and frame rate controller. CS230 introduces Windows programming, state machines, and collision detection algorithms, which students will integrate into their own remakes of classic games. As part of their implementation, students create and expand their own collision, vector, and matrix libraries, enabling them to incorporate basic physics engines. Students survey concepts in space partitioning, particle systems, map editors, and other elements as a bridge to more advanced concepts in implementation techniques and engine architecture.

ENG110 Composition

This course focuses on generating and discussing ideas for composition and engages in all stages of the writing process, with emphasis on the development and application of critical thinking skills. The primary focus of the course is developing the ability to construct, write, and revise argumentative/persuasive essays. Assignments may also include other types of writing, such as narrative, descriptive, and comparative essays.

GAM150 Project I

This project focuses on the creation of a simple game or simulation. Students work together on teams of three or four members. All projects must be written entirely in C (C++ is not allowed) and cannot use external libraries or middleware of any kind (except those provided by the instructor). Topics include effective team communication, planning, documentation, debugging, source control, testing, and iterative software development techniques.

GAT210 Game Mechanics I

In this course, students start building a foundational knowledge of game mechanics by creating, analysing, and testing non-digital dice, card, and board games of their own design. Topics may include randomness, game state, hidden information, position, designing to a specification, writing rules, and playtesting.

MAT150 Calculus & Analytic Geometry I or MAT180 Vector Calculus I

This course introduces the calculus of functions of a single real variable. The main topics include limits, differentiation, and integration. Limits include the graphical and intuitive computation of limits, algebraic properties of limits, and continuity of functions. Differentiation topics include techniques of differentiation, optimisation, and applications to graphing. Integration includes Riemann sums, the definite integral, anti-derivatives, and the Fundamental Theorem of Calculus.

OR

This course extends the standard calculus of one-variable functions to multi-variable vector-valued functions. Vector calculus is used in many branches of physics, engineering, and science, with applications that include dynamics, fluid mechanics, electromagnetism, and the study of curves and surfaces. Topics covered include limits, continuity, and differentiability of functions of several variables, partial derivatives, extrema of multi-variable functions, vector fields, gradient, divergence, curl, Laplacian, and applications.

Semester 3
CS225 Advanced C/C++

This course builds on the foundation created in the first two high-level programming courses (CS120/170). It presents advanced topics of the C/C++ programming language in greater detail. Such topics include advanced pointer manipulation, utilizing multi-dimensional arrays, complex declarations, and standard library functions. Advanced C++ topics include class and function templates, operator overloading, multiple inheritance, runtime type information, the standard template library, and performance issues.

GAM200 Project II

This project is divided into two semesters and focuses on the creation of a simple real-time game or simulation with 2D graphics (3D games are not allowed). Students work together on teams of three or four members to implement technical features, such as audio effects, music playback, pattern movement, simple artificial intelligence, same-machine multiplayer (networking is not allowed), particle systems, scrolling, and simple physics. All projects must be written with a core of C++ code and cannot use middleware such as pre-existing physics engines, networking engines, etc. Additional topics may include basic software architecture, essential development practices, fundamentals of team dynamics, and task prioritisation methods.

GAT211 Game Mechanics II

This course focuses on how to create the maps, characters, and combat systems needed for combat-oriented games. Students work to create a large variety of maps, create new character types for existing games, convert specific video games into tabletop games, and build a tabletop combat-oriented game of their own design. Topics may include map types and layouts, movement, visibility, force composition, character statistics and roles, melee combat, ranged combat, damage, armour and health.

GAT240 Technology for Designers

This course is a survey of the technologies commonly used in game development. Topics may include spreadsheets, file formats, lighting, shaders, art pipelines, networking, databases, physics engines, audio engines, and artificial intelligence. These topics are covered only at a basic level—enough to be able to use them as a designer, but not enough to be able to implement them.

MAT200 Calculus & Analytic Geometry II OR MAT230 Vector Calculus II

This course builds on the introduction to calculus in MAT150. Topics in integration include applications of the integral in physics and geometry and techniques of integration. The course also covers sequences and series of real numbers, power series and Taylor series, and calculus of transcendental functions. Further topics may include a basic introduction to concepts in multivariable and vector calculus.

OR

This course is a continuation of MAT180. Topics covered include differential operators on vector fields, multiple integrals, line integrals, general change of variable formulas, Jacobi matrix, surface integrals, and various applications. The course also covers the theorems of Green, Gauss, and Stokes.

PHY200 Motion Dynamics

This calculus-based course presents the fundamental principles of mechanics for simulation and engineering majors. Students learn the laws that govern the mechanical world and how to use these laws to form a simulated world. They examine the concepts involved with kinematics, Newtonian dynamics, work and energy, momentum, rotational motion, and statics.

Semester 4
ART105 Art Processes

This course provides a basic working knowledge of the processes used in making art. Topics include the origins and techniques involving drawing, tone, color, composition and artistic process as well as a simple overview of art history.

COM150 Interpersonal and Work Communication

Students explore how their culture, gender, economic status, age and other personal characteristics influence their work communications. The course explores verbal and non-verbal communication skills in a global work environment. Students learn written communication techniques most effective for use in the technology workplace. Additionally, students explore and practice negotiation skills, both internally and externally at their workplace.

CS180 Operating Systems I, Man-Machine Interface

This course presents an overview of modern operating systems, in particular Windows and Linux/Unix as implemented on modern PCs. After an overview of what an operating system is and does, the following is also covered: organization and design (the kernel and various subsystems), process management (creation and management of processes and threads, including an introduction to multithreaded programming), networks (the TCP/IP stack and the organization of the Internet), interprocess communication, process synchronization (locks, semaphores, and methods to avoid deadlocks), memory management (hardware and process views of memory layout and demand-paged virtual memory), file systems, and security and protection (viruses, worms, and Trojan horses).

CS280 Data Structures and Algorithms

This course introduces the classical abstract data types (ADT) in computer science. ADTs provide the hierarchical views of data organisation used in programming. Among the topics covered are the algorithms and primitives of the data structures for arrays, linked lists, stacks, queues, trees, hash tables, and graphs. In addition, the course provides an introduction to algorithm complexity and notation.

GAM250 Project II

In this class, students work to complete and polish the projects they began in GAM200. Additional topics may include intermediate software architecture, advanced debugging techniques, bug tracking, formal playtesting, game pacing, and game balance.

GAT250 2D Game Design

This course focuses on designing and implementing games using a 2D engine. Students work to create several original games in common genres, such as platformers, shooters, brawlers, or puzzle games. Topics may include aesthetics, level construction, enemy placement, resource placement, player guidance, player controls, scripting, and game mechanics in 2D.

Semester 5
ART260 Graphic Design, User Experience, and Input

Students explore elements of visual design and apply them to computer user interfaces. They analyse various types of sensory interfaces and improve their skills in creating representations of information valuable to a system user. Additionally, emphasis is be placed on the overall enjoyment of the user experience, plus consideration towards relating the user experience to the theme of the game or system. Students learn how to use various industry-standard languages related to prototype interfaces.

CS251 Introduction to Computer Graphics

This course provides a high-level overview of 3D computer graphics. It is intended for game designers and artists to enable them to understand the fundamental components of graphics engine and their applications in real-time simulation and video game software. Course topics include graphics pipeline architecture, 3D transformation operations, viewing and projection, lighting and shading models, surface detail techniques, shadow algorithms, hidden object culling and removal techniques, 3D object modeling, and animation and physically-based motion control. The popular graphics programming languages (GDI plus, OpenGL, DirectX) and shader programming are also discussed in the course.

CS380 Artificial Intelligence for Games

This course introduces students to a wide range of concepts and practical algorithms that are commonly used to solve game AI problems. Case studies from real games are used to illustrate the concepts. Students have a chance to work with and implement core game AI algorithms. Topics covered includes the game AI programmer mindset, AI architecture (state machines, rule-based systems, goal-based systems, trigger systems, smart terrain, scripting, message passing, and debugging AI), movement, pathfinding, emergent behavior, agent awareness, agent cooperation, terrain analysis, planning, and learning/adaptation.

GAM302 Project III for Game Designers

This project is divided into two semesters and focuses on the design of an advanced real-time game or simulation. Students work in teams either made up only of designers or with students from GAM300. Designer-only teams can use commercial game engines, middleware, or other libraries that teams with GAM300 students cannot. Additional topics may include online portfolios, effective presentations, managing scope, and advanced team dynamics.

GAT251 2D Game Design II

This course focuses on designing and implementing some of the more complicated types of 2D games, such as role-playing games, strategy games, or economic games. Students work to create several original games in these genres, including one in the genre of their choice. Topics may include character advancement, inventory, strategic balance, diplomacy, trading, and real-time economic systems.

PSY101 Introduction to Psychology

This course introduces major topics in psychology, specifically as they relate to cognition and learning. These topics include perception, cognition, personality and social psychology, and biological aspects of behavior. Students are also introduced to human information processing, memory, problem solving, attention, perception, and imagery. Other topics covered may include mental representation and transformation, language processing, and concept formation.

Semester 6
ART310 Architectural Spaces, Design and Lighting I

This course introduces students to the aesthetics and principles of 2D (floor plans and elevations) and 3D environment design. A survey of architectural styles from throughout the world is blended with concepts, such as emotion, mood, lighting, shadows, aesthetics, and more. The course emphasises learning the architectural vocabulary as well as the aesthetics of environmental and game-level design. Texturing, spatial design, negative space, dramatic lighting, and other concepts that affect not only the psychology of level design but also gameplay principles are covered. Students participate in numerous field trips to local examples of architecture in order to gain an understanding of architectural spaces and the field’s vocabulary.

CG102 2D Raster and Vector Graphics for Designers

This course introduces students to industry-standard software and practices of raster graphics and animation. The course begins with basic information, such as interface organization strategies, system components, bit depth, resolution, memory management, and output strategies. Then it explores techniques and critical thinking skills for digital painting, scanning, character development and animation for 2D games. Additionally, it looks at basic interface customisation options and strategies in 2D raster graphics.

CG125 Introduction to 3D Production for Designers

This course introduces game design students to current software and production process of 3D animation, with a focus on implementing the art assets into a game engine. The course begins with basic information, such as interface organisation strategies, equipment options, and production elements. The class also introduces techniques for texture mapping, modeling, rigging, lighting, cameras, and animation. Additionally, it looks at basic interface customisation options and strategies in 3D graphics, culminating in a series of applied problems in 3D production techniques.

GAM352 Project III for Game Designers

In this class, students work to complete the projects they began in GAM302. Additional topics may include large project design, advanced testing techniques, internships, and an introduction to resumes and interviews.

GAT315 3D Game Design I

This course focuses on designing and implementing games using a 3D engine. Students will work to create one or more levels from start to finish, including any needed modifications to game mechanics, controls, and cameras. Topics may include aesthetics, environment building, lighting, texturing, resource placement, player guidance, player controls, camera controls, scripting, and game mechanics in 3D.

MAT258 Discrete Mathematics

This course gives an introduction to several mathematical topics of foundational importance in the mathematical and computer sciences. Typically starting with propositional and first order logic, the course considers applications to methods of mathematical proof and reasoning. Further topics include basic set theory, number theory, enumeration, recurrence relations, mathematical induction, generating functions, and basic probability. Other topics may include graph theory, asymptotic analysis, and finite automata.

Semester 7
CS311 Introduction to Databases

This course provides students with a broad overview of database systems. It presents the fundamentals, practices, and applications of computer databases. Topics include database architectures, data modeling, design schemes, relational algebra, query languages, transaction processing, and database implementation. Students will explore massively multiplayer online games (MMOG) to examine a case study of database design and implementation.

CS330 Algorithm Analysis

This course provides students with an introduction to the analysis of algorithms, specifically proving their correctness and making a statement about their efficiency. Topics for discussion may include loop invariants, strong mathematical induction and recursion, asymptotic notation, recurrence relations, and generating functions. Students examine examples of algorithm analysis from searching and sorting algorithms.

GAM400 Project IV

This project is divided into two semesters and focuses on the creation of an innovative game, simulation, or demo. Students may use current software and hardware technologies with instructor approval, such as web technologies, gaming consoles, mobile devices, commercial physics engines, commercial game engines, hands-free input devices, etc. These technologies can be used to implement technical features, such as 3D animation, advanced lighting and rendering, advanced 3D physics, high-performance networking, and advanced AI algorithms. Innovation can also come from the design, visuals, and/or audio components of the project. Students work independently or in teams, as appropriate to the scope of their project. Additional topics may include advanced interviewing techniques and writing effective resumes.

GAT316 3D Game Design II

This course focuses on designing and implementing 3D games in specific genres, such as first-person shooters, adventure games, role-playing games, platformers, or real-time strategy games. Students work to create an original prototype for each genre covered using a 3D engine of the appropriate type. Topics may include puzzle design, platforming design, boss fight design, cover mechanics, and terrain modification for a 3D game.

Any three-credit course with the GAT designation

NA

Semester 8
COL499 Career Search Preparation: Materials, Logistics, And Communication

College 499 is a capstone course for students to prepare their job application materials and learn how to effectively search for an entry-level job in their field. The goal of the course is for each student to have a polished resume, cover letter, business card, and online/web presence by the end of the semester, as well as a search strategy for seeking employment.

GAM450 Project IV

In this class, students work to complete the projects they began in GAM400. Additional topics may include working in the industry, personal networking, and career strategies.

An elective of the student’s choice from any department at DigiPen Institute of Technology Singapore

NA

An elective of the student’s choice from any department at DigiPen Institute of Technology Singapore

NA

Any three-credit COM, ENG, ECN, HIS, LAW, PHL, PSY, or SOS course

NA

Campus Location
SIT@SP Building
SIT@SP Building

Singapore Polytechnic
510 Dover Road, Singapore 139660