Courses
Computer Programming and Analysis-2025/2026
Level 1 | ||||
Group 1 | ||||
BUSI-1156 | Strategies for Success | 1 | ||
This course presents and helps to develop some of the skills required to achieve academic and career success. Areas of focus include college resources, study skills, time management, academic integrity and calculating Grade Point Averages, among other skills. | ||||
MATH-1202 | Mathematics for Programmers | 3 | ||
This course will provide the student with the mathematics foundation required for programming in business, science, or engineering. Emphasis will be placed on practical applications within computing systems. | ||||
INFO-1214 | Programming Fundamentals | 6 | ||
This course is an introduction to the fundamentals of procedural / object oriented programming. Problem analysis and algorithmic thinking skills will be emphasized to develop good program writing technique. Content will include data types and variables, sequence, selection, repetition, data input validation, arrays, methods, searching and sorting data, the basic concepts of object oriented programming, and the use of an integrated development environment (IDE) tool for writing, testing and de-bugging code. | ||||
INFO-1215 | Database Fundamentals | 4 | ||
An introduction to relational database system design and development, by creating a variety of simple databases, based upon typical business requirements. Students build complete database solutions incorporating multi-table relational databases, forms, reports, queries, and test data. Students will also be introduced to the Structured Query Language. | ||||
INFO-1216 | Operating Syst Fundamentals-Programmers | 3 | ||
An introduction to fundamental concepts and components of modern Operating Systems (OS), from the perspective of a programmer. Details explored include: interact with hardware and software components, system structures, process management, storage management, installation, configuration, and administration both in theory and practice. | ||||
Group 2 | ||||
WRIT-1043 | Reason & Writing 1 for IT | 3 | ||
This course will introduce information technology students to essential principles of reading, writing, and reasoning at the postsecondary level. Students will identify, summarize, analyze, and evaluate multiple short readings and write persuasive response essays to develop their vocabulary, comprehension, grammar, and critical thinking. | ||||
WRIT-1034 | Reason & Writing 1-EAP | 4 | ||
This course will introduce students whose first language is not English to essential principles of reading, writing, and reasoning at the postsecondary level. Students will identify, summarize, analyze, and evaluate multiple short readings and write persuasive response essays to develop their vocabulary, comprehension, grammar, and critical thinking. Special attention will also be paid to developing academic vocabulary, correcting common ESL errors, enhancing academic listening and note-taking skills, and improving oral fluency and confidence. | ||||
Level 2 | ||||
Group 1 | ||||
INFO-1167 | Business At the Speed of Light | 3 | ||
Increasingly, technology is used as the underpinnings to enable a new global business model. This course explores the fundamental concepts of business as well as the technologies that are used to facilitate a new era of entrepreneurial opportunities. Students are introduced to the role of business and government and explore the various types of business, business & marketing operations, and financial resources management. In addition, students reinforce their knowledge of the subject matter through a series of case studies that explore the use of technology to solve business problems and enable new opportunities. | ||||
INFO-1217 | Web Design | 3 | ||
This course focuses on creating accessible, compliant, search-engine friendly web sites using the latest web standards. Students will learn to code clean, responsive pages with a consideration for basic design principles. Current web trends are explored and students will incorporate typography, css transitions, transforms and animations to create rich, interactive experiences. | ||||
INFO-3104 | Relational Databases & SQL | 3 | ||
This course builds on relational database concepts presented earlier and introduces the student to larger client/server database systems. Upon completion, the student will have demonstrated the ability to solve problems by designing database entities based on real world scenarios. Particular emphasis is placed on mastering the fundamentals of Structured Query Language (SQL) for creating and maintaining database objects, creating complex queries, and performing database administrative tasks. | ||||
INFO-3134 | Object Oriented Programming With Java | 4 | ||
Continuing from Programming Fundamentals, this course introduces the object-oriented programming concepts of encapsulation, inheritance, and polymorphism, class design using UML, exception handling, GUI development using the Swing and JFX packages, event-driven programming, and using the JDBC package to connect to databases. | ||||
INFO-1156 | Object Oriented Programming with C++ | 4 | ||
While C++ is very popular and the language of choice for game development and other performance-intensive applications, it is also significant in spawning other important languages such as Java and C#. This course introduces C++ (ANSI/ISO) in an Integrated Development Environment (IDE). An emphasis will be placed on improving software quality through unit-testing and debugging. The C++ Standard Library and Standard Template Library will be used for console I/O and data structure definition. The powerful Standard Template Library will be used to examine classic data structures and algorithms and how they impact software design and performance. | ||||
MGMT-3052 | Understanding Workplace Behaviours | 3 | ||
This course provides an understanding of the field of organizational behaviour through investigating individual, group and organizational behaviours. Students assess their work-related preferences/behaviours using self-assessment surveys and reflect on the match between those and career choices. Students study organizational design, organizational culture, people-centred management, social perception, self-concept & personality, values/attitudes & job satisfaction, motivation theory, group development theory, effective communication strategy, and conflict & negotiation then apply these concepts to the development of an organization's human resources. | ||||
Group 2 | ||||
INFO-1234 | Web Scripting-Intro | 3 | ||
This course will introduce students to JavaScript and its use in web page construction. Students will be introduced to object-oriented programming concepts using JavaScript and the Document Object Model (DOM) and various HTML controls. Object creation and customization will be covered, as well as exception-handling, event handling, and testing and debugging techniques. | ||||
INFO-3120 | Programming Commercial Game Engines | 3 | ||
This course introduces the use of a current commercial game engine, with the focus on programming, scripting, and the underlying math concepts in use to implement the graphical and physical simulation aspects. Following INFO-1150, it will focus on fundamental object oriented programming concepts such as encapsulation, inheritance, and polymorphism. | ||||
Level 3 | ||||
INFO-3070 | Client/Server Application Development | 3 | ||
This course helps the student to learn how client/server applications can be designed and deployed in layers. Projects incorporate JavaScript and jQuery clients making REST calls to a ASP.Net Core server. C# is used server side in conjunction with the Entity Framework, LINQ and a SQL Server database. | ||||
INFO-5052 | Advanced Databases | 3 | ||
This course will continue to build on knowledge that students have acquired from previous database courses. Students will be expected to design, implement and administer databases in the SQL Server environment. Advanced topics such as normalization, dimensional modelling, stored procedures, and various other complex tasks will be covered. | ||||
INFO-3140 | Object Oriented Analysis & Modeling | 3 | ||
This course provides the fundamental concepts of Object-Oriented software development using the C++ language. | ||||
INFO-3135 | Data Structures & Algorithms | 3 | ||
Students will learn common computer programming algorithms and the data structures used to implement them, emphasising the relationship between algorithms, programming, and data structures. Special focus will be on the underpinnings and implementations of various commonly used data structures. | ||||
INFO-1219 | Network Fundamentals for Programmers | 3 | ||
This course provides students with a comprehensive overview of computer networking from a programmer's perspective. Using a bottom-up approach to networking, emphasizing on the various types of access media, configuring intermediate and end devices, numbering, addressing, and services used in data networks. Understanding the technologies deployed for reliable and secure network communications. Students obtain the skills required to analyse and assess on how modern networks are implemented, with applied experience by teaching students how to design, install, use, and troubleshoot networks as it relates to computer networking and the impact it has on programmers | ||||
COMM-3077 | Communications for IT | 3 | ||
This course, designed for students who plan to work in the field of information technology, focuses on professional written communication skills. Students learn to prepare a variety of work-related documents. In addition, students learn about research methods and documentation formats. The principles of effective writing organization, grammar, style, clarity and tone are reinforced throughout the course. The goal of the course is to prepare students for the communication tasks and considerations they will encounter in the workplace. | ||||
COOP-1020 | Co-operative Education Employment Prep | 1 | ||
This workshop will provide an overview of the Co-operative Education consultants and students' roles and responsibilities as well as the Co-operative Education Policy. It will provide students with employment preparatory skills specifically related to co-operative education work assignments and will prepare students for their work term. | ||||
Level 4 | ||||
Group 1 | ||||
INFO-3181 | Full Stack Programming | 3 | ||
This course helps the student to learn how applications can be designed and deployed in layers. Projects incorporate JavaScript clients making REST calls to a server hosting the API, business objects and relational database. | ||||
INFO-3137 | Software Design Patterns 1 | 3 | ||
In this first of two courses exploring, implementing, and incorporating Software Design Patterns, students will learn what constitutes a design pattern, their components, and their application, using a managed language such as C#. A survey of creational, structural, behavioural, and architectural design patterns from the "Gang of Four" text will be presented. | ||||
INFO-3136 | Mobile Development | 3 | ||
This course consists of two independent units of study. The first unit focuses on developing a solid foundation of software development skills and introduces the requisite skills necessary for the development of mobile/wireless applications. The structure of the course allows students to gain valuable practical experience building reliable and secure mobile solutions that take advantage of the unique capabilities that mobile platforms allow. The second unit covers topics in advanced Java programming. Topics to be covered include advanced GUI development using Swing, JFX. Graphics, and multi-media classes, database access using JDBC, and an introduction to multi-threaded programming using the java.util.concurrent package. | ||||
MGMT-3036 | Professional Development-Career Planning | 3 | ||
This course introduces the student to the nature and role of Human Resource functions in an organization, with a focus on the implications for personal career management. Human resources planning and processes will be explored through class discussion, research and case study, from the perspectives of the employer and the employee / job applicant. Work search skills and resume writing will be included, along with an individual career management project. | ||||
INFO-3138 | Programming With Declarative Languages | 3 | ||
Declarative languages (like XML, HTML, and JSON) significantly enhance modern programming language, providing complementary tasks like modelling, constraining, formatting, and non-proprietary/platform-agnostic exchanging of information. Students will build applications employing commonly used declarative languages and technologies. | ||||
Group 2 | ||||
INFO-3105 | System Z COBOL Programming | 3 | ||
The main focus of this course is to provide hands on experience in the IBM Mainframe programming environment (SYSTEM Z). In particular the student will develop and maintain projects utilizing IBMs mainframe COBOL programming language on a real Mainframe class system using IBMs IDZ IDE. | ||||
INFO-3111 | C++ Graphics Programming | 3 | ||
Computer graphics, whether for games, business graphics, science or engineer has become a major part of commercial software development. Various 3D technologies and APIs are used for rendering high performance graphics on the Microsoft Windows, Linux, consoles, and mobile devices. This course is an introduction to 3D rendering using one or more modern 3D c/c++ APIs. | ||||
Level 5 | ||||
INFO-3139 | JavaScript | 3 | ||
Students learn advanced JavaScript techniques and good standard coding conventions. Students code a full stack web framework entirely in JavaScript. Node.js, MongoDB (NoSQL), and GraphQL are incorporated on the backend in conjunction with React.js components on the front end. Front end work also includes use of Material Design components to produce full featured progressive web applications installed on a public cloud and utilized by both mobile and desktop devices. | ||||
INFO-3112 | Managing Software Projects-Applied 1 | 3 | ||
This project-based course is designed to allow students to demonstrate the various software development skills that they have been exposed to in previous course offerings. Students are wholly responsible for the entire project development lifecycle. Students will work in project teams using various tools to develop a single comprehensive solution. The solution that they develop can be used as part of a portfolio for securing employment upon graduation. | ||||
INFO-5060 | Component-based Programming with .NET | 3 | ||
Technologies and platforms change, but the precepts of a component-based software architecture remain the same: develop reusable software components that can be deployed independently and linked dynamically at runtime. The first half of this course focuses on building and configuring .NET components while the second half examines distributed deployment techniques. | ||||
INFO-5125 | Software Design Patterns 2 | 3 | ||
In the second Software Design Patterns course, students delve deeper into the implementation and integration of both classic "Gang of Four" patterns and more recently adopted ones. The curriculum covers the advantages and disadvantages of patterns such as Proxy, Visitor, Chain of Responsibility, Command, Iterator, Strategy, Template Method, Model-View-Controller, Prototype, Interpreter, and Flyweight. Through practical assignments, students will demonstrate appropriate use cases for each pattern, solidifying their understanding and application of these essential software design principles. | ||||
INFO-5101 | C# Advanced Topics | 3 | ||
In this course students will examine a variety of advanced topics in .NET application development using the C# language. One of the main themes of the course will be the evolution of the C# language from the initial version 1.0 up to the current 6.0 and how each subsequent evolutionary step, built on the previous version has ultimately lead to the powerful development tool programmers use today. Along the way, the course will cover topics such as delegates, iterators, lambda expressions, LINQ, dynamic binding and asynchrony. In addition, students will have the opportunity to explore the role played by the .NET Framework and CLR (Common Language Runtime), including garbage collection, JIT compilation and other performance related considerations. | ||||
INFO-3141 | Mobile Development-Inter | 3 | ||
This second mobile application course continues the exploration GUI development using cross-platform mobile development methodologies, toolsets, languages, and APIs. A primary focus is designing and building effective business based data collection and display applications, in addition to the design differences between mobile, web, and desktop devices. | ||||
Level 6 | ||||
Group 1 | ||||
INFO-3068 | Secure Computing | 3 | ||
From the most sophisticated automated exploit tools to a toy whistle from a box of Captain Crunch cereal, over several decades hackers and crackers have abused system defects for fun and profit. This course focuses on how software developers can build 'hardened' systems that are more resistant to attacks preventing financial losses and damage to the organization's reputation. Not only will students learn how attackers think and operate but will apply that knowledge to secure and improve common web applications. | ||||
INFO-5153 | Enterprise Programming | 3 | ||
The focus of this course is to develop a cloud-based server application in conjunction with mobile web clients. The server application will be developed and deployed in a container on Amazon's cloud to serve web clients written with a current JavaScript framework. | ||||
INFO-5126 | Mobile Development-Adv | 3 | ||
The third mobile development course includes topics on: current technologies and architectures for mobile-enable enterprise applications, multi-media programming, and multi-threaded programming. Students get practical experience with the unique advantages, capabilities, and challenges of mobile development, building reliable and secure mobile-based solutions. | ||||
Group 2 | ||||
INFO-5104 | C++ Advanced Topics | 3 | ||
This is the capstone course in the C++ stream, examining advanced topics in C++ systems programming. The major topics covered are process and thread management, and both intra- and inter-process communications. Solutions will employ the skills developed in all previous C++ and design patterns courses. | ||||
INFO-3142 | Emerging Technologies | 3 | ||
This course provides an overview and practical application of emerging technologies such as artificial intelligence, machine learning and data analytics. Students will have the opportunity to experiment with specific machine learning and deep learning applications and tools, utilizing both supervised and unsupervised models. | ||||
Group 3 | ||||
INFO-5103 | Managing Software Projects-Applied 2 | 5 | ||
This project-based course is designed to allow students to demonstrate the various software development skills that they have been exposed to in previous course offerings. Students are wholly responsible for the entire project development lifecycle. Students will work in project teams using various tools to develop a single comprehensive solution. The solution that they develop can be used as part of a portfolio for securing employment upon graduation. | ||||
INNV-5001 | Innovation Applications | 3 | ||
Organizations and individuals need to be innovative to succeed in the complex and rapidly-changing global market place. In this course you will learn the fundamentals of innovation and how innovation applies to your discipline or field.Using this foundational knowledge, you will select and apply the novel and adaptive thinking processes and tools presented in the course to complete an innovative learning project in collaboration with other students. The project will be based on a real-world scenario identified in consultation with your professor. The project may involve an external live client and a multi-disciplinary approach. Throughout the course, novel and adaptive thinking skills and collaboration skills will be evaluated [and developed for GC and degree] through self assessment and peer assessment. This course is designed to give students in advanced diploma programs the opportunity apply innovative thinking to a real-world problem that they select. | ||||