Program Overview

Program Brochure 2023-24
Computer Science Technology
Application deadline

March 1 for Fall Semester

Minimum admission requirements

Quebec Secondary School Diploma or a level of education that is deemed equivalent by the College.

Prerequisites

Mathematics TS/SN4 or CST 5

About the program

Computer Science Technology is a three-year career program designed to provide you with a strong background in object- oriented methodology, particularly in program design and system analysis. Web concepts are integrated into courses and develop dynamic database-driven web applications on various operating system platforms. The program will focus on computer programming, operating systems, database and web technology, data communication and networking, security, and advanced programming languages.

Students in the Computer Science Technology diploma program will benefit from our modern facilities where every course uses a combination of class and laboratory time with access to the most recent versions of software. As a bonus, each student benefits from access to the same software for use on their own devices as part of our academic alliances with software vendors. Staff, faculty, and student advisors are committed to helping you succeed and prepare for a stage-training program in Semester 6 in an external business institution.

The program features a well-rounded blend of technologies that will prepare you to graduate as a developer, technician, or administrator of technologies in various industries. Our advisory committee of IT business professionals reviews the offerings each year and suggests adjusting the curriculum to reflect current and forecast computer technology needs.

You will learn to:

  • Client-server development
  • Cloud development
  • Computer and networking support
  • Computer Programming
  • Database design and administration
  • Gaming
  • Internet of Things
  • IS Security
  • Mobile app development (Android and iOS)
  • Modern Systems Analysis and Design
  • Operating Systems Object-oriented methodology
  • Problem Solving
  • Software Design

The possibilities

The program prepares you for various careers such as software developer, information systems specialist, PC specialist, and more. The technical and business skills you will learn in Computer Science Technology will qualify you for some of the most dynamic in-demand jobs in the computer industry today. Students may also pursue university studies in many fields, including software engineering, business, or other science programs.

Program Grid

Computing / IT Fundamentals

In this course, students will become familiar with the basic principles of a personal computer, including the internal
hardware, the operating system, and software applications. They also become familiar with the fundamental computing
and information technology (IT) skills and concepts required to maintain, support, and work efficiently with any type of
computer. Students will gain practice in using key applications such as Microsoft Word, Excel and PowerPoint as well as
understand social and ethical issues around the Internet, information and security. The objective is to provide students with an understanding of the role of computer-based information systems, primarily in business organizations, and the technical skills required to work with a variety of technologies. This course will also help to equip students with the ability to apply information technologies tools that are used in many of our program courses.

Object Oriented Programming with Java 1

This course introduces computer programming using the Java programming language with object oriented programming (OOP) principles. OOP is the most popular type of computer programming for software development and is embodied in a wide range of languages of which Java is the most widely used. In this course, you will develop classes, class components, instantiations, method parameters, arrays, file IO and testing file access errors that will prepare you for the second courses in programming. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger, JUnit and UML.

User Experience / Web Interface Design

This course introduces strategies and tactics necessary to design user interfaces, with particular emphasis on creating user interfaces for mobile devices and devices that can be used to access the web. You will learn how to concept, code, and publish your own standards-based content for formats for websites building your knowledge of languages such as HTML, CSS, and a framework. You will understand the fundamentals of form and function that go into a user-friendly online
experience. Students work on developing logical, intuitive, and clear interfaces by learning how users interact with
different types of sites. Concepts and techniques covered include structured approaches for helping you understand your user base and their needs, widely-employed prototyping and design methods, and robust techniques for helping you evaluate your design choices and testing for different types of browsers.

Mathematics for Computer Science

This course is an introduction to topics in mathematics related to computer operations: binary, octal and hexidecimal
number systems and computer codes and arithmetic; sets, relations, Boolean expressions and logic; vectors, matrices, and their application to computer graphics. It will give students the mathematical knowledge needed for the analysis of computing and information systems and the analytical skills that are required by any professional in an information technology field.

English

Humanities

French

Physical Education

Configuring, Managing and Maintaining Computers

This course introduces managing and maintaining computer hardware and software. The main purpose of this course is to provide students with the necessary skills to work in an IT support professional capacity. You will learn how to install,
repair, configure, secure, and manage computer hardware, operating systems, and software in home or corporate
environments. Topics include component identification, memory-system, peripheral installation and configuration,
preventive maintenance, hardware diagnostics/repair, installation and optimization of system software, commercial programs, system configuration, and device-drivers. Students should be able to select appropriate computer equipment
and software, upgrade/maintain existing equipment and software, and troubleshoot/repair non-functional personal computers. The computer simulator facilities is used to facilitate the learning by modelling a technical support
environment.

Object Oriented Programming With Java 2

This programming course builds on the first level Java course, and goes deeper into programming topics that help you to
understand these more advanced Java concepts. This course introduces students to intermediate and advanced features of the Java programming language. Some of the advanced topics that will be covered include generic programming, sequential and associative data structures associated to efficient algorithms, classes inheritance, polymorphism, and interfaces. This course will also provide a deeper look of exception handling, Collections, GUI development, lambdas, streams, and applying (software) design patterns.

Operating Systems using Linux

This course provides a practical coverage of operating systems and networking by using Linux, a widely used open source operating system. Topics discussed in this course include basic concepts of operating systems, Linux Kernel, system management basics, task scheduling, disks and devices, file systems, memory system boots, basic concepts of networking configurations/services, graphical interface, command line operations, file operations, user environment, text editors, bash scripting, networking, common applications, and shell scripts. Upon completion of this course, you should have a good working knowledge of Linux from both a graphical and command line perfectives allowing you to easily navigate through any of the major Linux distributions.

Web Programming and JS Libraries

In this course, the student will be introduced to the syntax of java script and then learn advanced web page layout and
responsive design tools such as Bootstrap. You will also learn how browsers represent a web page data using the Document Object Model (DOM) and how to develop dynamic, interactive web pages using JavaScript in the browser. You
will work with jQuery, which provides functionality for simplified DOM manipulation and event handling. This course will also introduce you to modern web frameworks and component-based libraries such as React. js for efficiently developing modular web page components, and D3.js for creating data-driven documents. We will also cover how to represent and exchange data using JavaScript Object Notation (JSON), and how to access RESTful APIs on the web (also referred to as a RESTful web service).

Project Management with Quantitative Methods

This course provides you with an overview of project management and the essential tools needed to deliver successful
projects on time and on budget. You will learn the fundamental principles including: project initiation, project definition, creation of work breakdown structures, scheduling using Gantt charts and network diagrams, risk management, budgeting and controlling resources, quality assurance, auditing and project termination. An integral component of project management is using statistics in dealing with uncertainty that affects all planning. In the second half of this course, students will learn how to use statistics to support the planning process as well as how to quality assure a project including the construction of tables and graphs, the use of descriptive measures such as means and medians, the description of relationships between variables, the use of sampling and the interpretation of statistical results.

English

Humanities

French

Database Design and Introduction to SQL

This course introduces students to basic data modelling, design, and implementation concepts and techniques. Entity Relationship modelling technique is described in detail and applied to develop conceptual and logical models. Database
SQL programming is supported by implementing a physical database based on a normalized logical model. The deep
utilization of SQL commands to define database objects and manipulate the data in databases will be emphasized.

Networking and Security

This course provides the student a full overview of computer networking. In this course, we will cover from the fundamentals of modern networking technologies and protocols to practical applications and network troubleshooting. By the end of this course, you will be able to describe computer networks in terms of a five-layer model; understand the standard protocols involved with TCP/IP communications; know powerful network troubleshooting tools and techniques; work with network services like DNS and DHCP that help make computer networks run. As a requirement of this course,
you will be required to install and customize a Windows server machine according to user specifications. The second part of the course introduces students to the most current trends and issues related to computer, network, and web security. In this part of the course, you will learn and practice the technical skills required to deal with these threats.

.NET Development

C# (C Sharp) is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. In this C# training course, you will gain the programming skills needed to create applications using the C# language. You will learn the basics of C# program structure, language syntax, and implementation details. Use of C# in all three tiers is discussed (user interface, business logic and data access) with focus on proper object-oriented coding.

Java Web Programming

This course starts from the fundamentals of web application development using Java Server Pages (JSP). It will cover the theory of enterprise-level web applications and several enterprise Java technologies such as JSP, Servlets, JSF and Spring to create dynamic, high-performance scalable web applications. The course also includes best practice tuition such as Model View Controller and similar design patterns, using JavaBeans and listeners. Students will build a variety of web application prototypes through this very practical course.

Introduction to IoT (Internet of things) & Embedded Systems

The growth of the ͞Internet of Things͟is changing our world and the rapid drop in price for typical IoT components is
allowing people to innovate new designs and products at home. In this first course in the program you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. Well also cover key components of networking so
that students understand how to connect their device to the Internet

Fundamentals of Business and Entrepreneurship for IT Professionals

This course is designed to introduce the students to the understanding of business activities in the real world, including
becoming an entrepreneur. The student will examine the main functions found within a business enterprise. This will
include an overview of marketing, finance, human resources and production. An appreciation of how each function relates to the success of the overall organization is the key component. The student will enrich his/her business vocabulary and
develop a better understanding of the external environment affecting any business organization. It has two goals: (1) to teach students sufficiently about business fundamentals so that they are better able to create applications and solutions that are appropriate to a business setting; (2) to inform student coders of entrepreneurship as a viable outcome of the program.

English

Complementary

Physical Education

Web Development with PHP

This course provides the student with the knowledge and skills required to create dynamic documents using PHP. This
course focuses on advanced topics of PHP web application development like securing web applications, developing shopping carts, authentication, interacting with the file system and server, generating images, controlling sessions, creating an email service, calling web services, and integrating AJAX. You will also learn how to properly structure web applications using a Model-View-Controller design pattern. You will be able to create secure e-commerce web applications using PHP and MySQL.

Systems Analysis and Design

The course begins with an overview of object-oriented analysis and design and fundamentals of business modelling. In this course, students will learn how to produce detailed object models and designs from systems requirements; use the modelling concepts provided by UML; identify Use cases and expand them into full behavioural designs; expand the
analysis into a design ready for implementation and construct designs that are reliable for the organization and users.

Mobile Application Development 1: Android

This course introduces students to the capabilities of the Android tool kit and the essential application programming
interfaces (APIs) and tools that enable the development, back-end integration, security, and management of cross-platform mobile applications. Students will be encouraged to develop an app ready for deployment on the Android app store.

Game Development with the Unity Cross-Platform Game Engine

This course is offered to our students who want to learn how to make games. Making games is a creative and technical art form. This course will familiarize you with the tools and practices of game development. You will get started developing your own video games using the industry standard game development tools, including the Unity3D game engine and C#. At the end of the course, you will have completed hands-on projects and will be able to leverage a collection of game development techniques to create your own basic games. This course aims to satisfy your interest in playing the role of a game designer, game artist, or game programmer.

Web Services and Distributed Computing

This course covers the basic principles and practices of distributed computing over the Internet. The course focuses on the Internet as a domain for sharing resources with distributed computing with Web services, and service-oriented computing. The Internet is increasingly used as a large interconnection network for deploying distributed applications to solve challenging problems in diverse areas. In this course, you will learn the foundations of Internet computing and use modern frameworks to develop Internet-based applications with Web services, and other technologies.

English

Humanities

Physical Education

Database Administration and Security

The aim of this course is to introduce students to the basic database management administration concepts and practice on the Microsoft SQL server and Oracle environments. Database architecture, database installation, creating database, database instances, asm instances, network environment, storage structures, user security, concurrency control mechanisms, database auditing and maintenance, performance management, backup and recovery concepts, moving data, database restart are among the topics that will be covered in this course. Programming scripting will use T-SQL, PL/SQL to complete administrative functions.

Mobile Application Development 2: iOS

This course will introduce you to iOS app development in Swift, Apple’s programming language for iOS devices, and serves as your launching point into programming for iOS. The objective of the course is to enable you to build an iOS application using the standard Apple tool chain. Requirements for the course will be met by the student demonstrating an ability to develop an application which implements a coherent data model, a view with layout, drawing and touch handling, asynchronous network access, and proper ViewController design along with usage of a number of the standard Apple-provided ViewControllers. Students will be encouraged to develop an app ready for deployment on the iOS app store.

Final Project 1

This is the first of a series of two courses wherein the student puts into practice the expertise and knowledge they have gained throughout the program. Student learning experiences are heightened by project examples and assignments. Working as a member of a small team, students create a near-complete information system for a small enterprise, business or entrepreneur with deliverables that must be realistic, measurable and obtainable.

Azure for SQL Developers with ASP .NET and MVC

ASP.NET supports a number of programming models for building web applications. The focus of this course is on coding activities that enhance the performance and scalability of a web application. ASP.NET MVC (which allows for building web pages using the modelʹviewʹcontroller design pattern) will be introduced and compared with Web Forms so that students know when each could be used. Students will also learn about ASP.NET 4.5 and be introduced to the web forms, web pages, and MVC programming models. This course will show students how to deploy a data-driven ASP.NET web app in Azure and connect it to Azure SQL Database.

IoT: Design and Prototyping of Connected Devices

This course covers the design, creation, and deployment of embedded systems. The Raspberry Pi Platform, and the Arduino environment will be utilized for building devices that can control the physical world. In the course project, you will apply the skills you learned by designing, building, and testing a microcontroller-based embedded system, producing a unique final project suitable for showcasing to future employers.

Professional Integration and High-Tech Entrepreneurship

Recognizing that many students in this program aspire to work for themselves, this course will take students through the
process to conceive, create, run and potentially sell a business. The goal is to provide solid background with practical
application of important concepts for our students who see themselves as entrepreneurs. The course relies on classroom discussion, participation, guest speakers, basic case analysis and creation of a business plan based on each student’s
specific area of interest. Students will also perfect their business acumen skills so that they know how to present themselves in any business/work situation such that they achieve the outcome that they wish to secure. This is meant as a capstone course in that the work generated in the course represents new ideas for students and gives them the opportunity to demonstrate the knowledge and skills they have gained during their program.

Complementary

Final Project 2

This course gives students experience designing, implementing, testing, and debugging large programs. Students will also get advanced programming experience; covering topics such as inheritance, multithreading, networking, database programming, and web development. In this course students learn about Gt Hub which is a development platform to host and review code, manage projects, and build software. This course implements the project started in Final Project 1.

Internship (Field Experience)

This twelve-week work study experience provides the student with the knowledge and skills acquired within a real-world situation, and to become familiar with one company’s approach to the IT industry. Students will gain invaluable work experience and hone their communication, time management, planning and group interaction skills. This course requires students to spend 12 weeks of internship working with our partners in industry and commerce to put in practice their knowledge and skills acquired in the program and to adapt their knowledge and skill set to new challenges.

Managing Big Data for Connected Devices

Big data is very popular buzzword in IT industry. The spread of IT technologies with digital storage and recording media has created massive amounts of diverse data, which can be used for marketing campaigns and many other purposes. The course gives an overview on extracting value using predictive analytics techniques for the different formats that includes video, sound, images and more.

Comprehensive Assessment (Meeting The Graduate Profile)

This course is about preparing and defending a portfolio that students develop used as an assessment tool and a general record of student achievement. The portfolio as a collection of papers, digital documents and other forms of evidence that learning has taken place. It allows the collation and integration of evidence on competence and performance from different sources to gain a comprehensive picture of the student͛s capacity at attaining the competencies of the program. Students will present their portfolios as part of the course work for review and evaluation. The evaluation is based on the ability to demonstrate adequate mastery of the program competencies and the exit profile elements, software skills in the form of the ability to develop applications that respond to specific challenges, and communication skills, specifically the student demonstrating the capacity to express the thoughts in both the written and oral forms

Ready to apply?

Click here to find all the information you need to complete your online application.

How to apply