Programming Concepts & Skills

Home ] Up ] [ Programming Concepts & Skills ] Software Development ] Designing Modular Programs ] Topics in Computer Science ][ Last Page ]

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


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.


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.


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


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

Home ] Up ] [ Programming Concepts & Skills ] Software Development ] Designing Modular Programs ] Topics in Computer Science ][Last Page]
All material on this site is copyright © 1997- by Steven Wood or as credited. All right reserved. Use of this site indicates you agreement with the  terms of use.
Send comments or questions to about this page.
Every attempt has been made to credit work under copyright. If there are any claims that copyright has been missed please contact the .