| |
Designing Modular Programs
Overall Expectations
By the end of this course, students will:
C1. |
demonstrate the ability to apply modular design concepts in computer
programs; |
C2. |
analyse algorithms for their effectiveness in solving a problem. |
|
|
Specific Expectations
C1.
|
Computer Components
|
|
By the end of this course, students will: |
|
C1.1 |
decompose a problem into modules, classes, or abstract data
types (e.g., stack, queue, dictionary) using an object-oriented
design methodology (e.g., CRC [Class Responsibility
Collaborator] or UML [Unified Modeling Language]); |
C1.2 |
demonstrate the ability to apply data encapsulation in
program design (e.g., classes, records, structures); |
C1.3 |
demonstrate the ability to apply the process of functional
decomposition in subprogram design; |
C1.4 |
apply the principle of reusability in program design (e.g.,
in modules, subprograms, classes, methods, and inheritance). |
|
|
|
C2.
|
Algorithm Analysis
|
|
By the end of this course, students will: |
|
C2.1 |
demonstrate the ability to analyse a precondition (i.e.,
starting state) and a postcondition (i.e., ending state) in an
algorithm; |
C2.2 |
compare the efficiency of linear and binary searches, using
run times and computational complexity analysis (e.g., to
analyse the number of statements executed, the number of
iterations of a loop, or the number of comparisons performed); |
C2.3 |
compare the efficiency of sorting algorithms, using run
times and computational complexity analysis (e.g., to analyse
the number of statements executed, the number of iterations of a
loop, or the number of comparisons performed); |
C2.4 |
identify common pitfalls in recursive functions (e.g.,
infinite recursion, exponential growth in recursive algorithms
such as Fibonacci numbers). |
|
|
|
|
|
Source: The Ontario Curriculum, Grades 10 to 12: Computer
Studies, 2008 (revised), page 44
PDF Format |