Computers (CMPT)

CMPT 1010  Credits: 3  
Intro to Comp Programming 1  Total Hours: 60  
This course provides students an introduction to computing science and computer programming, using a systems oriented language, such as C or C++. This course introduces basic computing science concepts. Topics will include: elementary data types, control structures, functions, arrays and strings, fundamental algorithms, computer organization and memory management.
Pre-requisite(s): Pre-calculus 12 or MATH 1020 Precalculus or MATH 0983/0993 Math Parts 1 & 2 or VCC Math Pre-calculus Assessment Test with a minimum grade of '72%' or equivalent  
CMPT 1020  Credits: 3  
Intro to Comp Programming 2  Total Hours: 60  
This course builds upon the foundations set in CMPT 1010 Introduction to Computer Programming 1. Students will learn how to apply fundamental object-oriented programming concepts to efficiently program applications with an intermediate level of difficulty. Topics include object-oriented design, object-oriented programming, encapsulation, inheritance, aggregation, operator overloading, virtual functions, polymorphism, function templates, class templates, exception handling, implementation of algorithms and data structures, introduction to complexity analysis, and introduction to embedded system programming. C++ is used as the implementation language.
Pre-requisite(s): CMPT 1010  
CMPT 1030  Credits: 3  
Introduction to Game Engines  Total Hours: 60  
Students will learn the basics of 3D interactive application design and development using the game engines Unity3D and Unreal Engine. Students will use a hands-on approach to learn the user interface of Unity and Unreal Engine, asset creation, node based and C++ scripting, and creating/compiling projects. Finally, students will create and deploy an application based on self-created and/or provided assets.
Pre-requisite(s): Pre-calculus 12 with a B or equivalent; English 12 with a C+ or equivalent  
Co-requisite(s): CMPT 1040  
CMPT 1040  Credits: 3  
Intro to 2D/3D Asset Creation  Total Hours: 60  
Students will compare and contrast industry approaches to designing and creating original 2D/3D characters, props and environments. Students will research, analyze and apply the fundamental techniques of modeling, sculpting, texturing, animation (environmental and character), and rigging. Through reference and research, students will develop an appreciation for what makes an appealing 2D/3D design suitable for use in a production pipeline.
Pre-requisite(s): English 12 with a 'C+' or equivalent  
CMPT 2030  Credits: 19  
Industry Practicum  Total Hours: 570  
The 14-week industry practicum provides students with an opportunity to apply the skills and knowledge from the classroom in an industry setting. Students will start in class to further develop their abilities to complete a successful practicum, including workplace culture and etiquette. Students will work with program faculty and approved prospective placement sites to apply for a practicum assignment that best meets their personal learning and career development goals. During the practicum assignment students will further develop their programming skills, develop their capacity to communicate effectively in the workplace and begin to build a network of key industry contacts that can help them with their goal of securing permanent employment in the technology sector. Students will meet with faculty regularly to go over their projects for troubleshooting and guidance. Finally, students will showcase their projects at an event where the industry partners will be invited. Vancouver Film School students who are interested in adding a practicum component, and have successfully finished the VR/AR program in the last 8 months with a minimum overall GPA of 2.3 (65% average) are eligible to register in this course.
Pre-requisite(s): Completion of all courses in Term 3 of the VR/AR Design and Development Diploma within the last 8 months with a minimum overall GPA of 2.3 (65% average)  
CMPT 2225  Credits: 3  
Data Structures & Programming  Total Hours: 60  
This course introduces students to data structures and algorithms, including their design, analysis, and implementation. Topics include object-oriented design and object-oriented programming with a study of inheritance, encapsulation and polymorphism, techniques for searching and sorting, time and space efficiency of algorithms, and practical data structures, including arrays, linked lists, stacks, queues, trees, heaps, priority queues, hash tables, and graphs. Programs are written in C++.
Pre-requisite(s): CMPT 1020 with a C and MATH 1120 with a C  
CMPT 2276  Credits: 3  
Intro to Software Engineering  Total Hours: 60  
This course provides an overview of software engineering practices used for development and management of information systems. Students are introduced to a variety of software development processes and major phases included in a software development lifecycle such as planning, requirements analysis, system design, implementation, testing, documentation, and maintenance. Different modeling tools and documentation skills are also discussed in this course. An introduction to project management issues and tools is also provided to give students a clear understanding about different roles and responsibilities of the members of a software development team. Students also apply these skills on a case study to complete a team project.
Pre-requisite(s): MATH 1120 with a 'C' and CMPT 2225 with a 'C'  
CMPT 2295  Credits: 3  
Intro to Computer Architecture  Total Hours: 60  
This course introduces students to computer system design and architecture and low-level programming. This course covers fundamental aspects of computer system design and the relationship between the computer architecture (hardware) and computer programs (software). Topics include number representations, digital systems, building blocks in a computer, CPU organization, bus structures, addressing modes, memory managements, computer interfacing, low-level-programming and system software. Students will be able to apply principles and concepts to improve program efficiency and runtime. Programs will be written in C and x86-64 assembly languages.
Pre-requisite(s): CMPT 1020 with a 'C' and MATH 1120 with a 'C'