hts.StevenWood.com

Activity 5-2

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

Yahtzee
Rubric

Developing a Plan    

Unit 5 Activity 2

Time:  320 minutes

Description  

This activity focuses on the planning stage of the problem solving process. Students will apply planning techniques learned earlier in the course to a relatively large group or individual project. The plan for the programming project should emphasize modular design.

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
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;
B3. design algorithms according to specifications;
B4. apply a software development life-cycle model to a software development project.
Specific Expectations
A2.3 write algorithms with nested structures (e.g., to count elements in an array, calculate a total, find highest or lowest value, or perform a linear search).
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.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.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);
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.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.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 seen and used at least one planning technique in the context of small problems.

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.

  • Teachers must decide the format for the final project. They may have all students working on the same basic problem, or students may choose their own problems within some clearly stated specifications. Students may work individually or in groups. Group projects are closer to the real-life software development process, and they can be larger in scope. However, individual assessment becomes more difficult and the students and teachers must accept the overhead cost of applying group management skills.

  • Planning a solution is the single most difficult step in the problem solving process. With a good plan, creating a solution should be relatively trivial. Understandably, most students will struggle with this process.

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

Teaching/Learning Strategies  

  • All students after the presentation of Activity 5-1 (Defining the Problem) will select the main classes that will be developed in the final project (Short List) (Appendix 5.2.1).

  • Students will develop a modular plan for a programming project based upon clearly defined specifications by developing important methods.

  • Students will clearly document the plan using planning techniques Memo #2 (Appendix 5.2.2) and Memo #3 (Appendix 5.2.3).

  • Students will develop a plan which divides the solution into modules, each of which must be modified.

  • Students will use the plan to divide tasks. Tasks may be divided amongst group members, or divided into a timeline with clearly stated deadlines.

  • Students will evaluate the advantages and disadvantages of their planning techniques.

  • Students will create a skeleton program to help evaluate their planning.

Assessment & Evaluation of Student Learning

Thinking/Inquiry X Application X Communication X Knowledge X

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 important methods,

  • a formative assessment of the students’ individual work within a group setting, if applicable.

  • a summative assessment in the form of a report Written Presentation Rubric (Appendix 5.2.4) on the relationship between the plan and the actual coded solution, and

  • a summative assessment in the form of class presentation Oral Presentation Rubric  (Appendix 5.2.5) of the skeleton program.

Accommodations  

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

  • provide a planning framework to which students will add modules;

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

  • investigate software development tools;

  • provide a graduated set of specifications, such as basic requirements, minor enhancements, major enhancements.

Resources

  • Hume, J.N.P. Problem Solving and Programming in Turbo Pascal. Toronto: Holt Software Associates Inc., 1994. ISBN 0-921598-19-X

  • Hume, J.N.P. Problem Solving and Programming in Turing. Toronto: Holt Software Associates Inc., 1993. ISBN 0-921598-16-5

  • Carter, John. Problem Solving in Pascal. Toronto: Addison-Wesley Publishers Limited, 1989,
    pp. 343, 350. ISBN 0-201-11215-9

  • 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+