Program delivery note

Program delivery note: Fanshawe will temporarily deliver this program as listed under "locations" to the right of your screen or in the "+ more details" menu on mobile. Delivery format may change for January 2021 and onwards.

Become a computer programmer - 2021/2022

There is no career more valued, in-demand or dynamic these days than an IT career. If you have a passion for coding and computers, and you’re ready to develop the skills to land your dream job as a computer programmer, Fanshawe’s Computer Programming and Analysis advanced diploma is the right fit for you.

To start your journey, our computer programming courses will focus on fundamental IT topics. As you progress through the program, you’ll develop the in-depth and specialized computer knowledge employers are looking for.

What you learn from our computer programming courses:

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

Our computer programming courses will prepare you for an exciting IT career:

  • Develop your communication and interpersonal skills with a paid co-op work term in your final semester;
  • Gain hands-on experience as a computer programmer dealing with real people in real situations;
  • Graduate ready for your IT career or to specialize your skills further with one of Fanshawe’s IT graduate certificates, including Game Development - Advanced Programming;
  • Pursue an optional degree pathway with one of Fanshawe’s partner institutions in Ontario or around the world.

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.

 

Alana Weston

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 Program Progression

 

Fall Intake 

 

Fall

Winter

Summer

Year 1

Level 1

Level 2

Off

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 - 2021/2022

Admission Requirements

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)
OR
Academic and Career Entrance Certificate (ACE)
OR
Ontario High School Equivalency Certificate (GED) AND:
-  Any Grade 11 or Grade 12 Mathematics* (C), (U), or (M)
OR
Mature Applicant with standing in the required courses stated above

Note:

  • *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 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 Programming and Analysis-2021/2022

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 Vuetify, the student will become proficient in applying industry best practices to produce a robust full stack application. Subject to availability the student will be able to enhance their portfolio by publishing the finished project onto the cloud using Microsoft Azure.
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:
INFO-3139JavaScript3
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-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 such as artificial intelligence, machine learning and data analytics. Students will have the opportunity to experiment with specific ML application projects, utilizing natural language processing tools and frameworks.


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
Organizations and individuals need to be innovative to succeed in the complex and rapidly-changing global market place. In this course you will learn the fundamentals of innovation and how innovation applies to your discipline or field.Using this foundational knowledge, you will select and apply the novel and adaptive thinking processes and tools presented in the course to complete an innovative learning project in collaboration with other students. The project will be based on a real-world scenario identified in consultation with your professor. The project may involve an external live client and a multi-disciplinary approach. Throughout the course, novel and adaptive thinking skills and collaboration skills will be evaluated [and developed for GC and degree] through self assessment and peer assessment. This course is designed to give students in advanced diploma programs the opportunity apply innovative thinking to a real-world problem that they select.

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 - 2021/2022

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 - 2021/2022

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

Contact

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 Programming and Analysis 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 Programming and Analysis, 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 Programming and Analysis 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 Programming and Analysis 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 Programming and Analysis 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.

Program Pathways

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

Program Details

More details

2021/2022 academic year: Refer to the More Info tab to view offerings for the 2021/22 academic year. Canadian students can start applying in early October for programs with Sep. 2021, Jan. 2022 and May 2022 start dates through ontariocolleges.ca.

Canadian Students

Start Dates
Locations
Availability

Full Time Offerings

2021 January
London - Downtown
Open
2021 September
London - Downtown
Open
2022 January
London - Downtown
Open

International Students

Start Dates
Locations
Availability
2021 January
Fully Online
Open
2021 September
London - Downtown
Open
2022 January
London - Downtown
Open
Program Code
CPA3

Program Coordinator:

Michael Feeney Jr.

Delivery
Co-op
Day Time
Full-Time
Credential
Ontario College Advanced Diploma
Duration
90 weeks

@FanshaweCollege