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.

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

Ontario College Diploma
2 Year(s)

Program Code: 0336X01FWO
Academic Year: 2015/2016

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 leaners 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 Learn how to manage your laptop environment to gain the best advantage during your college program and later in the workplace. Create backups, install virus protection, manage files through a basic understanding of the Windows Operating System, install and configure the Windows Operating System, install and manage a virtual machine environment. Explore computer architecture including the functional hardware and software components needed to run programs. Finally, study basic numerical systems and operations including boolean logic. 60.0
CST8103 Networking Basics Learn important concepts necessary to understand modern LAN and Internet networking. Gain an appreciation and perspective of the immense impact that networking is having on technology in general and society as a whole. Included is a detailed study of the terminology and concepts related to the implementation and operation of computer networks. Topics include the basic structure and design of networks, layered communications models, IP addressing and subnetting, industry standards for network media and protocols with an emphasis on TCP/IP protocol suite and Ethernet. Labs include practical exercises in using common networking tools for diagnosing and troubleshooting typical network problems. Material from the Cisco Network Academy Program CCNA Exploration Networking Fundamentals is examined, as well as CompTIA Network+ certification. 75.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
CST8282 Introduction to Database Systems Welcome to the design and development of database systems using relevant Database Management Systems (DBMS). Concepts and terminology of object-relational databases and design principles using the Entity Relationship model are presented. Use SQL to create, modify and query a database. 60.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
MAT8001 Math Fundamentals Students learn foundational mathematics required in many College technical programs. Students also 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
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
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 preliminary investigation to object-oriented analysis and design. Modeling tools, prototyping presentations, technical reports, and object-oriented design patterns are used to produce system specifications. Project and risk management principles are also used within team developed projects. Software methodologies discussed include: the system development life cycle (SDLC), rapid application development (RAD), agile approach (including SCRUM) and rational unified process (RUP).

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: CST8282 and CST8284
CST8288 Object-Oriented Programming with Design Patterns Learn and implement the best practices of object-oriented program development with software design patterns. Implement UML program specifications in the Java programming language. Use embedded SQL through JDBC for developing and using "data access objects". Topics include refactoring, domain models, JDBC and multi-threading. Develop proficiency in creating, testing, debugging, deploying and documenting programs, applets and servlets.

Prerequisites: CST8282 and CST8284

Co-requisites: CST2234
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 and presentation skills related to engineering topics.

Prerequisites: ENL1813T
Elective: choose 1 Hours
CST8255 Web Imaging and Animations Students are introduced to basic concepts and techniques used to produce graphics, animations and video optimized for the World Wide Web. Graphic and animation software, languages such as HTML5, and JavaScript framework such as JQuery are explored.

Prerequisites: CST8209
CST8256 Web Programming Languages I Emphasis is placed on ways of moving data between web pages and databases using the .NET platform: ASP, ADO, C#, and the .NET Framework. Heavy emphasis is placed on how web applications can interact with databases through ODBC or other technologies. Server-side methods and the advantages of multi-tiered applications are explored. The course concludes with a mini-project to develop a live web application that interacts with a database.

Prerequisites: CST8253 and CST8260
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
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 CST8288
CST8333 Programming Language Research Project What programming languages pique your interest? Since you are expected to learn new programming languages on the job, this is an opportunity to experience self-study of a language of your choice (confirmed, supported and assessed by professor (coach)).

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   

2015/2016 Academic Year

Total Fees for the first year of the program:

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

International tuition/ancillary Fees: $14,957.94. *

* 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   

2016/2017 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.


    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 contact their Guidance Office to apply. For all other applicants, applications are available online at . A $95 fee applies.

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