Overview
The CPA 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 CPA 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 larger-scale applications. After gaining programming and problem-solving skills, students experience real-world work environments by participating in our third-year work placement program.
The CPA program is a three-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, web, mobile, and mainframe platforms. Students learn many programming languages, including C#, C++, PHP, MySQL, JavaScript, and Java, and are taught the skills to learn other languages. We are one of a handful of colleges in North America offering mainframe courses in COBOL, CICS, JCL and TSO.
Program Details
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
- Mobile application development
- Systems design and analysis
- Database design and management
- Mainframe application programming
Program Outline
2023-2024
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 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 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.
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.
Prerequisite(s): COMP1111
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.
Prerequisite(s): COMP1100
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.
Prerequisite(s): COMP1100
Students develop the skills and knowledge to ensure the confidentiality, integrity, and availability of information systems and applications. Students learn appropriate security mitigation techniques and participate in risk mitigation activities. Students discuss the security and ethical challenges and best practices that impact IT decision making and programming.
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.
Pre-requisite: COMP 1100
N/A
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.
Prerequisite(s): COMP205+ COMP1200
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.
Prerequisite(s): COMP205 + COMP53 + COMP1200
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.
Prerequisite(s): COMP1200
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 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.
In this course, students participate in the key phases of the Software Development Life Cycle (SDLC) of a small-scale software system. A variety of software development methodologies (e.g. Waterfall Method, Unified Process (UP), and Agile) are explored. During this course, students take on roles such as business clients, systems analysts and software designers. In these roles, students identify and document business requirements. develop software models and create integrated system designs.
Prerequisite(s): COMP53
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.
Prerequisite(s): COMP60
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. Guest speakers introduce new topics, discuss work placement and bring real world experience into the classroom. Students further enhance their essential employability skills through research, group work and presentations.
Prerequisite(s): COMP333 + COMP206
This course introduces students to structured programming using Cobol. Students learn the importance of structured programming methodology to produce maintainable programs. Classes and programming assignments are designed to provide the students with a working knowledge of record processing, report production and data validation.
Prerequisite(s): COMP333
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.
Prerequisite(s): COMP333
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.
Prerequisite(s): COMP220
In this course, students design, develop and deploy Java Web applications based on current Java Enterprise APIs (Application Program Interfaces) and frameworks. Topics in this course include Java Servlets, JSPs (JavaServer Pages), Enterprise JavaBeans, Dependency Injection, Java Persistence API, and Java Web Frameworks (such as JSF and Spring).
Prerequisite(s): COMP305 + COMP206
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 CPA curriculum. Guest speakers introduce new topics, discuss work placement and bring real world experience into the classroom. Students further enhance their essential employability skills through research, group work and presentations.
Prerequisite(s): COMP1081
In this course, students gain practical experience working in an information technology placement position. This course enables students to apply the skills and knowledge gained from the other courses in the program. Students remain under the guidance of a faculty member, and the actual work is supervised and assessed by a member of the placement organization.
Prerequisite(s): COMP305 + COMP210 + COMP20
In this course, student expand their skills in writing and maintaining COBOL programs. Using an IBM mainframe environment (zOS/TSO/ISPF), students develop batch processing applications that maintain random access data sets. Topics included are: COBOL sorts, Subroutines, multi-levels tables, indexed files as well as program maintenance.
Prerequisite(s): COMP210 + COMP1081
In this course, students participate in the key phases of the Software Development Life Cycle (SDLC) of a small-scale software system. A variety of software development methodologies (e.g. Waterfall Method, Unified Process (UP), and Agile) are explored. During this course, students take on roles such as business clients, systems analysts and software designers. In these roles, students identify and document business requirements. develop software models and create integrated system designs.
Prerequisite(s): COMP305 + QUAL200
This course provides students with concepts and strategies for programming using CICS, a common software framework used by many financial institutions to support investsments, security brokerage and ATMs, in a mainframe environment. Basic subset of CICS command level COBOL programming is emphasized. Major enhancements to an existing menu driven system are explored.
Prerequisite(s): COMP52 + COMP251
In this course, students continues to gain practical experience working in an information technology placement position. This course enables students to apply the skills and knowledge gained from the other courses given in the program. Students remain under the guidance of a faculty member, and the actual work is supervised and assessed by a member of the placement organization.
Prerequisite(s): COMP61
This course introduces the topic of on-line Web Services. In this course, students use a variety of programming languages, web frameworks, and development environments to design, build, test, and use Web Services and Web Service Clients. The course focuses on principles of the REST (Representational State Transfer) architectural style.
Prerequisite(s): COMP31 + COMP220
This course introduces mobile application development using the Android platform. In this course, students learn to use the Android integrated development environment and software development kit to create a variety of Android applications that can be run on a device emulator or on an Android tablet. This course emphasizes the process of design and implementation of web-enabled Android applications that function as clients that exchange data with on-line Web Services.
Prerequisite(s): COMP31
Requirements
Admission Requirements
Ontario Secondary School Diploma (OSSD) with the majority of Grade 11 and 12 courses at the C, U or M level including the following prerequisites:
- Grade 12 English at the C or U level
- Grade 11 Math at the C or U level
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 require their own Windows laptop computer:
- CPU: i5 minimum. i7 or AMD Ryzen recommended.
- RAM: 12GB RAM minimum. 16GB recommended.
- Hard drive: 256GB SSD minimum. 512GB recommended.
- Webcam and microphone (built-in or external).
- Operating System: Windows 10 (free upgrade available through SLC).
Students will use the laptop for lectures, labs, assessments, and coursework. Students cannot share laptops. St. Lawrence College will provide most or all software required for the program.
International students require a co-op work permit. Students are strongly encouraged to apply early due to processing times and tight timelines.
Placement
The CPA work placement is one of the main draws to our program. It has an excellent reputation in the community. Placement provides excellent experience on a resume as well as hands-on experience in the field. In third year, students spend 2 days per week on the job in an IT business environment. Placement agencies include: Ministry of Health, National Defense, Novari Health, Queen's University, Service Ontario and more. Many of these students are employed by their work placement during the summer months preceding third year, earning up to $22 per hour. In some cases, students have been offered employment at the end of their work placement.
Students attend a work placement fair in second year, where they meet employers and apply for placements. Ultimately, the student is responsible for securing their placement.
Website: www.placementatslc.ca
Fees
2023-2024
Fees are estimates only. Tuition is based on two semesters.
Fees are estimates only. Tuition is based on two semesters.
Kingston
Our Kingston campus has seen significant renovation over the past few years, including a brand new Student Life and Innovation Centre that houses a new gymnasium, fitness centre, pub, and more.


Career Opportunities
The demand for CPA graduates is high in the Kingston area as well as in Canada and abroad. Most CPA graduates enter the workforce immediately after graduation. Graduates typically advance from junior level positions to senior level and management position over the first few years of their career.
Prospects for both employment and advancement in the Information Technology industry are excellent. The typical starting salary upon graduation is $50,000.
A career as a Computer Programmer Analyst can provide you with exciting and rewarding work in areas such as: computer programming, web development, systems development, data modeling, quality assurance, mobile computing, web services and database administration.
Our graduates are employed in both the public and private sectors such as education, healthcare, military, financial, research, industry, consulting, and many more.
Testimonials
Other Information
Programs at St. Lawrence 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. Program delivery can be run weekdays, weekends or evenings. Upon registration, each full-time student is provided a St. Lawrence College email account which is used to communicate important information about program or course events.
Advanced Standing
Applicants with post-secondary credits may be eligible for direct entry to an upper level of the program (semester or year) depending on transfer credits. Select the applicable level when applying at ontariocolleges.ca and ensure that we receive your official post-secondary transcript for consideration. If you are unsure what level to apply for, please contact the program coordinator.
Program Contacts
Program Contact
Colin Graves
CGraves@sl.on.ca
Admissions Information
Click here to message Recruitment.
Credit Transfer Opportunities
- Bishop's University - BSc Computer Science
- McMaster University - Bachelor of Technology - Software Engineering Technology