New Program

Computer Programming

Cornwall Campus | Program Code: 1135 | Open for International Students
Domestic Students

Domestic apply now subtext

Already Applyed? Login here!

International Students

International students subtext


The Computer Programming (CP) program follows an experiential learning approach to education by offering courses that parallel the software development practices used in the modern workplace. Throughout the program CP students apply concepts learned in the classroom to solve programming problems. They learn to work in project teams, in which they design, develop, and test applications.

The CP program is a two-year program in which students learn a wide variety of skills, ranging from basic programming practices, problem-solving, software design, critical thinking and application development. Over the duration of the program, students will learn to write programs for desktop and web. Students learn many programming languages, including C#, C++, PHP, MySQL, JavaScript, and Java, and are taught the skills to learn other languages. Students who are successful in Computer Programming are eligible to continue their studies in the Computer Programming and Analysis program offered at Kingston Campus with admission into the third year of the Advanced Diploma program.

Program Details

Code 1135
Start Date September
Credential Ontario College Diploma
Campus Cornwall
Program Length 2 Years
Delivery Full-Time
Open for international students

Program Highlights

The program provides you with skills in:

  • Problem-solving and critical thinking
  • Software / application development
  • Operating systems
  • Writing computer programs
  • Intranet/internet applications
  • GUI applications
  • Web development
  • Object-oriented programming
  • 2D game development
  • Database design and management

Program Outline


This course is designed to help students develop and practice the communication skills needed to succeed in college and workforce environments. Emphasis is placed on improving foundational communication strategies-reading, writing, listening, and speaking—and on developing research and critical thinking skills. 

This course provides an introduction to web development using HTML, CSS, and JavaScript. Students learn to use HTML to create web pages and to link multiple web pages together. Students also learn how to control the layout and style of web pages using Cascading Style Sheets (CSS) and to make web pages interactive using JavaScript. Students engage in a sequence of assignments designed to familiarize them with HTML, CSS, and JavaScript.

This course provides an introduction to programming using the C++ language.The course introduces the syntax and usage of C++. A disciplined approach toprogram development and to producing readable programs is emphasized. Topicscovered include: variables, data types, assignment/arithmetic, input/output,repetition, selection, arrays and file output.

This course introduces the student to the concept of databases and their importance in daily life. Using fundamental database technologies (Access and SQL), students learn the concepts and terminology to build tables and then extract data from the tables using queries. The course emphasizes small student-designed projects using a form object, taking advantage of built-in visual features and command buttons.

This course introduces students to the fundamental mathematical concepts relevant to applied computing. Students consolidate basic arithmetic and algebra skills (e.g., order of operations, percentages/fractions, polynomials). Further, students develop competency with core computing numbers systems (e.g., binary, octal, decimal, hexadecimal), symbolic logic (e.g., if/and/or/not statements), and probability/combinations. Rudimentary business math skills (e.g., present/future values, interest, etc.) as they pertain to applied computing careers are introduced.

This course offers a language-independent introduction to programming logic using structured and object-oriented principles. The course does not focus on any one particular language. It introduces programming concepts, such as structure, decision making, looping, arrays, and methods, and it enforces good style and logical thinking. The course also introduces object-oriented topics including classes, event-driven programming, exceptions, and UML.

This course builds on structured query language using MySQL. This course focuses on database design implementing all table relationship types in an RDBMS. The students code MySQL statements to create databases and tables as well as code data manipulation statements. Students retrieve data across several tables using built-in functions, summary queries, and subqueries.

This course introduces the C# programming language as a tool for building desktop applications. Topics include C# syntax, objects, inheritance, graphical user interface components, events and event handling. Students apply knowledge of object-oriented programming, strategies in program design, and critical thinking skills in the computer lab to create desktop applications and develop transferrable programming skills.

This course provides an introduction to Web Application Programming using the JavaScript programming language. In this course students build small web applications consisting of client-side and server-side scripts. Client-side scripts interact with a web page by gathering and validating form data, sending the data to a server, and updating a web page with the server’s response data. Server-side scripts receive client data, perform database transactions, and return data to the client. This course emphasizes JavaScript and related technologies including JQuery, Node.js, AJAX, and JSON.

This course introduces students to digital user interfaces and user experiences. Students evaluate existing designs as well as prototype and create design solutions using relevant software. An emphasis is placed on gathering client feedback to improve their experience. Students analyze, design and develop effective user interfaces based on interaction design and usability principles.

Prerequisite(s): COMP205

This course builds on previous course work in C++. Students design and develop programs that are easy to read and maintain. Students develop and apply testing and debugging strategies to ensure their programs meet stated specifications. Topics covered include: Structure charts, Boolean logic, functions, input files, and multi dimension arrays.

This course introduces students to object-oriented design and programming. Expanding on the topics covered in previous courses, the students study pointers, structures, classes, class inheritance and linked lists. Concepts of data abstraction, friend functions, information hiding, polymorphism, dynamic allocation of memory and software reusability are taught.

This course introduces students to PHP programming. It builds on the student's web programming skills to cover server side PHP programming. Students build projects using functions, string management, PHP/MySQL integration, and classes. Date and time manipulation is also covered.

The course provides an introduction to Operating Systems using Linux as well introduces mainframe computing environments using TSO/ISPF (Time Sharing Option/Interactive System Productivity Facility). The course concentrates on basic operating system functions, system management, security, customization, and configuration with a practical experience gained in labs.

This course builds on previous coursework in Node.js, JavaScript, HTML, and CSS to develop end-to-end web applications tying up the pervious studies of database, frontend, and backend web development. Students will be able to create client-side and server-side scripts using the latest web development framework stacks such as MERN, MEAN, MEVN, and PERN.

This course prepares students for a career in the information technology field. Students gain an understanding of various technical roles and their impact on the enterprise. Using an understanding of these roles, students learn to develop career plans. Job search, resume, and interview skills are taught with an emphasis on technology-related conventions. Students also develop the ability to operate as continuous learners, guiding their own development.

This course provides students with a general understanding of software quality assurance topics. Students learn static and dynamic testing, testing techniques and testing phases. Students apply these concepts through creating a final QA report. Students work in teams to participate in an Agile group project.

This course builds on the student’s knowledge of object-oriented programming with C++ and C# by introducing the Java programming language. In this course, students develop their Java programming skills by building a variety of desktop applications. Topics include the Java Virtual Machine, Java command line tools, Java syntax and control structures, classes and packages, collections, generics, abstract classes and methods, interfaces, Java database connectivity, graphical user interfaces, and event handling.

This course introduces students to Machine Learning principles and algorithms, such as, linear regression, decision tree, logistic regression, Support Vector Machines (SVM), and Navie Bayes. Students will learn how to implement these algorithms using Python-based frameworks, such as, TensorFlow, PyTorch, and scikit-learn.

This course provides students with an introduction to game development principles and programming . Topics include animation, creating sprite objects, user interaction concepts, basic artificial intelligence concepts, game structures and basic game physics.

This course introduces concepts of Database Management Systems and Database Design. In this course, students learn to design and implement a database that meets a set of business requirements. Topics include database normalization, indexing, prepared statements, functions and procedures, creating users, and granting and revoking privileges. This course focuses primarily on relational databases and SQL (Structured Query Language) and makes extensive use of the MySQL relational database management system (RDBMS).

Change comes rapidly in the field of programming. This course provides students with the opportunity to explore emerging topics and trends, not covered in the core CPA curriculum. Students will work on real world computer programming projects, either in field placement environments or through industry negotiated case-based applications. Students further enhance their essential employability skills through research, group work and presentations.


Admission Requirements

Ontario Secondary School Diploma (OSSD) or equivalent including the following prerequisites:

  • Grade 12 English at the C, U or E level
  • Grade 11 Math

For OSSD equivalency options, see Admission Requirements.

If you are missing prerequisite courses, enroll in the Career/College Prep program - free for Ontario residents who are 19 years or older.

Other Requirements

Technical Requirements

Students are recommended to require their own Windows laptop computer: 

  • CPU: i5 minimum.  i7 or AMD Ryzen is recommended.
  • RAM: 12GB RAM minimum. 16GB is recommended.
  • Hard drive: 256GB SSD minimum. 512GB is recommended.
  • Webcam and microphone (built-in or external).
  • Operating System: Windows 11



Program Fees
Ancillary Fees
$3,384.00 CAD
Program Fees
$150.00 CAD
Ancillary Fees
$979.82 CAD
$4,513.82 CAD

Fees are estimates only.  Tuition is based on two semesters.

Program Fees
Ancillary Fees
$15,960.00 CAD
Program Fees
$150.00 CAD
Ancillary Fees
$1,755.15 CAD
$17,865.15 CAD

Fees are estimates only.  Tuition is based on two semesters.


Our Cornwall campus has a brand new library, new health simulation labs, renovated student common areas and more to make your transition to college life an easy one.

Cornwall Campus

Career Opportunities

The demand for CP graduates is high in the Kingston area as well as in Canada and abroad. Most CP graduates enter the workforce immediately after graduation. Graduates typically advance from junior level positions to more senior level over their career.

Prospects for both employment and advancement in the Information Technology industry are excellent.

A career as a Computer Programmer area can provide you with exciting and rewarding work in areas such as: computer programming, web development, systems development, data modeling, quality assurance, mobile computing, game programming, serious game development, web services, database administration, and cybersecurity.

Our graduates are employed in both the public and private sectors such as education, healthcare, military, financial, research, industry, consulting, and many more.