Introduction to Computer Science, Grade 11
NOTE
If desired, visit the canonical source for this curriculum.
Overall and Specific Expectations
Strand A. Programming Concepts and Skills
By the end of this course, students will:
A1. Data Types and Expressions
demonstrate the ability to use different data types, including one-dimensional arrays, in computer programs;
Link to original
A1.1
use constants and variables, including integers, floating points, strings, and Boolean values, correctly in computer programs;
Link to original
A1.2
demonstrate an understanding of how a computer uses various systems (e.g., binary, hexadecimal, ASCII, Unicode) to internally represent data and store information;
Link to original
A1.3
use assignment statements correctly with both arithmetic and string expressions in computer programs;
Link to original
A1.4
demonstrate the ability to use Boolean operators (e.g., AND, OR, NOT), comparison operators (i.e., equal to, not equal to, greater than, less than, greater than or equal to, less than or equal to), arithmetic operators (e.g., addition, subtraction, multiplication, division, exponentiation, parentheses), and order of operations correctly in computer programs;
Link to original
A1.5
describe the structure of one-dimensional arrays and related concepts, including elements, indexes, and bounds;
Link to original
A1.6
write programs that declare, initialize, modify, and access one-dimensional arrays.
Link to original
A2. Control Structures and Simple Algorithms
demonstrate the ability to use control structures and simple algorithms in computer programs;
Link to original
A2.1
write programs that incorporate user input, processing, and screen output;
Link to original
A2.2
use sequence, selection, and repetition control structures to create programming solutions;
Link to original
A2.3
write algorithms with nested structures (e.g., to count elements in an array, calculate a total, find highest or lowest value, or perform a linear search).
Link to original
A3. Subprograms
demonstrate the ability to use subprograms within computer programs;
Link to original
A3.1
demonstrate the ability to use existing sub-programs (e.g., random number generator, substring, absolute value) within computer programs;
Link to original
A3.2
write subprograms (e.g., functions, procedures) that use parameter passing and appropriate variable scope (e.g., local, global), to perform tasks within programs.
Link to original
A4. Code Maintenance
use proper code maintenance techniques and conventions when creating computer programs.
Link to original
A4.1
demonstrate the ability to identify and correct syntax, logic, and run-time errors in computer programs;
Link to original
A4.2
use workplace and professional conventions (e.g., naming, indenting, commenting) correctly to write programs and internal documentation;
Link to original
A4.3
demonstrate the ability to interpret error messages displayed by programming tools (e.g., compiler, debugging tool), at different times during the software development process (e.g., writing, compilation, testing);
Link to original
A4.4
use a tracing technique to understand program flow and to identify and correct logic and run-time errors in computer programs;
Link to original
A4.5
demonstrate the ability to validate a program using a full range of test cases.
Link to original
Strand B. Software Development
By the end of this course, students will:
B1. Problem-solving Strategies
use a variety of problem-solving strategies to solve different types of problems independently and as part of a team;
Link to original
B1.1
use various problem-solving strategies (e.g., stepwise refinement, divide and conquer, working backwards, examples, extreme cases, tables and charts, trial and error) when solving different types of problems;
Link to original
B1.2
demonstrate the ability to solve problems independently and as part of a team;
Link to original
B1.3
use the input-process-output model to solve problems.
Link to original
B2. Designing Software Solutions
design software solutions to meet a variety of challenges;
Link to original
B2.1
design programs from a program template or skeleton (e.g., teacher-supplied skeleton, Help facility code snippet);
Link to original
B2.2
use appropriate vocabulary and mode of expression (i.e., written, oral, diagrammatic) to describe alternative program designs, and to explain the structure of a program;
Link to original
B2.3
apply the principle of modularity to design reusable code (e.g., subprograms, classes) in computer programs;
Link to original
B2.4
represent the structure and components of a program using industry-standard programming tools (e.g., structure chart, flow chart, UML [Unified Modeling Language], data flow diagram, pseudocode);
Link to original
B2.5
design user-friendly software interfaces (e.g., prompts, messages, screens, forms).
Link to original
B3. Designing Algorithms
design algorithms according to specifications;
Link to original
B3.1
design simple algorithms (e.g., add data to a sorted array, delete a datum from the middle of an array) according to specifications;
Link to original
B3.2
solve common problems (e.g., calculation of hypotenuse, determination of primes, calculation of area and circumference) by applying mathematical equations or formulas in an algorithm;
Link to original
B3.3
design algorithms to detect, intercept, and handle exceptions (e.g., division by zero, roots of negatives).
Link to original
B4. The Software Development Life Cycle
apply a software development life-cycle model to a software development project.
Link to original
B4.1
describe the phases (i.e., problem definition, analysis, design, writing code, testing, implementation, maintenance), milestones (e.g., date of completion of program specification), and products (e.g., specification, flow chart, program, documentation, bug reports) of a software development life cycle;
Link to original
B4.2
use a variety of techniques (e.g., dialogue, questionnaires, surveys, research) to clarify program specifications;
Link to original
B4.3
use project management tools (e.g., Gantt chart, critical path diagram, PERT chart) to show tasks and milestones in a teacher-led project;
Link to original
B4.4
use a test plan to test programs (i.e., identify test scenarios, identify suitable input data, calculate expected outcomes, record actual outcomes, and conclude âpassâ or âfailâ) by comparing expected to actual outcomes;
Link to original
B4.5
use a variety of methods to debug programs (e.g., manual code tracing, extra code to output the state of variables);
Link to original
B4.6
communicate information about the status of a project (e.g., milestones, work completed, work outstanding) effectively in writing throughout the project.
Link to original
Strand C. Computer Environments and Systems
By the end of this course, students will:
C1. Computer Components
relate the specifications of computer components to user requirements;
Link to original
C1.1
relate the specifications of the internal components of a computer (e.g., CPU, RAM, ROM, cache, hard drive, motherboard, power supply, video card, sound card) to user requirements;
Link to original
C1.2
relate computer specifications (e.g., processor type, bus speed, storage capacity, amount of memory) to user requirements, using correct terminology;
Link to original
C1.3
relate the specifications of common computer peripheral devices (e.g., printer, monitor, scanner, keyboard, mouse, speakers, USB flash drive) to user requirements;
Link to original
C1.4
identify the computer components involved in executing programming operations (e.g., assignment statements store a value in RAM, arithmetic operations are performed in the CPU).
Link to original
C2. File Maintenance
use appropriate file maintenance practices to organize and safeguard data;
Link to original
C2.1
use an operating system to organize computer programs and files logically on local and shared drives;
Link to original
C2.2
describe procedures to safeguard data and programs from malware (e.g., viruses, Trojan horses, worms, spyware, adware, malevolent macros), and devise a thorough system protection plan;
Link to original
C2.3
use standard procedures to back up and archive user files.
Link to original
C3. Software Development
demonstrate an understanding of the software development process.
Link to original
C3.1
demonstrate an understanding of an integrated software development environment and its main components (e.g., source code editor, compiler, debugger);
Link to original
C3.2
work independently, using support documentation (e.g., IDE Help, tutorials, websites, user manuals), to design and write functioning computer programs;
Link to original
C3.3
explain the difference between source code and machine code;
Link to original
C3.4
explain the difference between an interpreter and a compiler;
Link to original
C3.5
explain the difference between the functions of applications, programming languages, and operating systems.
Link to original
Strand D. Topics in Computer Science
By the end of this course, students will:
D1. Environmental Stewardship and Sustainability
describe policies on computer use that promote environmental stewardship and sustainability;
Link to original
D1.1
describe the negative effects of computer use on the environment (e.g., creation of e-waste, excessive use of paper resulting from unnecessary printing of files and emails, heavy power consumption) and on human health (e.g., exposure to radiation, musculoskeletal disorders, eye strain, mental health problems resulting from social isolation, various health consequences of reduced activity levels);
Link to original
D1.2
identify measures that help reduce the impact of computers on the environment (e.g., lab regulations, school policies, corporate and government policies promoting paperless workplaces and computer recycling and reuse) and on human health (e.g., ergonomic standards);
Link to original
D1.3
describe ways in which computers are or could be used to reduce resource use and to support environmental protection measures (e.g., computer modelling to reduce use of physical resources; management of natural resources);
Link to original
D1.4
identify government agencies and community partners that provide resources and guidance for environmental stewardship (e.g., local community recycling centres, private companies that refurbish computers, printer cartridge recycling programs).
Link to original
D2. Exploring Computer Science
demonstrate an understanding of emerging areas of computer science research;
Link to original
D2.1
demonstrate an understanding of emerging areas of research in computer science (e.g., cryptography, parallel processing, distributed computing, data mining, artificial intelligence, robotics, computer vision, image processing, humanâcomputer interaction, security, geographic information systems [GIS]);
Link to original
D2.2
demonstrate an understanding of an area of collaborative research between computer science and another field (e.g., bioinformatics, geology, economics, linguistics, health informatics, climatology, sociology, art);
Link to original
D2.3
report on an area of research related to computer science, using an appropriate format (e.g., website, presentation software, video).
Link to original
D3. Postsecondary Opportunities
describe postsecondary education and career prospects related to computer studies.
Link to original
D3.1
research and describe career choices and trends in computer science, at the local, national, and international levels;
Link to original
D3.2
identify and report on opportunities for experiential learning (e.g., co-op programs, job shadowing, career fairs) in the field of computer science;
Link to original
D3.3
research and report on postsecondary educational programs leading to careers in information systems and computer science (e.g., institutions offering relevant programs, industry certifications, courses of study, entrance requirements, length of programs, costs);
Link to original
D3.4
identify groups and programs that are available to support students who are interested in pursuing non-traditional career choices related to information systems and computer science (e.g., mentoring programs, virtual networking/support groups, specialized postsecondary programs, relevant trade/industry associations);
Link to original
D3.5
describe the Essential Skills and work habits that are important for success in computer studies, as identified in the Ontario Skills Passport.
Link to original