These diploma programs focus on preparing you to work as a programmer with a specialization in the video game industry, requiring the application of current industry policies, practices, procedures and tools.
The two options are:
– IT, System Programming - Game development Diploma
– IT, System Programming - Game development Diploma with Co-op
Upon successful completion, students will have demonstrated the ability to apply theoretical knowledge and hands-on skills in industry standard programming languages, database design and application, fundamentals of object oriented
Grade 12 graduate or mature student status (British Columbia 19 years or older)
Meet minimum English language proficiency requirements.
|Total instructional hours||960|
|Total Co-op hours||960 (if applicable)|
|Total program hours||960 (No Co-op) – 1920 (With Co-op)|
|Total program length (weeks)||48 (No Co-op) – 96 (With Co-op)|
- Successful completion of all program courses
- Successful completion of program Co-op (if applicable)
Upon successful completion graduates will be able to secure employment in a wide variety and sizes of businesses such as Open Source Application Programmer, Programmer Analyst, Software Developer, Web Programmer, Web Developer
|ICR100||Information Technology Essentials||40|
|ICR110||Problem solving and analytical thinking||40|
|ICR130||Scripting for Web Development||60|
|ICR140||Databases Design and Modeling||40|
|IGP310||Object Oriented Programming||160|
|IGP320||System programming workshop||20|
|IGA200||Game Engine Essentials||80|
|IGP220||Cross Platform Programming||80|
|IEP300||Algorithm & Design patterns I||40|
|GRD110||Digital Imaging I||40|
|IEP400||Algorithm & Design patterns II||40|
|IGA400||3D and Level Design Workshop||80|
|IGA410||Game Engine Programming||60|
☒ In-class instruction
☒ Distance education
☒ Combined delivery (both in-class and distance)
ICR100 Introduction to Computers
This is an introductory to the basics of computer hardware, especially those components that are used frequently by programmers including RAM and CPU. Students will also be introduced to operating systems.
ICR110 Algorithms, Flowchart and problem solving
Understanding the language, grammar and syntax of a programming language is key to the application of that language in solving programming problems. All programming languages have been created around a fundamental set of language theories and conventions. This course introduces the student to theory and practice of programming and programming logic. This course does not introduce the student to a specific programming language but rather to the basic language, grammatical, and syntactical constructs and logic found in all programming languages. Students will solve programming problems using pseudo-code.
ICR130 Website Building with CSS
ICR140 Databases & SQL
This is an introductory database course. Students will be introduced to the role and function of databases and to accepted dbase design and development methodologies. You will also be introduced to database software manipulation systems using Classic ASP and Microsoft Access tools.
IGP300 Introduction to Programming with C
This course introduces students to basic C programming principles and structures. Students will learn to develop console applications in C while they learn the Visual Studio IDE. Pointers will be introduced. Students will learn how to use pointers to self-referential data structures.
IGP310 Object Oriented Programming with C++
In this course students will learn object oriented terminology and concepts using C++. Students will learn to create classes and implement inheritance and polymorphism. Advanced concepts like templates and operator overloading are also discussed in this course.
IGP320 C Project
In this course students will apply what they have learned to a programming problem.
IGA200 Mathematics for Game Developers
The fundamentals of engaging game play are based on underlying principles of physics and and mathematics. This course introduces the essential mathematical and physical concepts used in graphics programming and in 2D and 3D physics based animation. Students will be re-introduced to basic high school math and physics and then a number of key concepts such as vectors, matrices and transpositions, physics of motion, kinematics, Laws of motion, fixed axis rotation and circular movement.
IGP220 C# Programming
In this course students learn how to create desktop applications using C#.Net. Students will learn how to create windows based applications along with database connectivity. They will learn simple concepts of Object Oriented Programming and create multiple projects based on Object Oriented concepts in C#. Students will also learn Inheritance and polymorphism along with the concept of static and dynamic binding.
IEP300 Algorithm & Design Patterns I
Programming effectively and in a way that the code can be reused is a major goal for every programmer. Once a person understands the programming and logic, they must start thinking about software engineering concepts that make the code faster, effective and reusable. In this course students will learn quite a few algorithms and software engineering tools plus two fundamental design patterns that are the base for understanding other design patterns. Students also will be introduced to the standard template library, abstract data types, trees and recursion as well as sort and search algorithms.
GRD110 Photoshop I
This course introduces students to industry standard digital imaging software – Photoshop. Students will learn the fundamentals of digital image manipulation, editing tools and techniques.
IEP400 Algorithm & Design Patterns II
This is an advanced course that introduces advanced software engineering principles, techniques and algorithms. Students will learn to apply multiple design patterns with different intents to make their code more effective and reusable. Topics will include façade, flyweight, iterator, builder, bridge, composite and model view controller design patterns, graph processing and compression.
IGP400 Introduction to Computer Networks
Computer networks allow for increased productivity and simplified instantaneous information sharing. The Internet, the world wide web and the ‘cloud’ continue build upon basic network theory and practice. This is an introductory course were you will learn to design and implement simple networks based on client needs, using existing network tools, practice and hardware.
IGA400 Game Development Workshop I
In this course you will apply theory to practice by creating a prototypical version of a computer game based on everything you have learned in the program. You can work as part of team or develop the game as an independent producer.
IGA410 Windows Programming & MFC
In this course students will learn how to use C++ to create GUIs, how to create an original Windows application in Native mode, how manipulate Device Dependent and Device Independent bitmaps and how to take advantage of Microsoft Foundation Class (MFC) to do similar tasks more efficiently.
This Coop will provide you with the opportunity to apply acquired theory and skills in a practical business setting. You will gain real world experience working on projects as a member of a team with project deliverables and deadlines.