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.

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 http://algonquincollege.com/byod

(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 http://www3.algonquincollege.com/etextbooks/

Ontario College Advanced Diploma
3 Years

Program Code: 0006X01FWO
Academic Year: 2013/2014


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, networking (with an option of Cisco certification) 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 Developer's Network Academic Alliance (MSDNAA), other vendor agreements and from software supplied under the mobile technology program.

Students who maintain a College-prescribed academic standing and who possess the appropriate level of business communication skills can take part in a cooperative placement at the end of Level 03. Co-op students can participate in three 15-week paid work terms.

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.

This program is part of Algonquin's mobile learning initiative. All students entering into the program are expected to have and use a laptop or mobile computing device that meets or exceeds the recommended hardware requirements as designated by the program. Students in mobile learning programs will use their devices to enhance their learning experience, obtain and work with course materials, participate in collaborative and mlearning environments and become skilled, confident users of the technologies used within an educational environment and workplace. Hardware and software specifications are outlined at www3.algonquincollege.com/mlearning/. Computers and supplies can be purchased directly from Algonquin's New Technology Store at educational rates.

SUCCESS FACTORS

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).

Courses

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 Students learn how to manage their laptop environment to gain the best advantage during their college program and later in the workplace. Create backups, install virus protection, manage files through a basic understanding of the Windows Operating System, install and configure the Windows Operating System, install and manage a virtual machine environment. Explore computer architecture including the functional hardware and software components that are needed to run programs. Finally, study basic numerical systems and operations including Boolean logic. Computer Essentials Students learn how to manage their laptop environment to gain the best advantage during their college program and later in the workplace. Create backups, install virus protection, manage files through a basic understanding of the Windows Operating System, install and configure the Windows Operating System, install and manage a virtual machine environment. Explore computer architecture including the functional hardware and software components that are needed to run programs. Finally, study basic numerical systems and operations including Boolean logic. 60.0
CST8103 Students are introduced to the important concepts necessary to understand modern LAN and Internet networking. Students gain an appreciation and perspective of the immense impact that networking is having on technology in general and society as a whole. Included is a detailed study of the terminology and concepts related to the implementation and operation of computer networks. Topics include the basic structure and design of networks, layered communications models, IP addressing and subnetting, industry standards for network media, and protocols with an emphasis on TCP/IP protocol suite and Ethernet. Labs include practical exercises in using common networking tools for diagnosing and troubleshooting typical network problems. Material from the Cisco Network Academy Program CCNA Exploration Networking Fundamentals is examined, as well as CompTIA Network+ certification. Networking Basics Students are introduced to the important concepts necessary to understand modern LAN and Internet networking. Students gain an appreciation and perspective of the immense impact that networking is having on technology in general and society as a whole. Included is a detailed study of the terminology and concepts related to the implementation and operation of computer networks. Topics include the basic structure and design of networks, layered communications models, IP addressing and subnetting, industry standards for network media, and protocols with an emphasis on TCP/IP protocol suite and Ethernet. Labs include practical exercises in using common networking tools for diagnosing and troubleshooting typical network problems. Material from the Cisco Network Academy Program CCNA Exploration Networking Fundamentals is examined, as well as CompTIA Network+ certification. 75.0
CST8110 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. 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
CST8300 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. 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 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 trigonometry and vectors. 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 trigonometry and vectors. 45.0
Level: 02 Hours
CST8102 Students are instructed in the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Students 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 Linux operating system. Lab exercises are designed to demonstrate how to implement the theory by developing skills using powerful Linux command-line tools and utilities.

Prerequisites: CST8101
Operating System Fundamentals Students are instructed in the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Students 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 Linux operating system. Lab exercises are designed to demonstrate how to implement the theory by developing skills using powerful Linux command-line tools and utilities.

Prerequisites: CST8101
75.0
CST8132 Students 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
Object-Oriented Programming Students 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
75.0
CST8215 Students are provided with 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 get practical exposure to databases, such as MySQL, Oracle and/or SQL Server. Database Students are provided with 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 get practical exposure to databases, such as MySQL, Oracle and/or SQL Server. 75.0
ENL1813T 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 practise 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. 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 practise 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 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 or MAT8100 or MAT8100P
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 or MAT8100 or MAT8100P
45.0
Level: 03 Hours
CST8130 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
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
75.0
CST8216 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 learn microcontroller programming using assembly language and system level languages. 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
Processor Architecture 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 learn microcontroller programming using assembly language and system level languages. 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
75.0
CST8234 Students are introduced to 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 data communications between processes (within a single UNIX system, and between systems using POSIX-standard IPC and/or socket-based programming). TCP, UDP and IP protocols are addressed with reference to the Internet RFC standards and documents. Application-level protocols examined may include FTP, SMTP, POP3 or HTTP. Security and safe programming practices are emphasized.

Prerequisites: CST8102 and CST8103 and CST8110
C Language and Network Programming Students are introduced to 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 data communications between processes (within a single UNIX system, and between systems using POSIX-standard IPC and/or socket-based programming). TCP, UDP and IP protocols are addressed with reference to the Internet RFC standards and documents. Application-level protocols examined may include FTP, SMTP, POP3 or HTTP. Security and safe programming practices are emphasized.

Prerequisites: CST8102 and CST8103 and CST8110
75.0
CST8238 Learn website design and implementation. Use XHTML, JavaScript, PHP and XML 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: CST8215
Web Programming Learn website design and implementation. Use XHTML, JavaScript, PHP and XML 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: CST8215
60.0
ENL1819T Students draw upon knowledge acquired through their studies and through research to improve their skills in communication, critical thinking, and the documentation, and evaluation of both primary and secondary sources. These combined skills are demonstrated in the production of workplace-oriented, vocationally-related documents and presentations. Emphasis is placed on technical communication goals which students are required to achieve for graduation.

Prerequisites: ENL1813T
Reporting Technical Information Students draw upon knowledge acquired through their studies and through research to improve their skills in communication, critical thinking, and the documentation, and evaluation of both primary and secondary sources. These combined skills are demonstrated in the production of workplace-oriented, vocationally-related documents and presentations. Emphasis is placed on technical communication goals which students are required to achieve for graduation.

Prerequisites: ENL1813T
60.0
Co-op: 01 Hours
WKT8101 Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed. Co-op Work Term I Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.
Level: 04 Hours
CST8152 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
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
75.0
CST8219 Students 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
C++ Programming Students 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
75.0
CST8221 Learn advanced Java by developing multi-tiered applications featuring a rich graphical user interface (GUI). Also study object-oriented design patterns, networking, and multi-threading and access to a database.

Prerequisites: CST8130
Java Application Programming Learn advanced Java by developing multi-tiered applications featuring a rich graphical user interface (GUI). Also study object-oriented design patterns, networking, and multi-threading and access to a database.

Prerequisites: CST8130
75.0
CST8233 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
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
75.0
Choose one from equivalencies: Hours
GED0006X 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 GEN2009 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or PSI1702 or RAD2001
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 GEN2009 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or PSI1702 or RAD2001
45.0
Co-op: 02 Hours
WKT8102 Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Prerequisites: WKT8101
Co-op 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: WKT8101
Level: 05 Hours
CST8218 Design and implement applications for the World Wide Web by developing multi-tier applications that require a presentation layer, middle controller layer and a persistence layer. Other topics include multi-user access, client-server networking and security. Web application development using the Java Enterprise Edition (JEE) framework is introduced.

Prerequisites: CST8221 and CST8238
Web Application Programming Design and implement applications for the World Wide Web by developing multi-tier applications that require a presentation layer, middle controller layer and a persistence layer. Other topics include multi-user access, client-server networking and security. Web application development using the Java Enterprise Edition (JEE) framework is introduced.

Prerequisites: CST8221 and CST8238
75.0
CST8223 Use the C# object-oriented language and the .NET Framework to produce applications for a wide range of different environments. These include Internet applications with client-server interaction, Desktop applications with database connectivity and XML Web services for distributed applications across the Internet.

Prerequisites: CST8221
.NET Programming Use the C# object-oriented language and the .NET Framework to produce applications for a wide range of different environments. These include Internet applications with client-server interaction, Desktop applications with database connectivity and XML Web services for distributed applications across the Internet.

Prerequisites: CST8221
75.0
CST8225 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. The course consists of lectures, case studies, and both individual and group practical lab work. Appropriate documentation including UML diagrams must be produced to support successful progression to the sixth level Industrial Application Development, and Software Design, Testing and Quality Assurance courses.

Prerequisites: CST8152 and ENL1819T

Co-requisites: CST8350
Software Requirements, Specification and Analysis 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. The course consists of lectures, case studies, and both individual and group practical lab work. Appropriate documentation including UML diagrams must be produced to support successful progression to the sixth level Industrial Application Development, and Software Design, Testing and Quality Assurance courses.

Prerequisites: CST8152 and ENL1819T

Co-requisites: CST8350
60.0
CST8244 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.

Prerequisites: CST8152 and CST8216
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.

Prerequisites: CST8152 and CST8216
60.0
CST8350 In parallel with the fifth level Software Requirements, Specifications and Analysis course, students are introduced to testing, debugging and quality assurance aspects of the software engineering process for the development of computing systems. Activities include development of QA plan user acceptance (Black Box) tests and modular (White Box) tests.

Co-requisites: CST8225
Software Design, Testing and Quality Assurance I In parallel with the fifth level Software Requirements, Specifications and Analysis course, students are introduced to testing, debugging and quality assurance aspects of the software engineering process for the development of computing systems. Activities include development of QA plan user acceptance (Black Box) tests and modular (White Box) tests.

Co-requisites: CST8225
45.0
Co-op: 03 Hours
WKT8103 Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Prerequisites: WKT8102
Work Term III Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Prerequisites: WKT8102
Level: 06 Hours
CST8227 Explore specific constraints, challenges, and attributes that are unique to mobile and embedded systems. 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, DtoA and AtoD 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, such as a RIM Blackberry, to provide the UI and control.

Prerequisites: CST8244
Interfacing Explore specific constraints, challenges, and attributes that are unique to mobile and embedded systems. 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, DtoA and AtoD 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, such as a RIM Blackberry, to provide the UI and control.

Prerequisites: CST8244
75.0
CST8235 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 given 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.

Prerequisites: CST8225

Co-requisites: CST8351
Industrial Application Development 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 given 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.

Prerequisites: CST8225

Co-requisites: CST8351
60.0
CST8351 In parallel with the sixth level Industrial Application Development course, students apply the concepts learned in the Software Design, Testing and Quality Assurance I course in support of their team's project. Appropriate documentation must be produced. An overview of security, product implementation, version control and maintainability issues are discussed.

Prerequisites: CST8350

Co-requisites: CST8235
Software Design, Testing and Quality Assurance II In parallel with the sixth level Industrial Application Development course, students apply the concepts learned in the Software Design, Testing and Quality Assurance I course in support of their team's project. Appropriate documentation must be produced. An overview of security, product implementation, version control and maintainability issues are discussed.

Prerequisites: CST8350

Co-requisites: CST8235
30.0
Elective: choose 1 Hours
CST2355 Students acquire practical experience using Oracle, an object-relational database management system. Advanced topics in database design are covered. Students have hands-on use of SQL, SQL scripts, PL/SQL and embedded SQL in host programs. Database concepts covered include data storage and retrieval, administration data warehouse, data mining, decision support, business intelligence, security and transaction control. Students also explore the use of open source database software.

Prerequisites: CST8282 or CST8215
Database Systems Students acquire practical experience using Oracle, an object-relational database management system. Advanced topics in database design are covered. Students have hands-on use of SQL, SQL scripts, PL/SQL and embedded SQL in host programs. Database concepts covered include data storage and retrieval, administration data warehouse, data mining, decision support, business intelligence, security and transaction control. Students also explore the use of open source database software.

Prerequisites: CST8282 or CST8215
60.0
CST8236 Students 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
Graphics Students 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
60.0
CST8237 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
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
60.0
CST8255 Students are introduced to basic concepts and techniques used to produce graphics, animations and video optimized for the World Wide Web. Students use Adobe software to create images and animations, build graphical user interfaces and author interactive applications.

Prerequisites: CST8110
Web Imaging and Animations Students are introduced to basic concepts and techniques used to produce graphics, animations and video optimized for the World Wide Web. Students use Adobe software to create images and animations, build graphical user interfaces and author interactive applications.

Prerequisites: CST8110
60.0
CST8283 Students create COBOL programs in a business environment using structured methodology. Topics include: output design; logic design tools; structured, top-down and modular coding; testing and debugging; JCL and documentation. The programs include interactive and file-based processing of data related to business problems. Arrays, indexed files and sub-programs are included.

Prerequisites: CST8110
Business Programming Students create COBOL programs in a business environment using structured methodology. Topics include: output design; logic design tools; structured, top-down and modular coding; testing and debugging; JCL and documentation. The programs include interactive and file-based processing of data related to business problems. Arrays, indexed files and sub-programs are included.

Prerequisites: CST8110
60.0
MAD9132 Using Java, students learn to develop mobile applications for the Android mobile platform. Students use the Android application programming interface (API) and Android software development kit (SDK) for hands-on development of deployable mobile applications. Designing to conserve battery life on mobile devices is emphasized.

Prerequisites: MAD9021
Android Application Development Using Java, students learn to develop mobile applications for the Android mobile platform. Students use the Android application programming interface (API) and Android software development kit (SDK) for hands-on development of deployable mobile applications. Designing to conserve battery life on mobile devices is emphasized.

Prerequisites: MAD9021
60.0
Choose one from equivalencies: Hours
GED0006X 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 GEN2009 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or PSI1702 or RAD2001
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 GEN2009 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or PSI1702 or RAD2001
45.0

Fees & Expenses

Tuition Fees: $1,304.75 per term in Levels 01, 02, 03, 04 and $1,298.51 per term in Levels 05 and 06.

Information Technology Fee: $62 per term. *

Mobile Computing Fee: $150 per term. **

eTextbook Fee: $238.67 in Level 01. ***

Incidental Fees: $25 in Level 03 and $60 in Level 06.

Student Activity/Sports Fee: $210.50 per term.

Student Commons/Auditorium Fee: $22 per term.

Student Centre Building Fee: $17.50 per term.

Health Service Fee: $20 per term.

Health Plan Fee: $117.02 paid once annually. ****

A $40 graduation fee is payable in the final term.

A $25 transcript fee is payable in the first term a student attends
Algonquin College.

International Students pay all relevant Canadian fees plus an International Premium of $4,600 per term.

* Students paying the Information Technology fee are provided with a network account, an email address, and Internet access. For more information please visit our website at www.algonquincollege.com/its/services/it_fee.htm

** The Mobile Computing Fee covers the costs associated with providing various services to students registered in a mandatory laptop programs.

*** The eTextbook fee includes most of the required text and digital resources. The resources will be provided at the beginning of each term.

**** Students who have coverage with another plan can request a refund by supplying the Students' Association with documentation supporting the request. This request will have to be made annually.

Co-op Fee: $465 payable in two installments in the term preceding each work term. The first installment of $100 is payable at the time of registration for co-op and is non-refundable. The second installment of $365 is payable on the standard fees due date. Students on a co-op work term will pay 10% of the Student Activity and Building Fees. Co-op students on work term in the Fall will pay the Health Plan Fee.

Books and supplies cost approximately $700 in the first year, $450 in the second year, and $550 in the third year and can be purchased in the Campus bookstore. Selected books are available for a reduced price through ebook initiatives at www.coursesmart.com.

Admission Requirements 

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 $40 (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.

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 via:
www.ontariocolleges.ca
60 Corporate Court
Guelph, Ontario
N1G 5J3
1-888-892-2228

Students currently enrolled in an Ontario secondary school should contact their Guidance Office to apply. For all other applicants, applications are available online at www.ontariocolleges.ca.> A $95 application fee must accompany the application form.

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.

Note: International applicants applying from out-of-country may obtain an "International Student Application Form" and instructions by logging onto xweb.algonquincollege.com/FormIE/index.aspx or by contacting the International Client Service Officer at the address shown below.

For further information on the admissions process, please contact:

Registrar's Office
Algonquin College
1385 Woodroffe Avenue
Ottawa, Ontario
K2G 1V8

Phone: 613-727-0002 or 1-800-565-4723
Fax: 613-727-7623 email:

Additional Information

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

For more information regarding this program, please email coordsci@algonquincollege.com or visit www.algonquincollege.com/sat.

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