This diploma program focuses on preparing
you to work as a programmer requiring the application
of current programming policies, practices, procedures
The two options are:
– IT, System Programming - Embedded Programming Diploma
– IT, System Programming - Embedded Programming Diploma with Co-op
This Co-op diploma program focuses on preparing you to work as a programmer requiring the application of current programming policies, practices, procedures and tools. This program will give you the theoretical knowledge and hands-on skills in industry standard programming languages, C and C++. You will also become very proficient at assembly language, a low level programming language used in architecture specific solutions
Grade 12 graduate or mature student status (British Columbia, 19 years or older)
Meet minimum English language proficiency requirements.
|Total instructional hours||960 (No Co-op) – 1040 (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)|
- 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 businesses of all sizes, as, for example, help desk and technical support, data center operators, network administrators and network support analysts.
|ICR100||Information Technology Essentials||40|
|ICR110||Problem solving and analytical thinking||40|
|ICR130||Scripting for web development||60|
|ICR140||Database design and modeling||40|
|IGP310||Object Oriented Programming||160|
|IGP320||System Programming Workshop||20|
|IEP300||Algorithm and deisgn patterns I||40|
|IEP310||Low level programming||80|
|IEP400||Algorithm and deisgn patterns II||40|
|IEP410||Embedded systems programming||40|
|CAP200||Co-op Prep. Workshop||80|
☒ In-class instruction
☒ Distance education
☒ Combined delivery (both in-class and distance
ICR100 Information Technology Essentials
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 Problem Solving and analytical thinking
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.
ICR120 Markup Essentials
ICR130 Scripting for Web Development
ICR140 Databases Design and modeling
This is an introductory database course. Students will be introduced to the role and function of databases and to accepted database design and development methodologies. You will also be introduced to database software manipulation systems using Classic ASP and Microsoft Access tools.
IGP300 System Programming
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
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 System Programming Workshop
In this course students will apply what they have learned to a programming problem.
IEP300 Algorithm & Design Patterns I
Programing 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.
IEP310 Low Level Programming
Assembly language is the oldest programming language, and of all languages, bears the closest resemblance to native machine language. It provides
direct access to computer hardware, requiring users to understand much about their computer’s architecture and operating system. This course focuses on
programming microprocessors compatible with the Intel IA-32 and AMD x86 processors running under Microsoft Windows. The x86 processor type is appeared in the Intel 80386 processor and continued with processors such as the Intel Pentium, Intel Pentium 4, Intel Pentium Core Duo, and the Advanced Micro Devices (AMD) Athlon.
IGP420 Portable Programming
In this advanced course students will explore the Java language along with related Java classes from simple applets to advanced servlets. In this course students will also learn object oriented terminology and concepts. Students will learn to create classes and implement inheritance and polymorphism.
IGP400 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.
IEP400 Algorithm and 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.
IEP410 Embedded Systems Programming
ANSI C and C++ are extensively used beside assembly language to program embedded systems. Any smart device which has the capability of being programmed has a chip in it that is programmed by Assembly, C or C++. In this course students will learn how to program micro controllers or other chips using C and C++ and taking advantage of Arduino development Environment.
CAP200 Co-op 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.
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.
Methods of Evaluation
Course grading is indicated on each course outline. Generally, the assessment will consist of quizzes, exams, and assignments.
Required Course Material
Not all courses may have textbooks. Textbooks are listed on the course outline. Textbooks may not be available through the college.
Computer and requisite software are provided at the college. No other equipment is required unless otherwise indicated on the course outline.
Course currency and relevancy may change depending on the requirements of the industry. The school may make changes at any time. Changes will be effective when made.
For proof of English Language Proficiency please refer the Student Handbook.