• Overview - 2019/2020

    For intakes in September 2020 and later, please see Computer Programming and Analysis, CPA3.

    There is no more valued, in-demand or dynamic career these days than one in IT. If you've got a passion for coding and computers, and you're ready to develop the skills to land your dream job, Fanshawe's Computer Programmer Analyst program is the right fit for you.

    You'll begin your journey by focusing on fundamental IT topics. As you progress through the program, you'll develop the in-depth and specialized computer knowledge employers are looking for:

    • Object-oriented development in both Windows and Linux-based client/server systems;
    • Software development;
    • Client/server web development (both .NET and J2EE);
    • Database development (MSSQL and Oracle) and;
    • Code level graphics, animation and simulation with C++ and DirectX.

    Plus, Fanshawe is one of only three colleges with SharcNet - a super-fast supercomputer that you'll get your hands on in your second and third year.

    These days, you need more than computer skills to make you career mark. You'll also have the opportunity to develop your communication and interpersonal skills by completing a paid co-op work placement in your final semester to help you gain hands-on experience with real people in real situations.

    Features and benefits:

    • Earn while you learn - 12 months of paid co-op allows students to make employer contacts, gain work experience and apply their knowledge in a real IT business setting;
    • Beyond Fanshawe - graduates may choose to pursue the completion of a degree with universities both locally and internationally. If you prefer specialized training, consider one of Fanshawe's own IT post-graduate certificate programs.

    CEWIL Canada: Co-operative education and work-integrated learning.This program is accredited by Co-operative Education and Work Integrated Learning Canada. This accreditation represents the highest standard of achievement for co-operative education programs in Canada, and recognizes Fanshawe's commitment to excellence.


    The Computer Programmer Analyst program classes provide the well rounded skills the IT Industry is searching for. It also includes a co-op program giving an incredible opportunity to build your resume and provide you with real-life experience to reinforce what the classroom teaches.

    Fall Intake 





    Year 1

    Level 1

    Level 2


    Year 2

    Level 3

    Work Term 1

    Level 4


    Year 3

    Work Term 2

    Level 5

    Work Term 3

    Year 4

    Level 6




  • Admission Requirements - 2019/2020

    OSSD with courses from the College (C), University (U),
    University/College (M), or Open (O) stream WITH:
    -  Any Grade 12 English (C) or (U)
    -  Any Grade 11 or Grade 12 Mathematics* (C), (U), or (M)
    Academic and Career Entrance Certificate (ACE)
    Ontario High School Equivalency Certificate (GED) AND:
    -  Any Grade 11 or Grade 12 Mathematics* (C), (U), or (M)
    Mature Applicant with standing in the required courses stated above


    • *Applicants who lack the required Mathematics may still gain eligibility for admission by completing appropriate prior upgrading.

    English Language Requirements

    Applicants whose first language is not English will be required to demonstrate proficiency in English by one of the following methods:

    • A Grade 12 College Stream or University Stream English credit from an Ontario Secondary School, or equivalent, depending on the program's Admission Requirements
    • Test of English as a Foreign Language (TOEFL) test with a minimum score of 550 for the paper-based test (PBT), or 79 for the Internet-based test (iBT), with test results within the last two years
    • International English Language Testing System (IELTS) Academic test with an overall score of 6.0 with no score less than 5.5 in any of the four bands, with test results within the last two years. SDS Program Requirements. 
    • Canadian Academic English Language (CAEL) test with an overall score of 60 with no score less than 50 in any of the four bands, with test results within the last two years
    • Pearson Test of English Academic (PTE) with a minimum score of 53, with test results within the last two years
    • A Cambridge English Test (FCE/CAE/CPE) with an overall score on the Cambridge English Scale of 169 with no language skill less than 162, with test results within the last two years
    • An English Language Evaluation (ELE) at Fanshawe College with a minimum score of 70% in all sections of the test, with test results within the last two years
    • Fanshawe College ESL4/GAP5 students: Minimum grade of 80% in ESL4/GAP5 Level 8, 75% in ESL4/GAP5 Level 9, or 70% in ESL4/GAP5 Level 10

    Recommended Academic Preparation

    • Grade 12 The Writer's Craft (C) or (U)
    • Grade 11 Introduction to Computer Science (U)
    • Grade 12 Computer Science (U)
    • Grade 11 Introduction to Computer Programming (C)
    • Grade 12 Computer Programming (C) 
    • Grade 11 Information and Communication Technology: The Digital Environment (O)
    • Grade 12 Information and Communication Technology: Multimedia Solutions (C)
    • Academic and Career Entrance Certificate (ACE): Business or Technical Mathematics course and Computer Skills course

    Applicant Selection Criteria

    Where the number of eligible applicants exceeds the available spaces in the program, the Applicant Selection Criteria will be:
    1. Preference for Permanent Residents of Ontario
    2. Receipt of Application by February 1st (After this date, Fanshawe College will consider applicants on a first-come, first-served basis until the program is full)
    3. Achievement in the Admission Requirements
  • Courses

    Computer Programmer Analyst-2019/2020

    Level 1
    Take all of the following Mandatory Courses:

    Group 1
    BUSI-1156Strategies for Success1
    This course presents and helps to develop some of the skills required to achieve academic and career success. Areas of focus include college resources, study skills, time management, academic integrity and calculating Grade Point Averages, among other skills.
    MATH-1202Mathematics for Programmers3
    This course will provide the student with the mathematics foundation required for programming in business, science, or engineering. Emphasis will be placed on practical applications within computing systems.
    INFO-1214Programming Fundamentals6
    This course is an introduction to the fundamentals of procedural / object oriented programming. Problem analysis and algorithmic thinking skills will be emphasized to develop good program writing technique. Content will include data types and variables, sequence, selection, repetition, data input validation, arrays, methods, searching and sorting data, the basic concepts of object oriented programming, and the use of an integrated development environment (IDE) tool for writing, testing and de-bugging code.
    INFO-1215Database Fundamentals4
    An introduction to relational database system design and development, by creating a variety of simple databases, based upon typical business requirements. Students build complete database solutions incorporating multi-table relational databases, forms, reports, queries, and test data. Students will also be introduced to the Structured Query Language.
    INFO-1216Operating Syst Fundamentals-Programmers3
    An introduction to fundamental concepts and components of modern Operating Systems (OS), from the perspective of a programmer. Details explored include: interact with hardware and software components, system structures, process management, storage management, installation, configuration, and administration both in theory and practice.

    Group 2
    TAKE WRIT-1043 OR WRIT-1034
    WRIT-1043Reason & Writing 1 for IT3
    This course will introduce information technology students to essential principles of reading, writing, and reasoning at the postsecondary level. Students will identify, summarize, analyze, and evaluate multiple short readings and write persuasive response essays to develop their vocabulary, comprehension, grammar, and critical thinking.
    WRIT-1034Reason & Writing 1-EAP4
    This course will introduce students whose first language is not English to essential principles of reading, writing, and reasoning at the postsecondary level. Students will identify, summarize, analyze, and evaluate multiple short readings and write persuasive response essays to develop their vocabulary, comprehension, grammar, and critical thinking. Special attention will also be paid to developing academic vocabulary, correcting common ESL errors, enhancing academic listening and note-taking skills, and improving oral fluency and confidence.

    Level 2
    Take all of the following Mandatory Courses:

    Group 1
    INFO-1167Business At the Speed of Light3
    Increasingly, technology is used as the underpinnings to enable a new global business model. This course explores the fundamental concepts of business as well as the technologies that are used to facilitate a new era of entrepreneurial opportunities. Students are introduced to the role of business and government and explore the various types of business, business & marketing operations, and financial resources management. In addition, students reinforce their knowledge of the subject matter through a series of case studies that explore the use of technology to solve business problems and enable new opportunities.
    INFO-1217Web Design3
    This course focuses on creating accessible, compliant, search-engine friendly web sites using the latest web standards. Students will learn to code clean, responsive pages with a consideration for basic design principles. Current web trends are explored and students will incorporate typography, css transitions, transforms and animations to create rich, interactive experiences.
    INFO-3104Relational Databases & SQL3
    This course builds on the concepts of the relational database presented in INFO1120 Database Fundamentals and introduces the student to larger client/server database systems. Oracle is used as the database platform to demonstrate the operation of larger multi-user systems.Upon completion the student will have demonstrated the ability to: solve problems by designing database entities base on real world scenarios, execute mathematical operations accurately by planning database sizes, as well as analyze, evaluate, and apply relevant information from a variety of sources from the internet. In particular emphasis is placed on mastering the fundamentals of Structured Query Language (SQL) for creating and maintaining database objects, complex queries, and the tool to perform typical database administrative tasks.
    INFO-3134Object Oriented Programming With Java4
    Continuing from Programming Fundamentals, this course introduces the object-oriented programming concepts of encapsulation, inheritance, and polymorphism, class design using UML, exception handling, GUI development using the Swing and JFX packages, event-driven programming, and using the JDBC package to connect to databases.
    INFO-1156Object Oriented Programming with C++4
    While C++ is very popular and the language of choice for game development and other performance-intensive applications, it is also significant in spawning other important languages such as Java and C#. This course introduces C++ (ANSI/ISO) in an Integrated Development Environment (IDE). An emphasis will be placed on improving software quality through unit-testing and debugging. The C++ Standard Library and Standard Template Library will be used for console I/O and data structure definition. The powerful Standard Template Library will be used to examine classic data structures and algorithms and how they impact software design and performance.
    MGMT-3052Understanding Workplace Behaviours3
    This course provides an understanding of the field of organizational behaviour through investigating individual, group and organizational behaviours. Students assess their work-related preferences/behaviours using self-assessment surveys and reflect on the match between those and career choices. Students study organizational design, organizational culture, people-centred management, social perception, self-concept & personality, values/attitudes & job satisfaction, motivation theory, group development theory, effective communication strategy, and conflict & negotiation then apply these concepts to the development of an organization's human resources.

    Group 2
    TAKE INFO-1234 OR INFO-3120
    INFO-1234Web Scripting-Intro3
    This course will introduce students to JavaScript and its use in web page construction. Students will be introduced to object-oriented programming concepts using JavaScript and the Document Object Model (DOM) and various HTML controls. Object creation and customization will be covered, as well as exception-handling, event handling, and testing and debugging techniques.
    INFO-3120Programming Commercial Game Engines3
    This course introduces the use of a current commercial game engine, with the focus on programming, scripting, and the underlying math concepts in use to implement the graphical and physical simulation aspects. Following INFO-1150, it will focus on fundamental object oriented programming concepts such as encapsulation, inheritance, and polymorphism.

    Level 3
    Take all of the following Mandatory Courses:
    INFO-3070Client/Server Application Development3
    This course helps the student to learn how client/server applications can be designed and deployed in layers. Projects incorporate JavaScript and jQuery clients making REST calls to a ASP.Net Core server. C# is used server side in conjunction with the Entity Framework, LINQ and a SQL Server database.
    INFO-5052Advanced Databases3
    This course will continue to build on knowledge that students have acquired from previous database courses. Students will be expected to design, implement and administer databases in the SQL Server environment. Advanced topics such as normalization, dimensional modelling, stored procedures, and various other complex tasks will be covered.
    INFO-3140Object Oriented Analysis & Modeling3
    This course provides the fundamental concepts of Object-Oriented software development using the C++ language.
    INFO-3135Data Structures & Algorithms3
    Students will learn common computer programming algorithms and the data structures used to implement them, emphasising the relationship between algorithms, programming, and data structures. Special focus will be on the underpinnings and implementations of various commonly used data structures.
    INFO-1219Network Fundamentals for Programmers3
    This course provides students with a comprehensive overview of networking from a programmer's perspective. Using a bottom-up approach to networking, emphasizing LAN and WAN technologies. Students acquire the skills required to design and use modern networks, with hands-on experience by teaching students how to install, use, and maintain networks.
    COMM-3077Communications for IT3
    This course, designed for students who plan to work in the field of information technology, focuses on professional written communication skills. Students learn to prepare a variety of work-related documents. In addition, students learn about research methods and documentation formats. The principles of effective writing organization, grammar, style, clarity and tone are reinforced throughout the course. The goal of the course is to prepare students for the communication tasks and considerations they will encounter in the workplace.
    COOP-1020Co-operative Education Employment Prep1
    This workshop will provide an overview of the Co-operative Education consultants and students' roles and responsibilities as well as the Co-operative Education Policy. It will provide students with employment preparatory skills specifically related to co-operative education work assignments and will prepare students for their work term.

    Level 4
    Take all of the following Mandatory Courses:

    Group 1
    INFO-3067ASP.NET Programming with C#3
    Working directly with server side technologies such as the Entity Framework, ASP.Net Core, SQL Server and current client frameworks like Vue.js and Bootstrap, the student will become proficient in applying industry best practices to produce a robust web application using the MVC pattern. Subject to availability the student will be able to enhance their portfolio by publishing the finished project onto the cloud using Microsoft Azure. While there is no cost associated with using the Azure cloud, a valid credit card is required to get registered on it.
    INFO-3137Software Design Patterns 13
    In this first of two courses exploring, implementing, and incorporating Software Design Patterns, students will learn what constitutes a design pattern, their components, and their application, using a managed language such as C#. A survey of creational, structural, behavioural, and architectural design patterns from the "Gang of Four" text will be presented.
    INFO-3136Mobile Development3
    This course consists of two independent units of study. The first unit focuses on developing a solid foundation of software development skills and introduces the requisite skills necessary for the development of mobile/wireless applications. The structure of the course allows students to gain valuable practical experience building reliable and secure mobile solutions that take advantage of the unique capabilities that mobile platforms allow. The second unit covers topics in advanced Java programming. Topics to be covered include advanced GUI development using Swing, JFX. Graphics, and multi-media classes, database access using JDBC, and an introduction to multi-threaded programming using the java.util.concurrent package.
    MGMT-3036Professional Development-Career Planning3
    This course introduces the student to the nature and role of Human Resource functions in an organization, with a focus on the implications for personal career management. Human resources planning and processes will be explored through class discussion, research and case study, from the perspectives of the employer and the employee / job applicant. Work search skills and resume writing will be included, along with an individual career management project.
    INFO-3138Programming With Declarative Languages3
    Declarative languages (like XML, HTML, and JSON) significantly enhance modern programming language, providing complementary tasks like modelling, constraining, formatting, and non-proprietary/platform-agnostic exchanging of information. Students will build applications employing commonly used declarative languages and technologies.

    Group 2
    Take INFO-3105 or INFO-3111
    INFO-3105System Z COBOL Programming3
    The main focus of this course is to provide hands on experience in the IBM Mainframe programming environment (SYSTEM Z). In particular the student will develop and maintain projects utilizing IBMs mainframe COBOL programming language on a real Mainframe class system using IBMs RDZ IDE.
    INFO-3111C++ Graphics Programming3
    Computer graphics, whether for games, business graphics, science or engineer has become a major part of commercial software development. Various 3D technologies and APIs are used for rendering high performance graphics on the Microsoft Windows, Linux, consoles, and mobile devices. This course is an introduction to 3D rendering using one or more modern 3D c/c++ APIs.

    Level 5
    Gen Ed - Take a 3 credit General Education elective course
    Take all of the following Mandatory Courses:
    Students learn advanced JavaScript techniques and good standard coding conventions. Students code a full stack web framework entirely in JavaScript. Node.js and MongoDB (NoSQL) will be incorporated on the backend along with React.js components on the front end. Front end work includes Material Design components to produce full featured progressive web applications that can be installed on both mobile and desktop devices.
    INFO-3112Managing Software Projects-Applied 13
    This project-based course is designed to allow students to demonstrate the various software development skills that they have been exposed to in previous course offerings. Students are wholly responsible for the entire project development lifecycle. Students will work in project teams using various tools to develop a single comprehensive solution. The solution that they develop can be used as part of a portfolio for securing employment upon graduation.
    INFO-5060Component-based Programming with .NET3
    Technologies and platforms change, but the precepts of a component-based software architecture remain the same: develop reusable software components that can be deployed independently and linked dynamically at runtime. The first half of this course focuses on building and configuring .NET components while the second half examines distributed deployment techniques.
    INFO-5125Software Design Patterns 23
    In this second Software Design Patterns course, students complete their exploration, implementation, and incorporation of both the remaining "Gang of Four" patterns as well as more recently adopted ones.
    INFO-5101C# Advanced Topics3
    In this course students will examine a variety of advanced topics in .NET application development using the C# language. One of the main themes of the course will be the evolution of the C# language from the initial version 1.0 up to the current 6.0 and how each subsequent evolutionary step, built on the previous version has ultimately lead to the powerful development tool programmers use today. Along the way, the course will cover topics such as delegates, iterators, lambda expressions, LINQ, dynamic binding and asynchrony. In addition, students will have the opportunity to explore the role played by the .NET Framework and CLR (Common Language Runtime), including garbage collection, JIT compilation and other performance related considerations.
    INFO-3141Mobile Development-Inter3
    This second mobile application course continues the exploration GUI development using cross-platform mobile development methodologies, toolsets, languages, and APIs. A primary focus is designing and building effective business based data collection and display applications, in addition to the design differences between mobile, web, and desktop devices.

    Level 6
    Gen Ed - Take a 3 credit General Education elective course
    Take all of the following Mandatory Courses:

    Group 1
    INFO-3068Secure Computing3
    From the most sophisticated automated exploit tools to a toy whistle from a box of Captain Crunch cereal, over several decades hackers and crackers have abused system defects for fun and profit. This course focuses on how software developers can build 'hardened' systems that are more resistant to attacks preventing financial losses and damage to the organization's reputation. Not only will students learn how attackers think and operate but will apply that knowledge to secure and improve common web applications.
    INFO-5059Java EE Client/Server Applications3
    The main focus of this course is to develop cloud based server applications in conjunction with mobile web clients. Server projects utilizing a Spring framework will serve mobile clients implementing Google endorsed technologies. The application will be served from a Docker container on a cloud based (Amazon EC2) Linux server. The front end, utilizes the latest version of Angular along with a current Material Design framework.
    INFO-5103Managing Software Projects-Applied 25
    This project-based course is designed to allow students to demonstrate the various software development skills that they have been exposed to in previous course offerings. Students are wholly responsible for the entire project development lifecycle. Students will work in project teams using various tools to develop a single comprehensive solution. The solution that they develop can be used as part of a portfolio for securing employment upon graduation.
    INFO-5126Mobile Development-Adv3
    The third mobile development course includes topics on: current technologies and architectures for mobile-enable enterprise applications, multi-media programming, and multi-threaded programming. Students get practical experience with the unique advantages, capabilities, and challenges of mobile development, building reliable and secure mobile-based solutions.

    Group 2
    TAKE INFO-5104 OR INFO-3142
    INFO-5104C++ Advanced Topics3
    This is the capstone course in the C++ stream, examining advanced topics in C++ systems programming. The major topics covered are process and thread management, and both intra- and inter-process communications. Solutions will employ the skills developed in all previous C++ and design patterns courses.
    INFO-3142Emerging Technologies3
    This course provides an overview and practical application of emerging technologies tools and techniques such as machine learning, data mining, and statistical pattern recognition, using modern tools and languages such as Python and Lua. Other new and trending technologies will also be investigated as time allows.

    Group 3
    Take INFO-5103 or INNV-5001
    INFO-5103Managing Software Projects-Applied 25
    This project-based course is designed to allow students to demonstrate the various software development skills that they have been exposed to in previous course offerings. Students are wholly responsible for the entire project development lifecycle. Students will work in project teams using various tools to develop a single comprehensive solution. The solution that they develop can be used as part of a portfolio for securing employment upon graduation.
    INNV-5001Innovation Applications3
    This course will explore Innovation through projects and group work that are assigned and developed in collaboration with your instructor. With the help of case studies, research reports, and creative thinking methods students will leverage their personal experiences and develop their capacity to innovate in multiple fields.

    Gen Ed - Electives
    Take 6 General Education Credits -
    Normally taken in Levels 5 and 6

    Program Residency
    Students Must Complete a Minimum of 30 credits in this
    program at Fanshawe College to meet the Program Residency
    requirement and graduate from this program

  • Careers - 2019/2020

    Career Opportunities

    Graduates can expect to obtain software construction positions in the following development areas: corporate software, financial, web, business, entertainment and gaming, simulations, medical imaging, programming control systems, commercial applications, network software, Linux and Windows development. As a programmer, database developer, software architect or business analyst, you will have many exciting opportunities in any field that uses computers as a business or research tool.
  • More Information - 2019/2020

    A Mandatory Mobile Computing (Laptop) Program
    A Co-operative Education Program
    A Three-Year Ontario College Advanced Diploma Program
    Program Code: CPA2
    Campus Code: LCD (LCD - London Downtown)
    September/January Admission
    15 week terms
    Academic Calendars available at www.fanshawec.ca/academicdates


    School of Information Technology: 519-452-4291

    Program Description

    IT jobs are in demand!

    If you want a job in IT with great career prospects, check out Fanshawe College's Computer Programmer Analyst program. Courses start with a focus on fundamental IT topics, and become increasingly in-depth so you can develop the skills employers demand most. Object-oriented development in both Windows and Linux-based client/server systems is emphasized.

    This program, Computer Programmer Analyst, is the most intensive of our software development programs. You'll study software development, client/server web development (both .NET and J2EE), database development (MSSQL and Oracle) and code level graphics, animation and simulation with C++ and 3D Graphics.

    Fanshawe College is one of only three colleges with SharcNet - a super-fast supercomputer in which you will have the opportunity to work on first-hand in second and third year. 

    This is an essential co-op program to help you gain excellent hands-on experience in preparation for a great career! Co-op placements are not guaranteed and will depend on availability of jobs and student eligibility.

    For those interested in game development, the Computer Programmer Analyst program will prepare you for entry into the Game Development - Advanced Programming Graduate Certificate program.

    You will also have the opportunity to develop your communication and interpersonal skills (both oral and written) to work effectively in the business world. Fanshawe College's Computer Programmer Analyst program is a three-year Ontario College Advanced Diploma program.

    Laptop required - Laptops are used in and outside the classroom to simulate the increasingly mobile nature of the business world.

    Other Information

    • Students in this program will be required to take an online general education elective in Level 6.
    • Graduates of the Fanshawe College Business Fundamentals Ontario College Certificate program who meet the admission requirements can apply to Level 1 of the Computer Programmer Analyst Advanced Ontario College Diploma program and may be granted up to three internal credits towards this program.
    • A laptop computer is to be purchased by the student, approximately $1400.00.  The cost of the laptop is included in the General Expenses stated in the Fee Schedule.
    • A CONNECT lab fee of $50.00 per academic term is included in the Additional Program Fees stated in the Fee Schedule.  This fee helps cover costs associated with the delivery of the CONNECT mobile computing program. 
    • Students should not purchase a laptop computer or software until the College publishes the recommended configuration, models, software titles and versions for that academic year.

    Co-operative Education

    This three-year program has three co-op work terms.  Students who fulfill both the academic and co-op requirements of the program will be eligible to graduate with a Co-op Endorsed Diploma.  More information about Co-operative Education can be found at www.fanshawec.ca/co-op.
    Learning Outcomes 

    The graduate has reliably demonstrated the ability to

    1. troubleshoot and document problems associated with software installation andcustomization.

    2. analyze and define the specifications of a system based on requirements.

    3. design, test, document, and deploy programs based on specifications.

    4. apply knowledge of the design, modeling, implementation, and maintenance of a database.

    5. apply knowledge of networking concepts to develop, deploy, and maintain programs.

    6. propose and justify the design and development of an integrated solution based on an analysis of the business environment.

    7. use relevant methodologies, policies, and standards to develop integrated solutions.

    8. apply knowledge of security issues in the analysis, design, and implementation of integrated solutions.

    9. develop and maintain effective working relationships with clients.

    10. articulate, defend, and conform to workplace expectations found in information technology (IT) environments.

    11. contribute to the successful completion of the project applying the project management principles in use.

    Program Pathways

    For information about Program Pathways visit www.fanshawec.ca/programpathways.
Share this Program