Computer Programmer

The Computer Programmer program at Algonquin College prepares students for a variety of programming jobs in an industry known for its competitive salaries and great employment opportunities. You will learn workplace-ready programming languages and practical applications, and gain valuable real-world experience through a group software-development project.

To see the full program course map, please download the following PDF:
2016-2017 Program Map

Mobile DeviceBring Your Own Device (BYOD): As a student in this on-campus program, you will require a mobile computing device that meets the specifications outlined by your program at

(Please note this was previously referred to as a Mobile Learning Program)

Another Mobile Device ImageeTextbooks: As a student in a program that has adopted etextbooks, your required texts and digital resources will be provided to you at the beginning of each term (with the exception of general education electives). For more information and associated fees, go to

Related Programs:
Computer Engineering Technology – Computing Science (Ottawa Campus)
Computer Systems Technician (Ottawa Campus)
Computer Systems Technology – Security (Ottawa Campus)
Computer Systems Technician (Pembroke Campus)

Ontario College Diploma
2 Year(s)

Program Code: 0336X01FWO
Academic Year: 2016/2017

Our Program

This two-year Ontario College Diploma program prepares students for a career in software development. The program also specializes in program development strategies (using object-oriented modelling), database design and database administration.

Students work with leading industry software products, such as Oracle; CASE tools; programming languages (Java, COBOL, SQL, PHP, JavaScript), operating systems (Windows, Unix/Linux and Android) in a networked environment.

Approximately 75 per cent of the curriculum consists of courses in applications programming; programming languages; object-oriented analysis and design; operating systems; coding in integrated development environments; debugging, testing, and maintenance of code; database design, implementation, and administration. The balance of the curriculum consists of courses in oral and written communications, mathematics and others useful in the life-long learning required by software developers.

In the final year, students participate in a program-culminating real-world team project through the Algonquin College Applied Research and Innovation department and an individual project exploring programming languages. Due to the constantly evolving nature of the information technology (IT) environment, the program places emphasis on preparing students to become independent learners.

Students have access to modern computing facilities in the School of Advanced Technology, such as Windows and Linux-based workstations, linked in an internal wireless network with access to the Internet. An extensive repository of software is available on the network. Additional software is available through the department-sponsored Microsoft DreamSpark Alliance, other vendor agreements and from software supplied under the mobile technology fee.

This program offers two cooperative education (Co-op) Work Term(s) option. Qualified students with a minimum GPA of 2.7, have the opportunity to apply for paid co-op employment to gain valuable work experience and networks within industry. *See Additional Information for more details.

The two program start dates each year are at the beginning of the Fall and Winter Terms.

Bring Your Own Device (BYOD): Students are expected to have and use a laptop or mobile computing device when registered in this on-campus program. Hardware and software specifications required by your program are outlined at . Mobile devices/laptops and supplies can be purchased directly from Algonquin`s New Technology Store at educational rates.


This program is well-suited for students who:
  • Enjoy solving problems.
  • Are life-long learners ready to meet the challenges presented by rapidly changing technology.
  • Take pleasure in providing assistance to others (build computer systems to meet their needs).
  • Enjoy working with others as a member of a team.
  • Can work independently.
  • Are organized in their work and pay attention to detail.

Your Career

Graduates may find a variety of employment opportunities as applications programmers and systems analysts who can work independently and as part of a team to analyze, design, code, debug, test, implement and maintain application systems. Training in web programming, business programming, database design and database administration may also present job opportunities in those areas. Employment may be found in organizations of all sizes in both the public and private sectors.

Learning Outcomes

The graduate has reliably demonstrated the ability to:

  1. Use documented solutions to troubleshoot problems associated with software installation and customization.
  2. Develop, test, document, deploy, and maintain secure program code based on specifications.
  3. Perform routine maintenance on a database.
  4. Apply knowledge of networking concepts to develop, deploy, and maintain program code.
  5. Gather and document required information and assist in an analysis of a business.
  6. Use relevant methodologies, policies, and standards to develop secure program code.
  7. Maintain effective working relationships with clients.
  8. Conform to workplace expectations found in information technology (IT) environments.
  9. Contribute to the successful completion of the project applying the project management principles in use.
  10. Identify and apply discipline-specific practices that contribute to the local and global community through social responsibility, economic commitment and environmental stewardship.


Programs at Algonquin College are delivered using a variety of instruction modes. Courses may be offered in the classroom or lab, entirely online, or in a hybrid mode which combines classroom sessions with online learning activities. Upon registration, each full-time student is provided an Algonquin email account which is used to communicate important information about program or course events.
Level: 01 Hours
CST8101 Computer Essentials The essentials of computer software, hardware, and laptop management form the foundation for building further technical programming skills. Learn to configure your laptop environment, basic PC and SOHO router configuration and troubleshoot problems. Create backups, install virus protection, and manage files through a basic understanding of the Windows Operating System. Install and configure the Windows Operating System, and a virtual machine environment. Explore computer architecture including basic numerical systems, Boolean logic, functional hardware and software components needed to run programs. 60.0
CST8110 Introduction to Computer Programming Learn the fundamental problem-solving methodologies needed in software development, such as structured analysis, structured design, structured programming and introduction to object-oriented programming. Use pseudocode, flowcharting, as well as a programming language to develop solutions to real-world problems of increasing complexity. The basics of robust computer programming, with emphasis on correctness, structure, style and documentation are learned using Java. Theory is reinforced with application by means of practical laboratory assignments. 75.0
CST8215 Database Learn a solid theoretical and practical understanding of database systems. Topics include the Structured Query Language (SQL); database analysis, design, and implementation; embedded SQL database administration; and security; and performance issues. Students are provided practical exposure to databases, such as MySQL, ProGres, Oracle and/or SQL Server. 75.0
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. 45.0
ENL1813T Communications I Communication remains an essential skill sought by employers, regardless of discipline or field of study. Using a practical, vocation-oriented approach, students focus on meeting the requirements of effective communication. Through a combination of lectures, exercises, and independent learning, students practice writing, speaking, reading, listening, locating and documenting information and using technology to communicate professionally. Students develop and strengthen communication skills that contribute to success in both educational and workplace environments. 45.0
MAT8001 Math Fundamentals Students learn foundational mathematics required in many College technical programs. Students solve measurement problems involving a variety of units and ratio and proportion problems. They manipulate algebraic expressions and solve equations. Students also evaluate exponential and logarithmic expressions, study the trigonometry of right triangles and graph a variety of functions. 45.0
Level: 02 Hours
CST2355 Database Systems Acquire practical experience using market-leading object-relational database management systems like Oracle and MySQL. 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. Open source database software is also explored.

Prerequisites: CST8282 or CST8215
CST8102 Operating System Fundamentals (Gnu/Linux) Learn the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Explore the details of operating system structures, process management, storage management, installation, configuration, and administration both in theory and through practical assignments based on the GNU/Linux operating system. Lab exercises are designed to demonstrate how to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities.

Prerequisites: CST8101
CST8284 Object-Oriented Programming (Java) Learn 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.

Prerequisites: CST8110
CST8285 Web Programming Learn the basics 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.

Prerequisites: CST8110
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.

Prerequisites: ENL1813T
Choose one from equivalencies: Hours
GED0336 General Education Elective Students choose one course, from a group of general education electives, which meets one of the following four requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology.

Equivalencies: ARC9001 or DSN2001 or ENV0002 or FAM1218 or GED1896 or GED5002 or GED5004 or GED5005 or GED5006 or GED5009 or GED5300 or GED6022 or GEN1957 or GEN2000 or GEN2007 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or RAD2001 or GED5003
Level: 03 Hours
CST2234 Systems Analysis 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).

Prerequisites: CST2355
CST2335 Graphical Interface Programming Mobile Graphical Interface Programming Development of graphical user interfaces (GUI) in a mobile android environment is explored. Learn to construct mobile GUI applications using the latest Android tools and applying the latest Android best practices.

Prerequisites: CST8215 or CST8282 and CST8284
CST8108 Network Programming Basics Software programming in today's environment requires detailed knowledge of the underlying network topology and its implementation. Gaining an appreciation and perspective of this technology is imperative to developing good network programming applications. Topics include the basic structure and design of networks, layered communications models, industry standards for network media and protocols with an emphasis on data communications, TCP/IP protocol suite, Ethernet and socket programming. Labs include practical exercises in using socket programming along with common networking tools for diagnosing and troubleshooting typical network programming problems. 75.0
CST8288 Object-Oriented Programming with Design Patterns Implement the best practices of object-oriented program development with software design patterns. Apply UML program specifications in the Java programming language. Use embedded SQL through JDBC 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.

Prerequisites: CST8282 or CST8215 and CST8284

Co-requisites: CST2234
Elective: choose 1 Hours
CST8283 Business Programming 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. The programs include interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are included.

Prerequisites: CST8110
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 Business Intelligence 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.

Prerequisites: CST8215 and CST8284 and CST8285 and MAT8001
Co-op: 01 Hours
WKT8001 Work Term I Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed. 0.0
Co-op: 02 Hours
WKT8002 Work Term II Students complete a cooperative work term, and submit a written report which documents the location of employment and the duties performed.

Prerequisites: WKT8001
Level: 04 Hours
CST8276 Advanced Database Topics Teams and individuals explore advanced database topics: database administration (using Oracle), data governance, globalization, security and advances in database technology. Topic coverage includes business intelligence, data warehouses, data visualization and big data. Database administration tasks requiring knowledge of database architecture are examined: security, performance, database distribution, database sharing, backup and recovery.

Prerequisites: CST2355
CST8277 Enterprise Application Programming With a focus on the IT Enterprise, students are introduced to the application enterprise environment using and extending the technologies learned in previous courses. Topics studied may include the Java enterprise environment (J2EE), the Microsoft .NET environment, Enterprise Android programming, cloud computing, security and the corporate database repository.

Prerequisites: CST2335 and CST8102
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.

Prerequisites: CST8288
CST8334 Software Development Project 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. In some cases the industry contacts are supplied through the Algonquin College office of Applied Research and Innovation. Project management techniques are used to monitor progress and organize tasks. Outside of in-class requirements, teams must 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.

Prerequisites: CST2234 and CST2335 and CST8285 and CST8288 and ENL2019T
Choose one from equivalencies: Hours
GED0336 General Education Elective Students choose one course, from a group of general education electives, which meets one of the following four requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology.

Equivalencies: ARC9001 or DSN2001 or ENV0002 or FAM1218 or GED1896 or GED5002 or GED5004 or GED5005 or GED5006 or GED5009 or GED5300 or GED6022 or GEN1957 or GEN2000 or GEN2007 or HIS0001 or HIS2000 or HOS2228 or LIB1982 or MGT7330 or MVM8800 or PSI0003 or RAD2001 or GED5003

Fees & Expenses   

2016/2017 Academic Year

Total Fees for the first year of the program:

Domestic tuition/ancillary fees: $5,601.30. *

International tuition/ancillary Fees: $15,127.34. *

* Amounts include tuition fee, program specific lab and material fees, applicable eText fees, Students` Association fees and compulsory ancillary fees. Fees are subject to change. For detailed fees information please visit

Note: For further information regarding your books, please visit

Supplies can be purchased at the campus store. For more information about books, go to

Admission Requirements   

2017/2018 Academic Year

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) will be charged.

Program Eligibility

  • English, Grade 12 (ENG4C or equivalent).
  • Mathematics, Grade 12 (MAP4C or equivalent).
  • Applicants with International transcripts must provide proof of the subject specific requirements noted above along with proof of either:
    • IELTS-International English Language Testing Service-Overall band of 6.0 with a minimum of 5.5 in each band. OR
    • TOEFL-Internet-based (iBT)-overall 80, with the minimum of 20 in each component: Reading 20; Listening: 20 Speaking: 20, Writing: 20

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.

Refresher/upgrading courses are available through Academic Upgrading courses, the Centre for Continuing and Online Learning and through local school boards.

Note: Applicants should have basic computer skills such as keyboard proficiency, Internet browsing and searching, and proficiency with an office software suite (word processing, spreadsheets, etc.) prior to the start of the program. The Mobile Learning Center Coach (C102) offers training in these skills if needed. While programming experience is not a requirement to enter the program, aptitude for programming is necessary and would include strong language, problem solving and logic skills. This is often demonstrated by skill and enjoyment in solving word problems in math.

Application Information


Applications to full-time day programs must be submitted with official transcripts showing completion of the academic admission requirements through:
60 Corporate Court
Guelph, Ontario
N1G 5J3

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

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 applying from out-of-country can obtain the International Student Application Form at or by contacting the Registrar`s Office.

For further information on the admissions process, contact:

Registrar`s Office
Algonquin College
1385 Woodroffe Ave, Room C150
Ottawa, ON K2G 1V8
Telephone: 613-727-0002
Toll-free: 1-800-565-4723
TTY: 613-727-7766
Fax: 613-727-7632

Additional Information

*Co-op is a real-world job search process requiring students to apply, interview, and earn jobs rather than being placed by the College. In the term prior to the cooperative education (Co-op) Work Term, students are required to independently complete online modules that assist with resume and cover letter writing, and interview technique preparation. Students must actively conduct a self-directed job search and are responsible to secure approved program related paid co-op employment. Students compete for co-op positions alongside students from Algonquin and other Canadian and international colleges and universities. Algonquin College`s Co-op Office provides assistance in developing co-op opportunities and facilitates the overall process but does not guarantee that a student will obtain employment in a cooperative education (Co-op) Work Term. Co-op employment opportunities requiring relocation may be considered, and are subject to departmental approval with the understanding that all associated expenses are incurred by students e.g., travel, work permits/visa applications, accommodation, etc.

Cooperative education (Co-op) Work Terms are typically four months in duration and are completed during a term when students are currently not studying on campus. For details on study-work progressions for specific programs, please visit

Program curriculum is reviewed annually to reflect evolving industry standards in the information technology field.

Several courses assist in the preparation for industry standard Java and Oracle certification examinations (CST2355, CST8276, CST8277, CST8284 and CST8288).

For more information regarding this program, please email: or visit

Every attempt is made to ensure the accuracy of the information in this publication. The College reserves the right to modify or cancel any course, program, fee, timetable, or campus location at any time