hts.StevenWood.com

Activity 5-4

Home ] Up ] Activity 5-1 ] Activity 5-2 ] Activity 5-3 ] [ Activity 5-4 ] Activity 5-5 ] HTS Bank Assignment ][ Last Page ]

Rubric

Expanding the Solution    

Unit 5 Activity 4

Time:  400 minutes

Description  

This activity focuses on the testing stage of the problem solving process. Students will apply planning techniques learned earlier in the course to a relatively large group or individual project. Testing should be done and clearly documented on the students' own code as well as other people's code.

Strand(s) & Learning Expectations  

Strand(s): 

A. Programming Concepts and Skills  B. Software Development  C. Computer Environments and Systems  D. Topics in Computer Science

Overall Expectations
A1. demonstrate the ability to use different data types, including one-dimensional arrays, in computer programs;
A2. demonstrate the ability to use control structures and simple algorithms in computer programs;
A3. demonstrate the ability to use subprograms within computer programs;
A4. use proper code maintenance techniques and conventions when creating computer programs.
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;
B4. apply a software development life-cycle model to a software development project.
Specific Expectations
A1.1 use constants and variables, including integers, floating points, strings, and Boolean values, correctly in computer programs;
A1.3 use assignment statements correctly with both arithmetic and string expressions in computer programs;
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;
A2.1 write programs that incorporate user input, processing, and screen output;
A2.2 use sequence, selection, and repetition control structures to create programming solutions;
A3.1 demonstrate the ability to use existing subprograms (e.g., random number generator, substring, absolute value) within computer programs;
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.
A4.1 demonstrate the ability to identify and correct syntax, logic, and run-time errors in computer programs;
A4.2 use workplace and professional conventions (e.g., naming, indenting, commenting) correctly to write programs and internal documentation;
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);
A4.4 use a tracing technique to understand program flow and to identify and correct logic and run-time errors in computer programs;
A4.5 demonstrate the ability to validate a program using a full range of test cases.
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.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);
B4.2 use a variety of techniques (e.g., dialogue, questionnaires, surveys, research) to clarify program specifications;
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.

Prior Knowledge & Skills  

Students:

  • know and understand the steps of the problem solving process;

  • understand and can write programs with selection and repetition structures, data structures, and subprograms;

  • have systematically tested subprograms and small programs.

Planning Notes  

  • The major goal of the final project should be to have students apply what they have learned, throughout the course, in the context of a larger problem. Teachers should act as a project manager or advisor.

  • Testing should be a continual process during the software development process. However, formal testing can be considered a separate activity from coding a solution.

  • The process of creating testing data should be considered as important as running the test cases.

  • Evaluation of this activity should be tied to the project as a whole.

Teaching/Learning Strategies  

  • Distribute Memo #5 (Appendix 5.4.1).

  • Students expand on the basic program developed in the previous activity (Activity 5-3: Creating a Solution)

  • Students will use debugging techniques to do ongoing testing on code as it is developed.

Assessment & Evaluation of Student Learning

Thinking/Inquiry X Application X Communication X Knowledge -

As Learning

Students will be given time to:

  • reflect on their progress/ understanding/areas of concern based on teacher/student/peer suggestions (e.g. after test take up)
  • journalize their reflections
  • reflect on the work of others

For Learning

The teacher will

  • observe student progress/performance
  • ask questions based on student work
  • check homework correctness/completion when appropriate
  • review formative quiz results

Of Learning

The teacher and students gather assessment information based on specific expectations outlined for this activity including:

  • a formative assessment of the students’ modular test cases,

  • a formative assessment of the students’ system test cases,

  • a summative assessment in the form of a report on the relationship between the plan and the actual coded solution, and

  • a summative assessment of the final project.

Accommodations  

The following are ways in which the activity can be modified to accommodate students' individual needs:

  • select group members based upon previous classroom performance and recognized strengths and weaknesses;

  • investigate debugging tools within a specific programming environment.

Resources

  • There are many examples of poor testing leading to software disasters. Here are a few:

    • A bug and a crash: the Ariane 5: http://www.around.com/ariane.html

    • Ariane 5: Flight 501 Failure, report of the Inquiry Board: http://www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html

    • BYTE 1995 Cover Story: How Software Doesn't Work

    • SIGSOFT: Some Software Related Disasters: ACM SIGSOFT Software Engineering Notes Volume 18 Number 2 April 1993 pages 4-5

    • Mars Climate Observer: http://www.spectrum.ieee.org/pubs/spectrum/9912/mars.html

  • Software QA/Test Resource Center: http://www.softwareqatest.com

  • Roedy Green. How to write unmaintainable code. http://mindprod.com/unmain.html
 

 

 

Source: Roy Paterno. Association of Computer Science Educators. Grade 11 Resources - Draft Version. http://www.acse.net/Grade11/ICS3U.doc. August 10, 2001. Adapted.
Home ] Up ] Activity 5-1 ] Activity 5-2 ] Activity 5-3 ] [ Activity 5-4 ] Activity 5-5 ] HTS Bank Assignment ][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+