Computer Engineering Technology – Computing Science

Students in the Computer Engineering Technology – Computing Science program at Algonquin College learn all aspects of programming/software development in preparation for employment in a variety of industries, including Scientific, High Tech, Government, Web, Game, and Mobile.

To see the full program course map, please download the following PDFs:
– 2015-2016 Program Map
2016-2017 Program Map

Mobile DeviceBring Your Own Device (BYOD): As a student in this on-campus program, you will require a mobile computing device that meets the specifications outlined by your program at

(Please note this was previously referred to as a Mobile Learning Program)

Another Mobile Device ImageeTextbooks: As a student in a program that has adopted etextbooks, your required texts and digital resources will be provided to you at the beginning of each term (with the exception of general education electives). For more information and associated fees, go to

Related Programs:
Computer Programmer (Ottawa Campus)
Computer Systems Technician (Ottawa Campus)
Computer Systems Technology – Security (Ottawa Campus)
Computer Systems Technician (Pembroke Campus)

Ontario College Advanced Diploma
3 Year(s)

Program Code: 0006X01FWO
Academic Year: 2016/2017

Our Program

This three-year Ontario College Advanced Diploma program prepares students for an information technology (IT) career in the private or public sectors. Students gain the knowledge and skills to use a broad range of IT-based analytical thinking and problem-solving skills in support of the day-to-day operation of an enterprise`s software systems or in the development of new systems.

The curriculum covers a variety of programming languages (Java, C#, C++, C, and others) and operating systems (Windows, Unix/Linux, and QNX). In addition, students study the development tools and debugging techniques used to design, code, and test integrated and/or embedded applications and software systems.

In their final year, students work in teams on sponsored real-world projects to develop a comprehensive application as part of the software engineering portion of the program. In Level 06, students select an elective course from an approved list in areas which include graphics/multimedia, advanced database programming and advanced web programming.

Approximately two-thirds of the curriculum consists of courses in systems programming, software development, testing and maintenance. The balance of the curriculum consists of courses in technical communications skills (both oral and written), mathematics and general education electives.

Students have access to modern computing facilities. A large internal network provides access to the Internet and offers an extensive variety of software, some of which is available at minimal cost to students through the department-sponsored Microsoft DreamSpark Alliance, other vendor agreements and from software supplied under the BYOD technology program.

This program offers an option for three cooperative education (Co-op) Work Term(s). Qualified students with a minimum GPA of 2.7, have the opportunity to apply for paid co-op employment to gain valuable work experience and networks within industry. * See Additional Information for more details.

This program participates in Algonquin`s etext initiative. All required texts and digital resources are provided to students and can be accessed for life from up to four devices simultaneously.

There are two program start dates each year at the beginning of the Fall and the Winter Terms. Program progression varies depending on the term in which students begin the program.

Bring Your Own Device (BYOD): Students are expected to have and use a laptop or mobile computing device when registered in this on-campus program. A Windows-based laptop with Intel i5 processor, 12G RAM and minimum 500G hard drive is required. Hardware and software specifications required by your program are outlined at Mobile devices/laptops and supplies can be purchased directly from Algonquin`s New Technology Store at educational rates.


This program is well-suited for students who:

  • Can work effectively in a teamwork environment.
  • Can apply critical and analytical thinking and have good problem-solving skills.
  • Are imaginative, attentive to detail and enjoy challenging their minds.
  • Are interested in computers and various software applications.
  • Have a strong commitment and dedication to their studies.

Your Career

Graduates may find employment as systems, integration, and applications programmers and/or testers, and as customer service representatives providing training and product support to clients of high technology corporations. Graduates may also pursue careers in such diverse areas as game and multimedia development; GUI (graphical user interface) development; IT communications, IT security, real-time and database systems; web-based applications; and technical roles in all levels of government (federal, provincial and municipal).

Learning Outcomes

The graduate has reliably demonstrated the ability to:

  1. Diagnose, solve, troubleshoot, and document technical problems involving computing devices using appropriate methodologies.
  2. Integrate multiple software and hardware components using appropriate network architecture.
  3. Participate in analyzing, planning, designing, and developing the architecture of computing devices and systems.
  4. Plan, install, configure, modify, test, and maintain a variety of computer systems to meet functional requirements.
  5. Apply principles of digital and analog circuits to the implementation of embedded computing devices.
  6. Analyze, build, test, implement, and maintain applications.
  7. Evaluate and document security issues associated with a variety of computing devices and propose alternatives to increase product
  8. Articulate, defend, and conform to workplace expectations found in technology environments.
  9. Contribute to the successful completion of the project applying the project management principles in use.
  10. Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship.


Programs at Algonquin College are delivered using a variety of instruction modes. Courses may be offered in the classroom or lab, entirely online, or in a hybrid mode which combines classroom sessions with online learning activities. Upon registration, each full-time student is provided an Algonquin email account which is used to communicate important information about program or course events.
Level: 01 Hours
CST8101 Computer Essentials The essentials of computer software, hardware, and laptop management form the foundation for building further technical programming skills. Learn to configure your laptop environment, basic PC and SOHO router configuration and troubleshoot problems. Create backups, install virus protection, and manage files through a basic understanding of the Windows Operating System. Install and configure the Windows Operating System, and a virtual machine environment. Explore computer architecture including basic numerical systems, Boolean logic, functional hardware and software components needed to run programs. 60.0
CST8110 Introduction to Computer Programming Learn the fundamental problem-solving methodologies needed in software development, such as structured analysis, structured design, structured programming and introduction to object-oriented programming. Use pseudocode, flowcharting, as well as a programming language to develop solutions to real-world problems of increasing complexity. The basics of robust computer programming, with emphasis on correctness, structure, style and documentation are learned using Java. Theory is reinforced with application by means of practical laboratory assignments. 75.0
CST8215 Database Learn a solid theoretical and practical understanding of database systems. Topics include the Structured Query Language (SQL); database analysis, design, and implementation; embedded SQL database administration; and security; and performance issues. Students are provided practical exposure to databases, such as MySQL, ProGres, Oracle and/or SQL Server. 75.0
CST8300 Achieving Success in Changing Environments Rapid changes in technology have created personal and employment choices that challenge each of us to find our place as contributing citizens in the emerging society. Life in the 21st century presents significant opportunities, but it also creates potential hazards and ethical problems that demand responsible solutions. Students explore the possibilities ahead, assess their own aptitudes and strengths, and apply critical thinking and decision-making tools to help resolve some of the important issues in our complex society with its competing interests. 45.0
MAT8100 Essential Mathematics The study of algebraic and transcendental functions is an essential prerequisite to Calculus. Students manipulate algebraic expressions, solve algebraic equations and linear systems, and learn the properties of algebraic and transcendental functions. Students graph a variety of functions and solve problems involving complex numbers, trigonometry and vectors. 45.0
Level: 02 Hours
CST8102 Operating System Fundamentals (Gnu/Linux) Learn the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Explore the details of operating system structures, process management, storage management, installation, configuration, and administration both in theory and through practical assignments based on the GNU/Linux operating system. Lab exercises are designed to demonstrate how to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.

Prerequisites: CST8101
CST8108 Network Programming Basics Software programming in today's environment requires detailed knowledge of the underlying network topology and its implementation. Gaining an appreciation and perspective of this technology is imperative to developing good network programming applications. Topics include the basic structure and design of networks, layered communications models, industry standards for network media and protocols with an emphasis on data communications, TCP/IP protocol suite, Ethernet and socket programming. Labs include practical exercises in using socket programming along with common networking tools for diagnosing and troubleshooting typical network programming problems. 75.0
CST8132 Object-Oriented Programming Learn extended Object-Oriented Programming concepts and develop the solid programming skills that are prerequisites for higher-level courses. Java is used to illustrate the theoretical concepts and develop solutions to real-world problems of increasing complexity.

Prerequisites: CST8110
ENL1813T Communications I Communication remains an essential skill sought by employers, regardless of discipline or field of study. Using a practical, vocation-oriented approach, students focus on meeting the requirements of effective communication. Through a combination of lectures, exercises, and independent learning, students practice writing, speaking, reading, listening, locating and documenting information and using technology to communicate professionally. Students develop and strengthen communication skills that contribute to success in both educational and workplace environments. 45.0
MAT8201 Calculus 1 Calculus is used to determine many important physical quantities. Students differentiate algebraic and transcendental functions and sketch various curves. Students integrate simple algebraic and transcendental functions. Students use integration to solve applications relating to their program of study, such as the area under a curve, the coordinates of the centre of mass and the moment of inertia for thin plates.

Prerequisites: MAT8050 and MAT8051 or MAT8050P and MAT8051 or MAT8100 or MAT8100P
Level: 03 Hours
CST8130 Data Structures Learn to use a variety of data structures and associated processing algorithms to manage massive amounts of data. Explore concepts using Object-Oriented Programming (in Java). Implement some solutions using first principle coding and others using predefined Collection and Map classes. Master techniques to assess the relative performance of alternative solutions (Big-O analysis) and make well-reasoned choices of selected data structures.

Prerequisites: CST8132
CST8216 Processor Architecture Students learn how logic circuits are used in typical microprocessors. Elementary electronic components, basic numerical systems and operations, Boolean logic and logic gates are explored with their relationship to a microprocessor/microcomputer. Students also learn microcontroller programming using assembly language. The theory is supported by lab exercises involving the creation and analysis of logic circuits using simulation software and the programming of a microcontroller.

Prerequisites: CST8101
CST8234 C Language Students learn the basics of the C Programming language. Building upon the foundation laid in prerequisite courses, application design, development, debugging and testing in the Unix/Linux operating system environment are addressed. Topics covered include regular expressions, memory management, I/O and file system resources (buffered and unbuffered), and safe programming practices are emphasized.

Prerequisites: CST8102 and CST8110
CST8238 Web Programming Students learn website design and implementation. HTML5, JavaScript, PHP and XML are used to explore web-based solutions to problems of increasing interactivity and complexity. Online lectures are reinforced by practical assignments that encourage students to construct and maintain their own websites.

Prerequisites: CST8108 and CST8110 and CST8215
ENL2019T Technical Communication for Engineering Technologies The ability to communicate effectively in a technically-oriented interdisciplinary workplace is a foundational skill in an innovation-driven economy. Students are exposed to exercises and assignments designed to foster independent and collaborative critical thinking, research, writing, visual communication and presentation skills related to technical topics.

Prerequisites: ENL1813T
Co-op: 01 Hours
WKT8001 Work Term I Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed. 0.0
Level: 04 Hours
CST8152 Compilers Introduction to the basic principles, techniques, and tools used to translate text expressed in one language to equivalent text expressed in another language. The concepts discussed and the programming concepts studied in previous courses are applied to develop and program the front-end of a simple compiler or interpreter using ANSI C as implementation language. The ideas and techniques discussed could be applied to general software design and to parsing of structured files, such as HTML, XML, register and configuration files.

Prerequisites: CST8234
CST8219 C++ Programming Learn C++ building on the concepts of memory management and object-oriented programming studied in other languages in previous courses. Used as a language of choice for highly efficient application development particularly on the Windows platform, the C++ language expands the C paradigm to include encapsulation, inheritance and polymorphism. In addition, standard libraries, such as the Standard Template Library is introduced as ready-made frameworks for application development.

Prerequisites: CST8234
CST8221 Java Application Programming Students learn advanced Java technology by developing multi-tiered applications featuring a rich graphical user interface (GUI). Students also learn how to build a GUI, object-oriented design patterns, networking, multi-threading and database connectivity and deployment.

Prerequisites: CST8130
CST8233 Numerical Computing Learn the usefulness and power of numerical computing methods to perform a wide range of engineering and scientific tasks. Using C/C++ as the underlying programming languages, algorithms are studied and used to write applications that analyze and process real-world data. These include statistical data analysis, solving sets of linear and ordinary differential equations, interpolating and fitting data (including Fast Fourier Transforms), numerical differentiation and integration and simulating Real-World dynamics with Newton's Laws (as examples of differential equations).

Prerequisites: CST8234 and MAT8201
Choose one from equivalencies: Hours
GED0006X General Education Elective Students choose one course, from a group of general education electives, which meets one of the following four theme requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology.

Equivalencies: ARC9001 or DSN2001 or ENV0002 or FAM1218 or GED1896 or GED5002 or GED5004 or GED5005 or GED5006 or GED5300 or GED6022 or GEN1957 or GEN2000 or GEN2007 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or RAD2001 or GED5003
Co-op: 01 Hours
WKT8002 Work Term II Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Prerequisites: WKT8001
Level: 05 Hours
CST8218 Web Enterprise Applications Expand on HTML, Java, and database knowledge to develop skills in building scalable applications built using the Java Enterprise Edition framework. Students apply these skills in developing a web application project that supports mobile devices with a database layer, business logic, presentation logic and client-side components. Design topics involve project management of Web projects (Agile methods), business continuity and failover, using XML and AJAX, internationalization and locale-dependent data entry, web security and cryptography, privacy principles, open data, use of brokers and Model-View-Controller frameworks.

Prerequisites: CST8221 and CST8238
CST8227 Interfacing Specific constraints, challenges, and attributes that are unique to mobile and embedded systems are explored. The role and capabilities of such compact systems in today's world is analyzed, with detailed reference to available processing speed, storage and power consumption. Students gain knowledge of sensors and actuators, their operational parameters and characteristics. Methods for interfacing, sampling, and controlling the devices are studied, including polled vs. interrupt driven, D to A and A to D conversions and simple digital vs. PWM outputs. Practical lab exercises include interfacing to real world devices using a small embedded development board and using a smartphone to provide the UI and control.

Prerequisites: CST8152 and CST8216
CST8353 Software Design and Testing The requirements definition phase of software development is introduced. Software engineering principles, the techniques and notations for object-oriented analysis, modelling and the specification of software requirements are explored to prepare for its practical application. Students knowledge about testing, debugging and QA process is expanded. The course consists of lectures, case studies, and both individual and group practical lab work. Appropriate documentation including UML diagrams, QA plan, user acceptance (black box) tests, and modular (white box) tests must be produced to support successful progression to the sixth level Industrial Application Development and Quality Assurance course.

Prerequisites: CST8152
CST8359 .NET Enterprise Application Development Use C#/ASP.NET/WebServices/MS SQL to produce applications for a wide range of different environments. Set up and deploy ASP.NET MVCv5 applications, install virtual machines, learn about 'App Fabric', create databases and distributed storage in a hosted environment (like Windows Azure).

Prerequisites: CST8221
Level: 06 Hours
CST8244 Real-Time Programming Building on the student's prior knowledge of Linux/Unix, learn the difference between Real-Time/Embedded system programming and batch processing. Design real-time applications in C Language using the QNX Real-Time Operating System and the special functions built into QNX to enhance RT and embedded system programming - exceptions, messages resource managers and timers. Design topics include finite state machines, multi-threading, and distributed multi-processor systems.

Prerequisites: CST8227
CST8354 Industial Application Development and Quality Assurance Project teams are introduced to the practical aspects of design, testing and quality assurance of the software engineering process. Under the direction of one or more staff advisors, teams are provided the opportunity to apply sound software engineering principles to the implementation of their real-world industrial application. Activities include the implementation of software products, integration with hardware (where applicable), writing and executing test scripts, debugging, creation of installation packages, addressing security issues, adherence to Quality Assurance standards and the creation of supporting documentation. A technical presentation to faculty and a formal project-launch showcase to peers, faculty, staff and invited guests is an integral part of the course. An overview of security, product implementation, version control and maintainability issues are discussed.

Prerequisites: CST8353
Elective: choose 1 Hours
CST2355 Database Systems Acquire practical experience using market-leading object-relational database management systems like Oracle and MySQL. Obtain hands-on experience with advanced engineering modeling tools along with SQL, SQL scripts and programming with Oracle's PL/SQL blocks. Database concepts covered include advanced SQL, case structures, rollup and cube operations, metadata manipulation, data storage and retrieval, security and transaction control and data warehousing. Open source database software is also explored.

Prerequisites: CST8282 or CST8215
CST8236 Graphics Study the techniques and methods used to develop graphics applications running on modern computers. Some topics remain constant in time and constitute much of the theoretical framework. Other topics are driven by developments in hardware and are changing rapidly. The curriculum has been designed to balance these two aspects and to emphasize code development using modern Application Programming Interfaces (API) that harness the power of current graphics processors.

Prerequisites: CST8130 and CST8234
CST8237 Game Programming Combine skills learned in previous courses to develop advanced multimedia and game applications that run on a PC. Using the power of the Graphics Processing Unit (GPU) on the video card it is possible to program shaders that simulate real-life objects moving under the laws of physics. As an end product, the course develops a complete virtual 3D world with terrain, and a dynamic environment that the user can explore and interact with.

Prerequisites: CST8130 and CST8234
CST8283 Business Programming Create COBOL programs in a business environment using structured methodology in the latest visual programming environment. Topics include: output design; logic design tools; structured, top-down and modular coding; testing and debugging; and documentation. The programs include interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are included.

Prerequisites: CST8110
CST8333 Programming Language Research Project Learning a new programming language or framework on your own is a challenge faced by programmers on the job as part of their career. Students explore this process of self-study by applying project planning, applied research, testing, and implementation of basic and advanced concepts appropriate to the language or framework under study. Students develop major milestones and deliverables culminating in a project and reflective summary submission.

Prerequisites: CST8288
CST8390 Business Intelligence and Data Analytics Business Intelligence (BI) can be broadly defined as a set of applications, infrastructure, and best practices that integrate and transform raw data into actionable information used for planning, monitoring and analyzing processes. The foundation underlying this process is the Data Analytics that explore the data, identify the relationships and patterns in a meaningful way. Students examine the components and best practices of Business Intelligence technology, and how it guides operational to strategic business decisions in the context of real-world applications. Data analytics techniques are used to derive insight using statistical software.

Prerequisites: CST8215 and CST8284 and CST8285 and MAT8001
Choose one from equivalencies: Hours
GED0006X General Education Elective Students choose one course, from a group of general education electives, which meets one of the following four theme requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology.

Equivalencies: ARC9001 or DSN2001 or ENV0002 or FAM1218 or GED1896 or GED5002 or GED5004 or GED5005 or GED5006 or GED5300 or GED6022 or GEN1957 or GEN2000 or GEN2007 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or RAD2001 or GED5003

Fees & Expenses   

2016/2017 Academic Year

Total Fees for the first year of the program:

Domestic tuition/ancillary fees: $5,456.30. *

International tuition/ancillary Fees: $14,982.34. *

* Amounts include tuition fee, program specific lab and material fees, applicable eText fees, Students` Association fees and compulsory ancillary fees. Fees are subject to change. For detailed fees information please visit

Note: For further information regarding your books, please visit

Supplies can be purchased at the campus store. For more information about books, go to

Admission Requirements   

2017/2018 Academic Year

College Eligibility

  • Ontario Secondary School Diploma (OSSD) or equivalent. Applicants with an OSSD showing senior English and/or Mathematics courses at the Basic Level, or with Workplace or Open courses, will be tested to determine their eligibility for admission; OR
  • Academic and Career Entrance (ACE) certificate; OR
  • General Educational Development (GED) certificate; OR
  • Mature Student status (19 years of age or older and without a high school diploma at the start of the program). Eligibility may be determined by academic achievement testing for which a fee of $50 (subject to change) will be charged.

Program Eligibility

  • English, Grade 12 (ENG4C or equivalent).
  • Mathematics, (Grade 12 MCT4C) or (Grade 11 MCR3U) or equivalent.
  • Applicants with (Grade 12 MAP4C with a grade of 60% or higher) or (Grade 11 MCF3M with a grade of 50% or higher) will be required to take additional preparatory mathematics as part of their program of study.
  • Applicants with International transcripts must provide proof of the subject specific requirements noted above along with proof of either:
    • IELTS-International English Language Testing Service-Overall band of 6.0 with a minimum of 5.5 in each band. OR
    • TOEFL-Internet-based (iBT)-overall 80, with the minimum of 20 in each component: Reading 20; Listening: 20 Speaking: 20, Writing: 20

Should the number of qualified applicants exceed the number of available places, applicants will be selected on the basis of their proficiency in English and mathematics.

Note: Applicants should have basic computer skills such as keyboard proficiency, Internet browsing and searching, and proficiency with an office software suite (word processing, spreadsheets, etc.) prior to the start of the program. The Mobile Learning Center Coach (C102) offers training in these skills if needed. While programming experience is not a requirement to enter the program, aptitude for programming is necessary and would include strong language, problem solving and logic skills. This is often demonstrated by skill and enjoyment in solving word problems in math.

Applicants who have been out of school for a period of time are encouraged to take a refresher course in mathematics, prior to the start of classes. Refresher/upgrading courses are available through Academic Upgrading courses, the Centre for Continuing and Online Learning and through local school boards.

Application Information

Applications to full-time day programs must be submitted with official transcripts showing completion of the academic admission requirements through:
60 Corporate Court
Guelph, Ontario
N1G 5J3

Students currently enrolled in an Ontario secondary school should notify their Guidance Office prior to their online application at

Applications for Fall Term and Winter Term admission received by February 1 will be given equal consideration. Applications received after February 1 will be processed on a first-come, first-served basis as long as places are available.

International applicants applying from out-of-country can obtain the International Student Application Form at or by contacting the Registrar`s Office.

For further information on the admissions process, contact:

Registrar`s Office
Algonquin College
1385 Woodroffe Ave, Room C150
Ottawa, ON K2G 1V8
Telephone: 613-727-0002
Toll-free: 1-800-565-4723
TTY: 613-727-7766
Fax: 613-727-7632

Additional Information

Co-op is a real-world job search process requiring students to apply, interview, and earn jobs rather than being placed by the College. In the term prior to the cooperative education (Co-op) Work Term, students are required to independently complete online modules that assist with resume and cover letter writing, and interview technique preparation. Students must actively conduct a self-directed job search and are responsible to secure approved program related paid co-op employment. Students compete for co-op positions alongside students from Algonquin and other Canadian and international colleges and universities. Algonquin College`s Co-op Office provides assistance in developing co-op opportunities and facilitates the overall process but does not guarantee that a student will obtain employment in a cooperative education (Co-op) Work Term. Co-op employment opportunities requiring relocation may be considered, and are subject to departmental approval with the understanding that all associated expenses are incurred by students e.g., travel, work permits/visa applications, accommodation, etc.

Cooperative education (Co-op) Work Terms are typically four months in duration and are completed during a term when students are currently not studying on campus. For details on study-work progressions for specific programs, please visit

Curriculum is reviewed annually to reflect evolving industry standards in the information technology field.

For more information, please email or visit

Every attempt is made to ensure the accuracy of the information in this publication. The College reserves the right to modify or cancel any course, program, fee, timetable, or campus location at any time