PROGRAM DESCRIPTION
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
LEARNING OBJECTIVES
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 programming, HTML, JavaScript, graphical assets, and practical software applications.
ADMISSION REQUIREMENTS
Grade 12 graduate or mature student status (British Columbia 19 years or older)
Meet minimum English language proficiency requirements.
CAREER OPTIONS
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
- Junior Game Developer
- Junior Programmer
- Software Developer
- Web-based game developer
Co-Op
The co-op will provide students with the opportunity to apply acquired theory and skills in a practical business setting. Students will gain real-world experience working on projects as a member of a team with project deliverables and deadlines.
Program Organization
| Course No. | Course Name | Hours |
|---|---|---|
| ICR100 | Information Technology Essentials | 40 |
| ICR110 | Problem solving and analytical thinking | 40 |
| ICR120 | Markup Essentials | 60 |
| ICR130 | Scripting for Web Development | 60 |
| ICR140 | Databases Design and Modeling | 40 |
| IGP300 | System Programming | 60 |
| 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 |
| IGP400 | Computer Networks | 60 |
| IEP400 | Algorithm & Design patterns II | 40 |
| IGA400 | 3D and Level Design Workshop | 80 |
| IGA410 | Game Engine Programming | 60 |
| CAP200 | Co-op Prep. Workshop | 80 |
| Co-op | 960 |
Admission Requirements
- Grade 12 Graduate or a mature student
- Meet the Language proficiency requirements as listed below:
Prior to acceptance applicants must meet at least one of the following language proficiency requirements:
- Provide verified results for one of the English language proficiency tests listed below.
- International English Language Testing System (IELTS) Academic: overall score of 5.5 or higher.
- Test of English as a Foreign Language (TOEFL) IBT: overall score of 46 or higher
- Canadian Academic English Language (CAEL) Test: overall score of 40 or higher
- Canadian English Language Proficiency Index Program (CELPIP): Listening 6, Speaking 6, Reading 5, and Writing 5
- Duolingo English Test: overall score of 95 or higher
- Pearson Test of English (PTE) Academic: overall score of 43 or higher
- Cambridge English Qualifications: B2 First exam (FCE): overall score of 160 /"C" or higher
- Cambridge Linguaskill: overall: B2 level or higher
- LANGUAGECERT Academic: B2 level or higher
- The Michigan English Test (MET): B2 level or higher
- iTEP Academic: overall score of 3.5 or higher
- EIKEN: placement of Grade Pre-1 or higher
Test results must be dated no more than two years before the start date of the program.
Mature student applicants:
- Completion of 3 years of full-time secondary education (Grades 8-12) or 2 years of secondary education (including English 10 and 11 with a grade of 'C' or higher) from a country where English is one of the principal languages(This may be demonstrated by providing a high school transcript, completion of a BC Adult Graduation program or providing international education credentials recognized through WES, ICES, or IQAS.), or
- Completion of 2 years of full-time post-secondary education at an accredited institution where English is the language of instruction (Language development courses (i.e., ELL courses) cannot be included in this calculation), or
- Evidence that a language standard defined and accepted by a third-party regulator has been met. This may include minimum language standards or testing options set by a third-party regulator (e.g., Health Colleges, Public Registries, Transport Canada, etc.).
- Applicant is 19 years or older at the start of the program and is a Canadian citizen or permanent resident who cannot access is their educational records or provide sufficient evidence of secondary or post-secondary education as outlined above:
- Reading: 235
- Writing: 235
- WritePlacer: 4
Language development courses (i.e., ELL courses) cannot be included in this calculation. Accuplacer may not be used to demonstrate that a student meets an admission requirement other than language proficiency. For example, Accuplacer may not be used to demonstrate that a student meets a Math 11 admission requirement.
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 the 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.
ICR120 Introduction to HTML and JavaScript
This course will introduce students to web page and simple website infrastructure. Students will construct simple webpage and websites using authoring tools, HTML 4.0 and JavaScript. Student will learn basic programming principles and best practices. Students will use their programming skills to enhance a web site they have developed by building simple interactive functionality into their webpages.
ICR130 Website Building with CSS
Students will learn how to create all of the key components required in a 21st century commercial web site. Students will learn how to apply your HTML, CSS, and JavaScript skills in a commercial context.
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.
CAP200 Career Preparation Workshop
This course is to get students familiar with the work culture, communication, employer – employee relationship and all necessary soft skills that are needed to secure a job. This course is spread over all terms and teaches students different levels of skills needed to obtain and keep a job.
Graduation Requirements
- Successful completion of all program courses
- Successful completion of program Co-op (If applicable)
Program Duration
| Program | Hours |
|---|---|
| Total instructional hours | 960 (No Co-op) - 040 (With Co-op) |
| Total Co-op hours | 960 (if applicable) |
| Total program hours | 960 (No Co-op) - 2000 (With Co-op) |
| Total program length (weeks) | 48 (No Co-op) - 96 (With Co-op) |
Delivery Method
This program can be delivered in different methods,
-
On Site
The program will be delivered 100% in person*
Courses may be offered in a different order as long as prerequisites are met. Prerequisites are indicated in each course outline.
-
Distance
The program will be delivered 100% in an asynchronous** style except for the integrated work experience i.e practicum or co-op
Content of courses may be available at the same time OR in a different order as long as prerequisites are met. Prerequisites are indicated in each course outline.
-
Combined (Hybrid)
In this method, 50% of EACH COURSE of the program is delivered in person and the other 35% to 50% percent is delivered in synchronous** style and 0 to 15% in asynchronous*** style.
NOTE:
In this method, EVERY course of the program is delivered both in class and online. Courses may be offered in a different order as long as prerequisites are met.
Prerequisites are indicated in each course outline.
Students may ask SEA in writing if they want to take different percentages in class or online. Upon SEA's approval, an amendment to the enrollment agreement must be signed.
*In person - means all classes of all courses are conducted on campus and students and instructors are on the same schedule and in the same physical location.
**Synchronous is when students and instructors are on the same schedule but can log in to a virtual class at the same time, only from different physical locations.
***Asynchronous is when students are on their own schedule and log in to the school management system at their own time, submit assignments on their own schedule and within a specific timeframe and are in touch with instructors via email and not necessarily at the same time and/or time zone.