Top

Computer Programming and Analysis

Kingston Campus | Program Code: 1107 | Open for International Students
Domestic Students

Domestic apply now subtext

Already Applyed? Login here!

International Students

International students subtext

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

Code 1107
Start Date September
Credential Ontario College Advanced Diploma
Campus Kingston
Program Length 3 Years
Delivery Full-Time
Open for international students
Special May Intake - International Students Only

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

Questions:

Email: placements@sl.on.ca

Website: www.stlawrencecollege.ca/placement 

Fees

2023-2024

Tuition
Program Fees
Ancillary Fees
Total
CAD
Tuition
$2,721.36 CAD
Program Fees
$60.00 CAD
Ancillary Fees
$1,498.52 CAD
Total
$4,279.88 CAD

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

Tuition
Program Fees
Ancillary Fees
Total
CAD
Tuition
$15,960.00 CAD
Program Fees
$60.00 CAD
Ancillary Fees
$2,273.85 CAD
Total
$18,293.85 CAD

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.

Kingston Campus

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

"I believe this program is one of the best software development programs there is as it not only teaches you how to program in specific languages but more importantly teaches you how to think and adapt to whatever technology problem is at hand. "
Robin Porter
"The teachers at SLC were wonderful. They were always ready to help. Whether that meant staying late to work out a problem or making themselves available in other ways, I always got the impression that they really cared that we succeeded."
Leigh Halliday
"As an active member of the 'Information Systems Student's Council' I was able to network with peers and faculty. I highly recommend prospective students to get involved as well. Being involved in extracurricular groups can develop your skills as a programmer through shared knowledge, but also develop your people and group collaboration skills. "
Melinda Carriere
"I am a first-generation student who decided to attend SLC after completing my Bachelor’s Degree because of the work placement option for the Computer Programming & Analysis program. I wanted to learn practical skills in a setting that would set me up for the real world."
Karman Wong - I&IT Business Analyst (Ministry of Education)

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.

Click here to schedule an appointment with Recruitment.