| |
Programming Concepts and Skills
Overall Expectations
By the end of this course, students will:
A1. |
demonstrate the ability to use different data types and expressions
when creating computer programs; |
A2. |
describe and use modular programming concepts and principles in the
creation of computer programs; |
A3. |
design and write algorithms and subprograms to solve a variety of
problems; |
A4. |
use proper code maintenance techniques when creating computer
programs. |
|
|
Specific Expectations
A1.
|
Data Types and Expressions
|
|
By the end of this course, students will: |
|
A1.1 |
demonstrate the ability to use integer division and
resultant remainders in computer programs; |
A1.2 |
demonstrate an understanding of type conversion (e.g.,
string-to-integer, character-to-integer, integer-to-character,
floating point-to-integer, casting in an inheritance hierarchy); |
A1.3 |
demonstrate the ability to use non-numeric comparisons
(e.g., strings, comparable interface) in computer programs; |
A1.4 |
demonstrate an understanding of the limitations of finite
data representations (e.g., integer bounds, precision of
floating-point real numbers, rounding errors) when designing
algorithms; |
A1.5 |
describe and use one-dimensional arrays of compound data
types (e.g., objects, structures, records) in a computer
program. |
|
|
|
A2.
|
Modular Programming
|
|
By the end of this course, students will: |
|
A2.1 |
create a modular program that is divided among multiple
files (e.g., user-defined classes, libraries, modules); |
A2.2 |
use modular design concepts that support reusable code
(e.g., encapsulation, inheritance, method overloading, method
overriding, polymorphism); |
A2.3 |
demonstrate the ability to modify existing modular program
code to enhance the functionality of a program. |
|
|
|
A3.
|
Designing Algorithms
|
|
By the end of this course, students will: |
|
A3.1 |
demonstrate the ability to read from, and write to, an
external file (e.g., text file, binary file, database, XML file)
from within a computer program; |
A3.2 |
create linear and binary search algorithms to find data in
an array; |
A3.3 |
create subprograms to insert and delete array elements; |
A3.4 |
create a sort algorithm (e.g., bubble, insertion, selection)
to sort data in an array; |
A3.5 |
create algorithms to process elements in two-dimensional
arrays (e.g., multiply each element by a constant, interchange
elements, multiply matrices, process pixels in an image); |
A3.6 |
design a simple and efficient recursive algorithm (e.g.,
calculate a factorial, translate numbers into words, perform a
merge sort, generate fractals, perform XML parsing). |
|
|
|
A4.
|
Code Maintenance
|
|
By the end of this course, students will: |
|
A4.1 |
work independently, using support documentation (e.g., IDE
Help, tutorials, websites, user manuals), to resolve syntax
issues during software development; |
A4.2 |
develop and implement a formal testing plan (e.g., unit
testing, integration testing, regression testing) for a software
project to ensure program correctness; |
A4.3 |
create fully documented program code according to industry
standards (e.g., doc comments, docstrings, block comments, line
comments); |
A4.4 |
create clear and maintainable external user documentation
(e.g., Help files, training materials, user manuals). |
|
|
|
|
|
Source: The Ontario Curriculum, Grades 10 to 12: Computer
Studies, 2008 (revised), page 56-7
PDF Format |