Computer Programming
Computer Programming
Program Standard
The approved program standard for Computer
Programming programs of instruction leading to an
Ontario College Diploma delivered by Ontario Colleges of
Applied Arts and Technology (MTCU funding code 50503).
Acknowledgements ............................................................................................. 2
Introduction ....................................................................................................... 1
Preamble..............................................................................................................................................................4
List of Abbreviations..........................................................................................................................................21
Context ..............................................................................................................................................................22
Requirement ......................................................................................................................................................25
Purpose ..............................................................................................................................................................25
Introduction
This document is the Program Standard for the Computer Programming programs of
instruction leading to an Ontario College Diploma delivered by Ontario Colleges of
Applied Arts and Technology (MTCU funding code 50503).
The Program Standards Unit of the Ministry of Training, Colleges and Universities has
responsibility for the development, review and approval of system-wide standards for
programs of instruction at Ontario Colleges of Applied Arts and Technology.
Program standards
Program standards apply to all similar programs of instruction offered by colleges
across the province. Each program standard for a postsecondary program includes the
following elements:
Collectively, these elements outline the essential skills and knowledge that a student
must reliably demonstrate in order to graduate from the program.
Individual Colleges of Applied Arts and Technology offering the program of instruction
determine the specific program structure, delivery methods and other curriculum
matters to be used in assisting students to achieve the outcomes articulated in the
standard. Individual colleges also determine whether additional local learning outcomes
will be required to reflect specific local needs and/or interests.
1
The expression of program standards as vocational
learning outcomes
Vocational learning outcomes represent culminating demonstrations of learning and
achievement. They are not simply a listing of discrete skills, nor broad statements of
knowledge and comprehension. In addition, vocational learning outcomes are
interrelated and cannot be viewed in isolation from one another. As such, they should
be viewed as a comprehensive whole. They describe performances that demonstrate
that significant integrated learning by graduates of the program has been achieved and
verified.
The elements of the performance for each outcome define and clarify the level and
quality of performance necessary to meet the requirements of the vocational learning
outcome. However, it is the performance of the vocational learning outcome itself on
which students are evaluated. The elements of performance are indicators of the means
by which the student may proceed to satisfactory performance of the vocational learning
outcome. The elements of performance do not stand alone but rather in reference to the
vocational learning outcome of which they form a part.
2
Updating the program standard
The Ministry of Training, Colleges and Universities will undertake regular reviews of the
vocational learning outcomes for this program to ensure that the Computer
Programming Program Standard remains appropriate and relevant to the needs of
students and employers across the Province of Ontario. To confirm that this document
is the most up-to-date release, please contact the Ministry of Training, Colleges and
Universities.
3
Vocational standard
All graduates of Computer Programming programs have achieved the thirteen
vocational learning outcomes (VLOs), in addition to achieving the essential
employability outcomes and meeting the general education (GE) requirement.
Preamble
Increasingly, individuals and organizations look to computers, be they stand-alone or
networked, to optimize workflow, establish a presence in global markets, improve
communication, and just generally improve productivity. This pervasive integration of
computers and their associated technologies has led to a vast array of job opportunities
in the creation, integration, and support of information technology.
Ontario colleges of applied arts and technology offer a wide variety of information
technology programs that prepare graduates for both existing and emerging
opportunities in our society. At the heart of the information technology education
provided to Ontario college students is the ability to think critically, solve problems, and
acquire new skills quickly. While these abilities are practised and enhanced in the
context of a particular expertise, they are also transportable, with a reasonable training
period, to other areas of expertise involving computers and their associated
technologies.
Graduates of Computer Programming Programs have honed their abilities, acquiring the
expertise to develop, test, and deploy program code. As such, graduates are able to
work individually or as part of a team to gather business requirements and support the
recommendations for the improvement or automation of organizational workflow that
correspond to the day-to-day requirements of individuals and organizations. From
customizing software installations to performing routine maintenance of a database or
code, graduates work in a broad range of employment settings in a variety of sectors in
both large and small organizations.
Recently Computer Programming graduates have been hired into the following positions
including: computer programmers and interactive media developers; web designers and
developers; information systems analysts and consultants, and user support
technicians.
While the vocational learning outcomes for programs, such as Computer Programming,
articulate the depth and breadth of skills, knowledge, and attitudes required by
graduates when entering the work force, individual college programs may choose to
build on this standard by offering some degree of specialization. Irrespective of the
specialization, graduates' learning is significantly enhanced by opportunities for as much
practical experience as is feasible during their time in the program.
There are many opportunities for graduates to pursue further educational qualifications;
4
graduates may be granted credits towards a degree or certification through articulation
agreements between the colleges and universities. Students should contact individual
colleges for further details of a college's articulation agreements.
Note: The Ontario Council on Articulation and Transfer (ONCAT) maintains the
provincial postsecondary credit transfer portal, ONTransfer.
5
Synopsis of the vocational learning outcomes
1. identify, analyze, develop, implement, verify and document the requirements for a
computing environment.
4. implement robust computing system solutions through validation testing that aligns
with industry best practices.
6. select and apply strategies for personal and professional development to enhance
work performance.
7. apply project management principles and tools when working on projects within a
computing environment.
11. apply one or more programming paradigms such as, object-oriented, structured or
functional programming, and design principles, as well as documented
requirements, to the software development process.
6
12. model, design, implement, and maintain basic data storage solutions.
Note: The learning outcomes have been numbered as a point of reference; numbering
does not imply prioritization, sequencing, nor weighting of significance.
7
The vocational learning outcomes
1. The graduate has reliably demonstrated the ability to: identify, analyze, develop,
implement, verify and document the requirements for a computing environment.
8
2. The graduate has reliably demonstrated the ability to: contribute to the diagnostics,
troubleshooting, documenting and monitoring of technical problems using
appropriate methodologies and tools.
9
3. The graduate has reliably demonstrated the ability to: implement and maintain
secure computing environments.
10
4. The graduate has reliably demonstrated the ability to: implement robust computing
system solutions through validation testing that aligns with industry best practices.
11
5. The graduate has reliably demonstrated the ability to: communicate and collaborate
with team members and stakeholders to ensure effective working relationships.
12
6. The graduate has reliably demonstrated the ability to: select and apply strategies for
personal and professional development to enhance work performance.
a. Seek out and utilize external resources, including mentors, to support one's own
learning goals.
b. Exercise critical thinking skills when searching for information from various sources,
including the Internet.
c. Provide mutual support and feedback to peers using online sharing and
communication tools.
d. Recognize personal limits and seek assistance in a timely manner to resolve
problems beyond one’s own knowledge and skills.
e. Identify and utilize various forms of content media in the pursuit of professional
development.
f. Recognize learning needs and develop adaptive strategies to expand one’s personal
and professional knowledge.
g. Identify appropriate professional/trade organizations that support personal and
professional development.
h. Remain current with relevant technological change that could have an impact on the
workplace.
i. Identify appropriate information related to quality programs, practices, processes,
and procedures which apply to the computing environment e.g. from ISO*, IEEE*,
ACM*, CTAB*, TAC*, CIPS*.
13
7. The graduate has reliably demonstrated the ability to: apply project management
principles and tools when working on projects within a computing environment.
14
8. The graduate has reliably demonstrated the ability to: adhere to ethical, legal, and
regulatory requirements and/or principles in the development and management of
computing solutions and systems.
a. Identify special issues or constraints around projects regarding ethical, legal, and
regulatory considerations.
b. Research and report on ethical, legal, and regulatory considerations within the
computing industry.
c. Adhere to and advocate for ethical principles and standards.
d. Apply knowledge of existing confidentiality, privacy, and reporting regulations to
daily work.
e. Comply with licensing requirements.
f. Comprehend and apply guidelines from various computing sources that prescribe
quality programs, practices, processes, and procedures.
g. Maintain professional and honest relationships with stakeholders.
h. Evaluate the ethical implications of information handling within computing solutions
and systems.
i. Discuss the ethical issues related to current and emerging technologies, such as
Artificial Intelligence, data ownership, data privacy, etc. and comply with legislative
and workplace policies, and, if applicable, suggest appropriate changes.
j. Apply knowledge of confidentiality and privacy regulations, e.g. FIPPA* and other
pertinent regulatory frameworks and/or compliancy requirements that apply to
personal information collection, storage and distribution.
15
9. The graduate has reliably demonstrated the ability to: support the analysis and
definition of software system specifications based on functional and non-functional
requirements.
16
10. The graduate has reliably demonstrated the ability to: contribute to the
development, documentation, implementation, maintenance and testing of software
systems by using industry standard software development methodologies, based on
defined specifications and existing technologies/frameworks.
17
11. The graduate has reliably demonstrated the ability to: apply one or more
programming paradigms such as, (e.g. object-oriented, structured or functional
programming,) and design principles, as well as documented requirements, to the
software development process.
a. Design, test, document, and deploy object-oriented and other types of programming
applications based on basic specifications.
b. Apply the concept of encapsulation through the design of simple classes.
c. Assist in implementing ad-hoc polymorphism through overloaded methods or
overloaded operators.
d. Apply the concept of inheritance through the design of base and derived classes.
e. Assist in implementing inclusion polymorphism through the design and use of
abstract classes, interfaces or generics.
f. Implement collection classes, such as linked lists or vectors.
g. Assist in implementing parametric polymorphism / generics.
h. Illustrate the effective use of a pre-determined set of abstract data types.
i. Apply appropriate design architectures to the software development process.
j. Apply elements of UI* design to enhance user experience.
18
12. The graduate has reliably demonstrated the ability to: model, design, implement,
and maintain basic data storage solutions.
a. Use various methods to create, update, filter, sort, validate and manage basic data
storages tables, and queries.
b. Create SQL*, DML*, DDL* and DCL* statements for basic data retrieval, filtering,
sorting and definition.
c. Analyze an organization's data requirements.
d. Follow data storage practices and procedures to maintain a basic data storage for
an organization.
e. Follow database practices and procedures to create a basic database design for an
organization.
f. Prepare a basic data storage design report for an organization.
g. Develop application code to incorporate data access for report generation.
h. Apply normal forms to eliminate data redundancies in a database.
i. Propose, justify, design and develop a basic integrated data storage solution based
on an analysis of the business environment.
j. Assist in the design, test, documentation, and deployment of data-driven application
programs based on client requirements.
19
13. The graduate has reliably demonstrated the ability to: contribute to the integration of
network communications into software solutions by adhering to protocol standards.
a. Apply the devices and services used to support communications in data networks
found in business environments according to current industry standards when
developing software.
b. Apply network protocols in data networks found in business environments, when
developing software.
c. Address and name schemes at various layers of data networks in IPv4* and IPv6*
environments in keeping with industry best practices, when developing software.
d. Apply subnet masks and addresses to fulfill basic requirements in IPv4* and IPv6*
networks found in business environments in keeping with industry best practices.
e. Build a simple Ethernet network using routers and switches as would be found in a
business environment utilizing current technologies and techniques.
f. Use appropriate tools to perform basic router and switch configurations for business
environments according to current industry standards.
g. Apply knowledge of multi-tier system architecture when designing a software
system.
h. Recognize the risk of data loss and data corruption in a networked environment.
i. Apply knowledge of network and data security procedures and protocols when
developing, deploying and maintaining programs.
20
List of Abbreviations
ACM: Association for Computing Machinery
21
Essential employability skills
All graduates of the Computer Programming program of instruction must have reliably
demonstrated the essential employability skills learning outcomes listed below, in
addition to achieving the vocational learning outcomes and meeting the general
education requirement.
Context
Essential Employability Skills (EES) are skills that, regardless of a student’s program or
discipline, are critical for success in the workplace, in day-to-day living and for lifelong
learning.
The teaching and attainment of these EES for students in, and graduates from,
Ontario’s Colleges of Applied Arts and Technology are anchored in a set of three
fundamental assumptions:
• these skills are important for every adult to function successfully in society today;
• our colleges are well equipped and well positioned to prepare graduates with these
skills;
• these skills are equally valuable for all graduates, regardless of the level of their
credential, whether they pursue a career path, or they pursue further education.
Skill categories
To capture these skills, the following six categories define the essential areas where
graduates must demonstrate skills and knowledge.
• Communication
• Numeracy
• Critical Thinking & Problem Solving
• Information Management
• Interpersonal
• Personal
22
Application and implementation
In each of the six skill categories, there are a number of defining skills, or sub skills,
identified to further articulate the requisite skills identified in the main skill categories.
The following chart illustrates the relationship between the skill categories, the defining
skills within the categories and learning outcomes to be achieved by graduates from all
postsecondary programs of instruction that lead to an Ontario College credential.
23
Information • Gathering and 1. locate, select, organize and
Management managing document information using
information appropriate technology and
• Selecting and information systems.
using appropriate 2. analyze, evaluate and apply
tools and relevant information from a
technology for a variety of sources.
task or a project
• Computer literacy
• Internet skills
Interpersonal • Teamwork 1. show respect for the diverse
• Relationship opinions, values, belief systems
management and contributions of others.
• Conflict resolution 2. interact with others in groups or
• Leadership teams in ways that contribute to
• Networking effective working relationships
and the achievement of goals.
24
General education requirement
All graduates of the Computer Programming program must have met the general
education requirement described below, in addition to achieving the vocational and
essential employability skills learning outcomes.
Requirement
The General Education Requirement for programs of instruction is stipulated in the
Credentials Framework (Appendix A in the Minister’s Binding Policy Directive
Framework for Programs of Instruction).
Purpose
The purpose of General Education in the Ontario college system is to contribute to the
development of citizens who are conscious of the diversity, complexity and richness of
the human experience; who are able to establish meaning through this consciousness;
and who, as a result, are able to contribute thoughtfully, creatively and positively to the
society in which they live and work.
Themes
The themes listed below will be used to provide direction to Ontario Colleges in the
development and identification of courses that are designed to fulfil the General
Education Requirement for programs of instructions.
Each theme provides a statement of Rationale and offers suggestions related to more
specific topic areas that could be explored within each area. These suggestions are
neither prescriptive nor exhaustive. They are included to provide guidance regarding the
nature and scope of content that would be judged as meeting the intent and overall
25
goals of General Education.
Arts in society:
Rationale:
The capacity of a person to recognize and evaluate artistic and creative achievements
is useful in many aspects of his/her life. Since artistic expression is a fundamentally
human activity, which both reflects and anticipates developments in the larger culture,
its study will enhance the student’s cultural and self-awareness.
Content:
Courses in this area should provide students with an understanding of the importance of
visual and creative arts in human affairs, of the artist’s and writer’s perceptions of the
world and the means by which those perceptions are translated into the language of
literature and artistic expression. They will also provide an appreciation of the aesthetic
values used in examining works of art and possibly, a direct experience in expressing
perceptions in an artistic medium.
Civic Life:
Rationale:
In order for individuals to live responsibly and to reach their potential as individuals and
as citizens of society, they need to understand the patterns of human relationships that
underlie the orderly interactions of a society’s various structural units. Informed people
will have knowledge of the meaning of civic life in relation to diverse communities at the
local, national and global level and an awareness of international issues and the effects
of these on Canada, as well as Canada’s place in the international community.
Content:
Courses in this area should provide students with an understanding of the meaning of
freedoms, rights and participation in community and public life, in addition to a working
knowledge of the structure and function of various levels of government (municipal,
provincial, national) in a Canadian and/or in an international context. They may also
provide an historical understanding of major political issues affecting relations between
the various levels of government in Canada and their constituents.
Rationale:
Knowledge of the patterns and precedents of the past provide the means for a person
to gain an awareness of his or her place in contemporary culture and society. In
26
addition to this awareness, students will acquire a sense of the main currents of their
culture and that of other cultures over an extended period of time in order to link
personal history to the broader study of culture.
Content:
Courses in this area are those that deal broadly with major social and cultural themes.
These courses may also stress the nature and validity of historical evidence and the
variety of historical interpretation of events. Courses will provide the students with a
view and understanding of the impact of cultural, social, ethnic or linguistic
characteristics.
Personal Understanding:
Rationale:
Content:
Courses in this area will focus on understanding the individual: his or her evolution;
situation; relationship with others; place in the environment and universe; achievements
and problems; and his or her meaning and purpose. They will also allow students the
opportunity to study institutionalized human social behaviour in a systematic way.
Courses fulfilling this requirement may be oriented to the study of the individual within a
variety of contexts.
Rationale:
Matter and energy are universal concepts in science, forming a basis for understanding
the interactions that occur in living and non-living systems in our universe. Study in this
area provides an understanding of the behaviour of matter that provides a foundation
for further scientific study and the creation of broader understanding about natural
phenomena.
Similarly, the various applications and developments in the area of technology have an
increasing impact on all aspects of human endeavour and have numerous social,
economic and philosophical implications. For example, the operation of computers to
process data at high speed has invoked an interaction between machines and the
27
human mind that is unique in human history. This and other technological developments
have a powerful impact on how we deal with many of the complex questions in our
society.
Content:
Courses in this area should stress scientific inquiry and deal with basic or fundamental
questions of science rather than applied ones. They may be formulated from traditional
basic courses in such areas of study as biology, chemistry, physics, astronomy, geology
or agriculture. As well, courses related to understanding the role and functions of
computers (e.g., data management and information processing) and assorted
computer-related technologies should be offered in a non-applied manner to provide
students with an opportunity to explore the impact of these concepts and practices on
their lives.
28
Permission to reproduce
Conditions:
1. Every reproduction must be marked “© 2018, Queen’s Printer for Ontario” at the
beginning of the document or any part of it that is reproduced.
2. No other uses may be made of the document.
3. The document may not be reproduced for sale.
4. The Ministry may revoke the permission to reproduce at any time.
For permission to copy this document, in whole or in part, for other purposes or by other
institutions, please contact
Or by e mail: psu@ontario.ca
978-1-4868-2895-1 PDF
29