Computer Programming and Analysis

The three-year Computer Programming and Analysis Ontario College Advanced Diploma program prepares you for a career in software development and systems analysis.

  • Through a year-long applied research project, students collaborate with community partners in the design, development and deployment of an authentic information system solution
  • Expand beyond computer programming and learn analytical skills that are geared toward future management roles
  • Graduates from the Computer Programming Diploma program can ladder in to the Computer Programming and Analysis program

Program Availability and Schedule

Availability

Open

Closed

Waitlisted

Start Term

Availability

Competitive?

Spring 2024

No

Fall 2024

No

Winter 2025

No

Spring 2025

No

Schedule

Winter 2024
Level 01
Spring 2024
Level 02
Fall 2024
Level 03
Winter 2025
Level 04
Spring 2024
Level 01
Fall 2024
Level 02
Winter 2025
Level 03
Spring 2025
Level 04
Fall 2024
Level 01
Winter 2025
Level 02
Spring 2025
Level 03
Fall 2025
Level 04
Winter 2025
Level 01
Spring 2025
Level 02
Fall 2025
Level 03
Winter 2026
Level 04
Spring 2025
Level 01
Fall 2025
Level 02
Winter 2026
Level 03
Spring 2026
Level 04

Program Summary

Credential

Ontario College Advanced Diploma (See overview for details)

Program Code

Area of Interest

Advanced Technology

Other Campuses

Other Delivery Options

Use leading industry software and technology including object-oriented methodologies, database design, database administration, systems analysis and design, cybersecurity, quality assurance and testing, development operations as well as business and information technology to design, develop and deploy information systems.

Graduates may work in a variety of different fields, as almost all sectors of industry require programmers. Fields may include, but are not limited to:...(read more)

Overview

The three-year Computer Programming and Analysis Ontario College Advanced Diploma program prepares you for a career in software development and systems analysis. The program specializes in information systems design, development and deployment. You develop sound coding and software testing principles and practices leveraging proven methodologies and industry standards to develop robust system solutions meeting stakeholder`s needs by bridging software development and the needs of the business world.

Use leading industry software and technology including object-oriented methodologies, database design, database administration, systems analysis and design, cybersecurity, quality assurance and testing, development operations as well as business and information technology to design, develop and deploy information systems.

Graduates may work in a variety of different fields, as almost all sectors of industry require programmers. Fields may include, but are not limited to:

  • private and public sectors
  • healthcare
  • education
  • commerce
  • science
  • finance
  • production
  • information services
  • service industry
  • human services

SUCCESS FACTORS

This program is well-suited for students who:

  • Enjoy, and are adept at, strategizing solutions to problems.
  • Are life-long learners ready to meet the challenges presented by rapidly changing technology.
  • Possess the ability to see the big picture and to work in detail with individual parts.
  • Enjoy working independently and with others as a member of a team.

Courses

Read this before applying:

Applications for this full-time program must be submitted on Ontario Colleges. If you are interested in the part-time delivery of the program, please refer to the part-time program page for course-by-course registration. The courses take place entirely online and do not require you to come to campus. Without a set class time you can complete your assignments when it’s most convenient for you while following the course deadlines.
NOTE: For the 2023 Fall semester and the 2024 Winter semester, level 01 course CST8118 is being subbed with CST8101, and level 04 course CST8319 is being subbed with CST8334.
OnlineDistance Education   
Course
Number
HoursCourse NameSummer
Level: 01
CST811670.0Introduction to Computer Programming

CST8116 Introduction to Computer Programming

Possessing the fundamentals of logic, problem-solving and programming language structure provides a solid foundation for further study in the field. Students develop introductory knowledge of computer programming with emphasis on problem analysis and design, using algorithms, pseudocode, flowcharts, UML Class Diagrams and testing, with the Java programming language used as a means to implement problem solution designs. Through an introduction to the Java programming language students use sequential structures, selection structures, repetition structures, variables, constants, methods, constructors, one-dimensional arrays, object-oriented programming, classes, objects, abstraction, encapsulation, inputs, outputs, coding conventions and documentation. Theory is reinforced with application by means of practical laboratory assessments.

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST811856.0Computer Essentials

CST8118 Computer Essentials

Maintaining a computer, using operating system and productivity software, and expressing related environmental and sustainability concerns, is an important part of working with Information Technology. Students explain computer hardware, and use operating system software to maintain, utilize, and secure a computer. Students practice the use of spreadsheet software to solve problems, use formulas, and visualize data with charts. Students discuss computer hardware and software with regards to financial and environmental sustainability. Theory is reinforced with application by means of practical laboratory assessments, including using virtualization software to install guest operating systems onto a host computer.

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST821570.0Introduction to Database

CST8215 Introduction to Database

Databases are used to store data and are a core component of many information technology systems. Students learn the fundamentals of relational databases design using Entity Relation Diagrams (ERDs), and use Structured Query Language (SQL) to create, modify and query a database. Students design and create databases that are maintainable, secure and adaptable to change in business requirements, using normalization. Students become familiar with the functions of a Database Management System (DBMS) and its components in comparison with legacy systems and alternative information storage mechanisms.

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST830042.0Achieving Success in Changing Environments

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.

This course is part of a complete program of study, individual course registration is not available.

Distance Education
ENL1813T42.0Communications ICommunications I

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
MAT8001C56.0Technical Mathematics for Computer Science

MAT8001C Technical Mathematics for Computer Science

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 and graph algebraic and transcendental functions. Students investigate computer number systems in addition to Boolean algebra and logic to help solve problems involving computer systems. Students also study the addition and subtraction of vectors using vector components. Delivered in a modular format, this course is equivalent to the completion of all of the following math modules MAT8100 - A, B, C, D, E, F, and L.

This course is part of a complete program of study, individual course registration is not available.

Distance Education
Level: 02
CST235556.0Database Systems

CST2355 Database Systems

Database systems can automate data processing tasks as well as tie into the security of information technology systems. Students acquire practical experience using market-leading object-relational database management systems like Oracle and MySQL. Students 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

Pre-requisites: CST8215

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST810270.0Operating System Fundamentals (Gnu/Linux)

CST8102 Operating System Fundamentals (Gnu/Linux)

Operating systems form the backbone of information technology systems coordinating the interaction between hardware and software. Students explore the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Students examine 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 work is designed to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.

Pre-requisites: CST8116 AND CST8118

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST828470.0Object Oriented Programming (Java)

CST8284 Object Oriented Programming (Java)

Working in the field of information technology as a programmer requires a firm understanding of Object-Oriented Programming (OOP) concepts. Students explore object-oriented programming methodology using the Java programming language. Object oriented concepts, such as encapsulation, inheritance, abstraction and polymorphism are covered and reinforced with practical applications. Students explore the basics of data structures and algorithms as well as basic Graphical User Interface (GUI) programming.

Pre-requisites: CST8116

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST828556.0Web Programming

CST8285 Web Programming

The World Wide Web (WWW) has become an integrated part of everyday life. Students develop basic skills of web programming, website design and implementation. JavaScript, HTML5, and PHP are used to explore web-based solutions to problems of increasing interactivity and complexity. Lectures are reinforced by practical assignments that encourage students to construct and maintain their own websites.

Pre-requisites: CST8116

This course is part of a complete program of study, individual course registration is not available.

Distance Education
ENL2019T42.0Technical Communication for Engineering Technologies

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.

Pre-requisites: ENL1813T

This course is part of a complete program of study, individual course registration is not available.

Distance Education
Choose one from equivalencies:
GED156142.0General Education ElectiveGeneral Education Elective

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
Level: 03
CST223456.0Systems Analysis and Design

CST2234 Systems Analysis and Design

Complex information technology systems require extensive planning and design. Guided by industry standard software engineering methodologies, students gain hands-on experience with case studies used to develop systems from inception through elaboration, construction and transition phases. Object-oriented design, modeling tools and techniques are used to produce system specifications. Project management principles are also used within team developed projects. Software methodologies discussed include the Systems Development Life Cycle (SDLC), agile approach, Rational Unified Process (RUP)and Rapid Application Development (RAD).

Pre-requisites: CST8215 AND CST8284 AND ENL2019T

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST233556.0Mobile Graphical Interface Programming

CST2335 Mobile Graphical Interface Programming

Mobile devices play an instrumental part of everyday life, thus requiring knowledge of mobile graphical user interface development. Students explore graphical user interface programming in a mobile Android environment. Students learn how to program applications using the latest Android development tools. Topics include application architecture, interface design, network communication, and database integration.

Pre-requisites: CST8215 AND CST8284

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST810970.0Network Programming

CST8109 Network Programming

Software programming in today's environment requires detailed knowledge of the underlying network topology, its implementation and programming support functions. Gaining an appreciation and perspective of this technology is imperative to developing good network programming applications. Students explore topics including the basic structure, design and layered communications models, with an emphasis on data communications, TCP/IP protocol suite, socket programming and multi-threading concepts. Labs include practical exercises in basic networking and using socket programming, along with multi-threading, in an environment rich with common networking tools for diagnosing and troubleshooting typical network programming problems.

Pre-requisites: CST8116 AND MAT8001C

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST828870.0Object Oriented Programming with Design Patterns

CST8288 Object Oriented Programming with Design Patterns

Design patterns are programming architecture solutions to common challenges faced in software implementation. Students implement best practices of object-oriented program development with software design patterns. Students also apply Unified Modeling Language (UML) program specifications in the Java programming language. SQL through JDBC technology is used embedded for developing and using data access objects. Course topics include refactoring, domain modelling, JDBC and multithreaded servlet programming. Students develop proficiency in creating, testing, debugging, deploying and documenting programs and servlets through practical application.

Pre-requisites: CST8215 AND CST8284

This course is part of a complete program of study, individual course registration is not available.

Distance Education
Elective: choose 1
CST828356.0Business Programming

CST8283 Business Programming

Information systems built using the COBOL programming language support important institutions such as government services and the banking sectors. Students 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. Students examine interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are explored.

Pre-requisites: CST8116

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST839056.0Business Intelligence and Data Analytics

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 BI 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 to provide insight into patterns and trends not immediately obvious in the raw data.

Pre-requisites: CST8116 AND CST8215 AND CST8285 AND MAT8001C or CST8238

This course is part of a complete program of study, individual course registration is not available.

Distance Education
Level: 04
CST827670.0Advanced Database Topics

CST8276 Advanced Database Topics

Database administration is an important role, in particular for deployed information technology systems. Teams and individuals explore advanced database topics including database administration (using Oracle), data governance, globalization, security and advances in database technology. Topic coverage includes business intelligence, data warehouses, data visualization, big data, NoSQL and graph databases. Database administration tasks requiring knowledge of database architecture are examined: relational vs. non-relational models, security, performance, database distribution, database sharing, backup and recovery

Pre-requisites: CST2355 AND CST8109

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST827770.0Enterprise Application Programming

CST8277 Enterprise Application Programming

Enterprise applications connect clients to services that are based on data stored in database management systems. With a focus on the IT Enterprise, students examine the application enterprise environment using and extending the technologies learned in previous courses. Students examine the commonly used enterprise systems development technologies such as Java/Jakarta Enterprise Edition, cloud computing, security and the corporate database repository.

Pre-requisites: CST8109 AND CST8288

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST831928.0Software Development Project

CST8319 Software Development Project

Industry recognizes the value of graduates possessing real-world software development experience. Following the agile software engineering methodology, teams work with clients to analyze business needs, determine computer system requirements, model system designs, build prototypes, test code and deliver final products. Project management techniques are used to monitor progress and organize tasks. Students participate in interviews, technical reviews, presentations and the preparation of technical reports. The culmination of the course is a final presentation and technical review, followed by the delivery of the finished product.

Pre-requisites: CST2234 AND CST2335 AND CST8109 AND CST8285 AND CST8288 AND ENL2019T

This course is part of a complete program of study, individual course registration is not available.

Distance Education
CST833356.0Programming Language Research Project

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.

Pre-requisites: CST8284

This course is part of a complete program of study, individual course registration is not available.

Distance Education
Choose one from equivalencies:
GED156142.0General Education ElectiveGeneral Education Elective

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
Level: 05
CST840056.0Analysis and Design Using Emerging TechnologiesAnalysis and Design Using Emerging Technologies

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST841056.0Advanced Mobile ApplicationsAdvanced Mobile Applications

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST841142.0Information Systems Development and DeploymentInformation Systems Development and Deployment

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST841256.0User Interface Design in Application DevelopmentUser Interface Design in Application Development

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST841356.0Data Warehousing and Advanced Business IntelligenceData Warehousing and Advanced Business Intelligence

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST841442.0Applied Research Project 1Applied Research Project 1

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
Level: 06
CST851256.0CybersecurityCybersecurity

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST851356.0Quality Assurance and TestingQuality Assurance and Testing

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST851442.0Business and Information TechnologyBusiness and Information Technology

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
CST851570.0Applied Research Project 2Applied Research Project 2

This course is part of a complete program of study, individual course registration is not available.

Blank Icon
MGT011442.0EntrepreneurshipEntrepreneurship

This course is part of a complete program of study, individual course registration is not available.

Blank Icon

COURSE DESCRIPTIONS

CST8116 Introduction to Computer Programming

Possessing the fundamentals of logic, problem-solving and programming language structure provides a solid foundation for further study in the field. Students develop introductory knowledge of computer programming with emphasis on problem analysis and design, using algorithms, pseudocode, flowcharts, UML Class Diagrams and testing, with the Java programming language used as a means to implement problem solution designs. Through an introduction to the Java programming language students use sequential structures, selection structures, repetition structures, variables, constants, methods, constructors, one-dimensional arrays, object-oriented programming, classes, objects, abstraction, encapsulation, inputs, outputs, coding conventions and documentation. Theory is reinforced with application by means of practical laboratory assessments.

CST8118 Computer Essentials

Maintaining a computer, using operating system and productivity software, and expressing related environmental and sustainability concerns, is an important part of working with Information Technology. Students explain computer hardware, and use operating system software to maintain, utilize, and secure a computer. Students practice the use of spreadsheet software to solve problems, use formulas, and visualize data with charts. Students discuss computer hardware and software with regards to financial and environmental sustainability. Theory is reinforced with application by means of practical laboratory assessments, including using virtualization software to install guest operating systems onto a host computer.

CST8215 Introduction to Database

Databases are used to store data and are a core component of many information technology systems. Students learn the fundamentals of relational databases design using Entity Relation Diagrams (ERDs), and use Structured Query Language (SQL) to create, modify and query a database. Students design and create databases that are maintainable, secure and adaptable to change in business requirements, using normalization. Students become familiar with the functions of a Database Management System (DBMS) and its components in comparison with legacy systems and alternative information storage mechanisms.

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.

MAT8001C Technical Mathematics for Computer Science

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 and graph algebraic and transcendental functions. Students investigate computer number systems in addition to Boolean algebra and logic to help solve problems involving computer systems. Students also study the addition and subtraction of vectors using vector components. Delivered in a modular format, this course is equivalent to the completion of all of the following math modules MAT8100 - A, B, C, D, E, F, and L.

CST2355 Database Systems

Database systems can automate data processing tasks as well as tie into the security of information technology systems. Students acquire practical experience using market-leading object-relational database management systems like Oracle and MySQL. Students 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

Pre-requisites: CST8215

CST8102 Operating System Fundamentals (Gnu/Linux)

Operating systems form the backbone of information technology systems coordinating the interaction between hardware and software. Students explore the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Students examine 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 work is designed to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.

Pre-requisites: CST8116 AND CST8118

CST8284 Object Oriented Programming (Java)

Working in the field of information technology as a programmer requires a firm understanding of Object-Oriented Programming (OOP) concepts. Students explore object-oriented programming methodology using the Java programming language. Object oriented concepts, such as encapsulation, inheritance, abstraction and polymorphism are covered and reinforced with practical applications. Students explore the basics of data structures and algorithms as well as basic Graphical User Interface (GUI) programming.

Pre-requisites: CST8116

CST8285 Web Programming

The World Wide Web (WWW) has become an integrated part of everyday life. Students develop basic skills of web programming, website design and implementation. JavaScript, HTML5, and PHP are used to explore web-based solutions to problems of increasing interactivity and complexity. Lectures are reinforced by practical assignments that encourage students to construct and maintain their own websites.

Pre-requisites: CST8116

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.

Pre-requisites: ENL1813T

CST2234 Systems Analysis and Design

Complex information technology systems require extensive planning and design. Guided by industry standard software engineering methodologies, students gain hands-on experience with case studies used to develop systems from inception through elaboration, construction and transition phases. Object-oriented design, modeling tools and techniques are used to produce system specifications. Project management principles are also used within team developed projects. Software methodologies discussed include the Systems Development Life Cycle (SDLC), agile approach, Rational Unified Process (RUP)and Rapid Application Development (RAD).

Pre-requisites: CST8215 AND CST8284 AND ENL2019T

CST2335 Mobile Graphical Interface Programming

Mobile devices play an instrumental part of everyday life, thus requiring knowledge of mobile graphical user interface development. Students explore graphical user interface programming in a mobile Android environment. Students learn how to program applications using the latest Android development tools. Topics include application architecture, interface design, network communication, and database integration.

Pre-requisites: CST8215 AND CST8284

CST8109 Network Programming

Software programming in today's environment requires detailed knowledge of the underlying network topology, its implementation and programming support functions. Gaining an appreciation and perspective of this technology is imperative to developing good network programming applications. Students explore topics including the basic structure, design and layered communications models, with an emphasis on data communications, TCP/IP protocol suite, socket programming and multi-threading concepts. Labs include practical exercises in basic networking and using socket programming, along with multi-threading, in an environment rich with common networking tools for diagnosing and troubleshooting typical network programming problems.

Pre-requisites: CST8116 AND MAT8001C

CST8288 Object Oriented Programming with Design Patterns

Design patterns are programming architecture solutions to common challenges faced in software implementation. Students implement best practices of object-oriented program development with software design patterns. Students also apply Unified Modeling Language (UML) program specifications in the Java programming language. SQL through JDBC technology is used embedded for developing and using data access objects. Course topics include refactoring, domain modelling, JDBC and multithreaded servlet programming. Students develop proficiency in creating, testing, debugging, deploying and documenting programs and servlets through practical application.

Pre-requisites: CST8215 AND CST8284

CST8283 Business Programming

Information systems built using the COBOL programming language support important institutions such as government services and the banking sectors. Students 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. Students examine interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are explored.

Pre-requisites: CST8116

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 BI 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 to provide insight into patterns and trends not immediately obvious in the raw data.

Pre-requisites: CST8116 AND CST8215 AND CST8285 AND MAT8001C or CST8238

CST8276 Advanced Database Topics

Database administration is an important role, in particular for deployed information technology systems. Teams and individuals explore advanced database topics including database administration (using Oracle), data governance, globalization, security and advances in database technology. Topic coverage includes business intelligence, data warehouses, data visualization, big data, NoSQL and graph databases. Database administration tasks requiring knowledge of database architecture are examined: relational vs. non-relational models, security, performance, database distribution, database sharing, backup and recovery

Pre-requisites: CST2355 AND CST8109

CST8277 Enterprise Application Programming

Enterprise applications connect clients to services that are based on data stored in database management systems. With a focus on the IT Enterprise, students examine the application enterprise environment using and extending the technologies learned in previous courses. Students examine the commonly used enterprise systems development technologies such as Java/Jakarta Enterprise Edition, cloud computing, security and the corporate database repository.

Pre-requisites: CST8109 AND CST8288

CST8319 Software Development Project

Industry recognizes the value of graduates possessing real-world software development experience. Following the agile software engineering methodology, teams work with clients to analyze business needs, determine computer system requirements, model system designs, build prototypes, test code and deliver final products. Project management techniques are used to monitor progress and organize tasks. Students participate in interviews, technical reviews, presentations and the preparation of technical reports. The culmination of the course is a final presentation and technical review, followed by the delivery of the finished product.

Pre-requisites: CST2234 AND CST2335 AND CST8109 AND CST8285 AND CST8288 AND ENL2019T

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.

Pre-requisites: CST8284

Careers & Pathways

Careers

Graduates may find employment as a mobile application developer, business program developer, full-stack software developer, programmer analyst, quality assurance analyst, database designer or as a database administrator.

Pathways

Please use our Pathways tool to search for pathway options.

Learning Outcomes

The graduate has reliably demonstrated the ability to:

  1. Identify, analyze, design, develop, implement, verify and document the requirements for a computing environment.
  2. Diagnose, troubleshoot, document and monitor technical problems using appropriate methodologies and tools.
  3. Analyze, design, implement and maintain secure computing environments.
  4. Analyze, develop and maintain robust computing system solutions through validation testing and industry best practices.
  5. Communicate and collaborate with team members and stakeholders to ensure effective working relationships.
  6. Select and apply strategies for personal and professional development to enhance work performance.
  7. Apply project management principles and tools when responding to requirements and monitoring projects within a computing environment.
  8. Adhere to ethical, social media, legal, regulatory and economic requirements and/or principles in the development and management of the computing solutions and systems.
  9. Investigate emerging trends to respond to technical challenges.
  10. Gather, analyze and define software system specifications based on functional and non-functional requirements.
  11. Design, develop, document, implement, maintain and test software systems by using industry standard software development methodologies based on defined specifications and existing technologies/frameworks.
  12. Select and apply object-oriented and other design concepts and principles, as well as business requirements, to the software development process.
  13. Gather requirements and model, design, implement, optimize, and maintain data storage solutions.
  14. Integrate network communications into software solutions by adhering to protocol standards.
  15. Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship.

Tuition & Fees

2023/2024 Academic Year

Tuition and related ancillary fees for this program can be viewed by using the Tuition and Fees Estimator tool at www.algonquincollege.com/fee-estimator.

Further information on fees can be found by visiting the Registrar's Office website at www.algonquincollege.com/ro.

Fees are subject to change.

Additional program related expenses include:

  • Textbooks cost approximately $500 per semester on average.

Admissions Requirements

All applicants must satisfy both College Eligibility and Program Eligibility 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 $50 (subject to change).

Program Eligibility

  • English, Grade 12 (ENG4C or equivalent).
  • Mathematics, (Grade 12 MCT4C) or (Grade 11 MCR3U) or equivalent; or (Grade 12 MAP4C with a grade of 80% or higher) or (Grade 11 MCF3M with a grade of 70% or higher).
  • Applicants with international transcripts must provide proof of the subject-specific requirements noted above and may be required to provide proof of language proficiency. Domestic applicants with international transcripts must be evaluated through the International Credential Assessment Service of Canada (ICAS) or World Education Services (WES).
  • IELTS-International English Language Testing Service (Academic) Overall band of 6.0 with a minimum of 5.5 in each band; OR TOEFL-Internet-based (iBT) Overall 80, with a minimum of 20 in each component: Reading 20; Listening 20; Speaking 20; Writing 20; OR Duolingo English Test (DET) Overall 105, minimums of 105 in Literacy and 85 in Production.

Not sure if you meet all of the requirements? Academic Upgrading may be able to help with that: https://www.algonquincollege.com/access/.

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.

Application Information

COMPUTER PROGRAMMING AND ANALYSIS
Program Code 1561X09FAO

Applications to full-time day programs must be submitted with official transcripts showing completion of the academic admission requirements through:

ontariocolleges.ca
60 Corporate Court
Guelph, Ontario N1G 5J3
1-888-892-2228

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

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 please visit this link for application process information: https://algonquincollege.force.com/myACint/.

For further information on the admissions process, contact:

Registrar`s Office
Algonquin College
1385 Woodroffe Ave
Ottawa, ON K2G 1V8
Telephone: 613-727-0002
Toll-free: 1-800-565-4723
TTY: 613-727-7766
Fax: 613-727-7632
Contact: https://www.algonquincollege.com/ro

Additional Information

Program Resources

This program is also offered part-time online and full-time on campus. Please note: The co-op option is only available in the on-campus delivery of this program.

PRIOR LEARNING AND RECOGNITION (PLAR):
Students who wish to apply for PLAR need to demonstrate competency at a post-secondary level in all of the course learning requirements. Evidence of learning achievements for PLAR candidates may include a comprehensive challenge examination and/or completion of a portfolio.

PROGRAM PROGRESSON:
As per policy AA39:Program Progression and Graduation Requirements when students are admitted to a program, they are assigned to the Program of Study that aligns with their start date. If a student takes a break for two or more consecutive terms the Program of Study is reset to align with the current version (when studies are resumed). For more information please contact your pathway advisor.

Contact

For additional information, please contact AC Online at online@algonquincollege.com or 613-727-4723 ext. 3330.

Get Started


Get More Information