hts.StevenWood.com

Software Development

Home ] Up ] Programming Concepts & Skills ] [ Software Development ] Computer Environments & Systems ] Topics in Computer Science ][ Last Page ]

Software Development

Overall Expectations

By the end of this course, students will:

B1. use a variety of problem-solving strategies to solve different types of problems independently and as part of a team;
B2. design software solutions to meet a variety of challenges;
B3. design algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
   

Specific Expectations

B1.

Problem-solving Strategies

  By the end of this course, students will:
 
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;
B1.2 demonstrate the ability to solve problems independently and as part of a team;
B1.3 use the input-process-output model to solve problems.
   

B2.

Designing Software Solutions

  By the end of this course, students will:
 
B2.1 design programs from a program template or skeleton (e.g., teacher-supplied skeleton, Help facility code snippet);
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;
B2.3 apply the principle of modularity to design reusable code (e.g., subprograms, classes) in computer programs;
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);
B2.5 design user-friendly software interfaces (e.g., prompts, messages, screens, forms).
   

B3.

Designing Algorithms

  By the end of this course, students will:
 
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;
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;
B3.3 design algorithms to detect, intercept, and handle exceptions (e.g., division by zero, roots of negatives).
   

B4.

The Software Development Life Cycle

  By the end of this course, students will:
 
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;
B4.2 use a variety of techniques (e.g., dialogue, questionnaires, surveys, research) to clarify program specifications;
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;
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;
B4.5 use a variety of methods to debug programs (e.g., manual code tracing, extra code to output the state of variables);
B4.6 communicate information about the status of a project (e.g., milestones, work completed, work outstanding) effectively in writing throughout the project.
   
   

 

Source: The Ontario Curriculum, Grades 10 to 12: Computer Studies, 2008 (revised), page 42-3 PDF Format

Home ] Up ] Programming Concepts & Skills ] [ Software Development ] Computer Environments & Systems ] 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 .
+SDG+