Computer Science in Real-Time Interactive Simulation, BS

Programme Overview
The BS in Computer Science in Real-Time Interactive Simulation programme is a computer science degree focusing on developing, implementing, and programming complex interactive simulations and computer graphics in real-time.  This programme uses game development as a tool for teaching advanced computer science concepts. Students begin with a solid foundation in mathematics, physics and programming, then apply that knowledge in yearly team-based projects where they design, program, test, and finally release their own original game software to the public. Those who successfully complete the BS in Computer Science in Real-Time Interactive Simulation programme have the knowledge and skills to produce highly complex software systems at a professional level.

Curriculum
Students in the BS in Computer Science in Real-Time Interactive Simulation programme will learn how to:

  • Program a variety of simulations and game software in core programming languages like C++.
  • Create robust artificial intelligence algorithms to serve as the cognitive processes for computer-controlled objects.
  • Apply concepts such as computer networks, TCP/IP, and internet programming to multi-user software environments.
  • Implement efficient graphical user interfaces (GUIs), including the management of windows, menus, and dialog boxes.
  • Draft technical design documents to aid in the scheduling and organizational aspects of software production

Career Opportunities
Graduates of this programme are prepared to enter the simulation or video game
Industries, as:

  • Software Analyst
  • Computer Scientist
  • Game Engine Developer
  • Software Engineer

Learn more about DigiPen's Bachelor of Science in Computer Science in Real-Time Interactive Simulation.

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 in Real-Time Interactive Simulation 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 Engineering and 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 in Real-Time Interactive Simulation

  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
CS 100 Computer Environment

This course provides a detailed examination of the fundamental elements on which computers are based. Topics include number systems and computation, electricity and basic circuits, logic circuits, memory, computer architecture, and operating systems. Operational code and assembly languages are discussed and then implemented on a hardware platform, such as a personal computer or an autonomous vehicle.

CS 120 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.

ENG 110 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.

GAM 100 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.

MAT 140 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
COM 150 Interpersonal and Work Communication

This course provides an introduction to interpersonal and professional communication. Particular attention is paid to verbal and nonverbal communication skills, small-group communication, and conflict resolution.

CS 170 High-Level Programming II – The C++ Programming Language

This course introduces the C++ language with particular emphasis on its object-oriented features. Topics include stylistic and usage differences between C and C++, namespaces, function and operator overloading, classes, inheritance, templates, and fundamental STL components.

 

CS 230 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.

GAM 150 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.

MAT 150 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.

Summer
- Summer

One or more of the following courses may be taken in the summer for those who wish to reduce the Semester 3 and/or Semester 4 course load: CS 225, MAT 200, PHY 200

Semester 3
CS 180 Operating Systems I, Man-Machine Interface

This course presents an overview of modern operating systems as implemented on personal computers. It presents an overview of what an operating system is and does, with emphasis on the following topics: organization and design, process management, threading, interprocess communication, process synchronization, and memory management.

CS 200 Computer Graphics I

CS200 presents fundamental mathematical elements, data structures, and algorithms useful for animating and viewing 2D primitives. The course aims to fulfil two objectives. The first objective is to provide students with a sufficient mathematical and algorithmic background to design and implement 2D graphics applications. The second objective is to prepare students with the knowledge required for writing 3D graphics applications. The first half of the course deals with scan-conversion algorithms for rasterizing 2D primitives such as lines, circles, ellipses, triangles, and arbitrary polygons. The second half of the course is concerned with the viewing and animation of these 2D primitives. The course covers topics such as interpolation techniques, transformations, culling, clipping, animation techniques, and the 2D viewing pipeline.

CS 225 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.

GAM 200 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.

MAT 200 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.

Semester 4
CS 250 Computer Graphics II

CS250 examines the mathematical elements and algorithms used in the design and development of real-time 3D computer graphics applications, such as games, cockpit simulators, and architectural walk-throughs. 3D computer graphics involve drawing pictures of 3D objects, usually on a 2D screen. This process of generating a 2D image of a 3D graphics application can be described as a series of distinct operations performed on a set of input data. Each operation generates results for the successive one. This process is called the graphics rendering pipeline, and it is the core of real-time computer graphics. The graphics pipeline can be conceptualised as consisting of three stages: application, transformation, and rasterization. The course begins by introducing the 3D graphics pipeline. The application stage is examined from the viewpoint of the representation, modelling, and animation of 3D objects. Topics include user interaction, camera animation techniques, simulation of dynamic objects, and collision detection techniques. Next, the course examines the process of mapping 3D graphic objects from model-space to viewport coordinates. The transformation stage implements this process. Finally, the conversion of a geometric primitive in viewport coordinates into a 2D image is studied. The rasterization stage implements this final process.

CS 280 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.

GAM 250 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.

MAT 250 Linear Algebra

This course presents the mathematical foundations of linear algebra, which includes a review of basic matrix algebra and linear systems of equations as well as basics of linear transformations in Euclidean spaces, determinants, and the Gauss-Jordan Algorithm. The more substantial part of the course begins with abstract vector spaces and the study of linear independence and bases. Further topics may include orthogonality, change of basis, general theory of linear transformations, and eigenvalues and eigenvectors. Other topics may include applications to least-squares approximations and Fourier transforms, differential equations, and computer graphics.

PHY 200 Motion Dynamics

This calculus-based course presents the fundamental principles of mechanics, including kinematics, Newtonian dynamics, work and energy, momentum, and rotational motion.

PHY 200L Motion Dynamics Lab

This course presents the concepts of PHY 200 in the laboratory. The experiments allow the student to experience the laws of basic physics involving linear motion, force, gravitation, conservation of energy, conservation of momentum, collisions, rotational motion, and springs. Error analysis and data reduction techniques are taught and required in experimental reports.

Summer
- Summer

One or more of the following courses may be taken in the summer for those who wish to reduce the Semester 3 and/or Semester 4 course load: CS 225, MAT 200, PHY 200

Semester 5
CS 260 Computer Networks I, Interprocess Communication

This course introduces the hierarchical network communication in a distributed computing environment. Course topics cover network technologies, architecture, and protocols. The curriculum gives specific emphasis to the TCP/IP stack and in making students familiar with writing portable socket based software. It prepares students for programming multi-player games in later semesters.

CS 300 Advanced Computer Graphics I

This course introduces students to algorithms that are essential to creating photorealistic images in interactive simulations. Topics covered include an overview of modern GPU (graphics processor unit) architecture and the common graphics APIs used, including OpenGL and DirectX. Rendering techniques covered include texturing, illumination models, transparency, shading algorithms, mapping techniques (bump mapping, environment/reflection mapping, etc.), and shadows. Students learn how to implement all algorithms by using vertex and pixel shaders.

CS 330 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.

GAM 300 Project III

This course is the first semester of a three-semester project, which will be continued in GAM 350 and GAM 375, and focuses on the creation of a polished, professional-quality, real-time game or simulation. It provides the opportunity to work together on cross-discipline teams of three or more members, implementing the technical features needed for the project. This first semester focuses on pre-production to ensure the technology, tools, design, art, audio, and team are ready for full production in the following semester.

MAT 258 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.

PHY 250 Waves, Optics, and Aerodynamics

This calculus-based course presents the fundamentals of fluid dynamics, oscillations, waves, geometric optics, and thermodynamics.

Semester 6
CG 130 3D Computer Animation Production I

This course introduces students to the basic theories and techniques of 3D computer animation. The curriculum emphasizes standard 3D modeling techniques, including polygonal and spline modeling, texture map creation and application, keyframing, and animating through forward kinematics and inverse kinematics.

CS 315 Low-Level Programming

This course introduces modern microprocessor architectures. Topic areas include computer architecture, modern assembly languages, and writing assembly-language programs.  Emphasis is placed on using assembly language to optimize high-level language programs.

CS 350 Advanced Computer Graphics II

This course deals with the efficient representation and processing of complex 3D scenes in order to avoid bottlenecks in the use of the CPU and the GPU. Specific topics include a variety of spatial data structures (binary space-partitioning trees, octrees, kd-trees, and grid data structures), several object-culling methods (occlusion, viewport, and portal), and finally the construction and uses of bounding volumes and their hierarchies for collision detection and related geometric operations.

- Computer Science Elective Any CS course numbered 200 or higher
GAM 350 Project III

This course is the second semester of the three-semester project begun in GAM 300 or GAM 302. This semester focuses on moving into full production, ending with the project ready to enter post-production in GAM 375 in the following semester.

- Math Elective Any MAT course number 200 or higher
Semester 7
ART and MUS Elective Select One: ANI 125, ART 105, FLM 115, FLM 151, FLM 152, or MUS 115
- Computer Science Elective Any CS course numbered 200 or higher
COL 499 Career Search Preparation: Materials, Logistics, and Communication
- English Elective Any ENG course of three credits or more
GAM 375 Project III

This course is the final semester of the three-semester project begun in GAM 300 or GAM 302 and continued in GAM 350. This semester focuses on post-production and shipping the final project.

 

- Math Elective Any MAT course number 200 or higher
Semester 8
- Computer Science Elective Any CS course numbered 200 or higher
- Computer Science Elective Any CS course numbered 200 or higher
- English Elective Any ENG course of three credits or more
HSS Elective Any HIS, PSY, or SOS course of three credits or more
GAM 400 Project IV
Campus Location
SIT@SP Building
SIT@SP Building

Singapore Polytechnic
510 Dover Road, Singapore 139660