Mount Maunganui College Digital Technologies Internal Assessment Resource Achievement Standard 91372 Digital Technologies 2.45: Construct a plan for an advanced computer program for a specified task (version 1) Credits: 3 Achievement Achievement with Merit Achievement with Excellence Construct a plan for an advanced computer program for a specified task. Skilfully construct a plan for an advanced computer program for a specified task. Efficiently construct a plan for an advanced computer program for a specified task. Achievement Standard 91373 Digital Technologies 2.46: Construct an advanced computer program for a specified task (version 1) Credits: 3 Achievement Construct an advanced computer program for a specified task. Achievement with Merit Achievement with Excellence Skilfully construct an advanced computer program for a specified task. Efficiently construct an advanced computer program for a specified task. Resource title: Planning and Programming Task Student instructions Introduction You are required to create a simple game for a class of seven year olds to play. The game should be animated where the player can move an object up or down to avoid other objects moving left to right (or right to left) across the game area. You need to decide on how a player is to gain or lose “points” or gain and lose “lives”. Specifications: On starting the player should be given the game’s instructions. The player inputs their name, by entry in a textbox, on the game form. (For higher grades the name needs to be validated to ensure only letters are entered). Add “lives” so that if a player loses so many points they lose a life, after losing a specified number of lives the game ends. Introduce levels of difficulty, as the player’s score gets higher. (This could be speeding up objects or slowing them down.). You will be assessed on: Your planning (the sketch of your game with necessary controls labelled; investigate the problem to find the inputs, outputs and processing required so you can identify the variables required and their data types; pseudo code to specify a procedural structure that combines actions, conditions and control structures; specifying a set of test cases for the inputs of the 1 Mount Maunganui College Digital Technologies program). Implementing the plan to write and test the program (evidence of testing can be presented as a journal or as a collection of annotated screen shots), the way in which you implement the plan to write and test the program. (You are required to work in an organised and efficient way, using time effectively.) Evidence for assessment may be provided in any order and at any stage during the time allocated for the task. This is an individual assessment activity. You have until Thursday 29 August in which to complete the Implementation of this assessment. Your planning/design is due Thursday 8 August Ensure that in your solution: there is at least one indexed data structure and the program is decomposed into user-defined modules with scoped variables, constants and derived values effectively to increase the flexibility and robustness of the program. interaction between modules is minimised, modules are reused rather than duplicated, and the procedural structure of each module is efficient. Task 1: Planning Investigate the problem. Draw a sketch of your game identifying and labelling the control structures (labels, textboxes, menu items, timer(s) etc.) Identify and record. The kind of information that the player will need to input. The information that will be output by the program. Processing (basic processes that the program needs to handle e.g. using a timer to move objects left to right, checking for collisions etc). Identify the variables and their data types needed to hold the information. (you must include at least two different kinds of information, for example, text information, numeric information) Develop the pseudo code to specify a procedural structure that combines actions, conditions and control structures. Specify a set of test cases for the inputs of the program (validating the inputs). Note: Your planning must be submitted Thursday 8 August. This is the assessment for AS91372 - Digital Technologies 2.45 Construct a plan for an advanced computer program for a specified task. Task 2: Programming Write your program to match the specifications provided, including comments that explain the code. Task 3: Testing and debugging Write a list of what you will test the program for, including sample inputs. (test plan) Test your program, record the results of your testing and fix any errors (debugging) – Test that the program works correctly on a sample of expected inputs (normal, nonexceptional, and non-error inputs). 2 Mount Maunganui College – – Digital Technologies Test that the program works correctly on a range of inputs (some exceptional, out of range, boundary, or invalid). For example, check that the player’s image cannot move outside the form’s boundary, that only letters can be input as the player name. Test the functioning of your program as you make additions or changes to the code. Print the code; then take screen shots and make written comments describing what works and what you need to change. Task 4: Evidence Collect and annotate evidence (for example, through a journal, a collection of annotated screen shots, photographs, and/or screen dumps) documenting how you have coded the solution and followed planned testing procedures. The evidence should show that you have followed a plan for building your program (for example, by saving successive versions of code), that you have tested each bit as you have added complexity, and that you have worked in an organised and efficient way, using time effectively (for example, not using a trial-and-error approach unnecessarily). At the end of Week 4 Hand in: – A printout of your source code – – An electronic version of your code All documentation related to testing procedures. 3 Mount Maunganui College Digital Technologies Checklist – AS91372 Digital Technologies 2.45 Construct a plan for an advanced computer program for a specified task Assessment evidence required Evidence Achieved Merit independently Excellence As for Merit I have specified variables, their scope and data types I have chosen well the scopes for variables (global, local) (explanatory note 7) I have specified variables, constants, and derived values effectively so as to maximise the flexibility and robustness of the plan Plan I have specified an indexed data structure (array/list) I have specified a modular structure for the program, including details of the procedural structure of the modules (methods, functions) I have specified a set of test cases with expected input for testing the program. My modules and functions are well named with well chosen parameters I have specified a set of test cases with expected and boundary input for testing the program. Well structured, logical decomposition (Explanatory note 10) Pseudo Code in plan Pseudo Code in plan Plan constructed I have specified a comprehensive set of test cases with expected, boundary and invalid input for testing the program Plan Plan Checklist – AS91373 Digital Technologies 2.46 Construct an advanced computer program for a specified task Assessment evidence required Evidence Achieved Merit Excellence Plan implemented in a suitable programming language (Visual C# 2010) I have independently implemented a plan for an advanced program in a suitable programming language that uses well chosen scopes for variables, and well chosen parameters for modules I have set out the program code clearly and documented the program with comments I have documented the program with variable and module names and comments that accurately describe code function and behaviour I have tested and debugged my program to ensure it works on a sample of expected inputs I have tested and debugged my program in an organised way to ensure it works on a sample of expected and boundary inputs I have constructed an advanced program where the modules (including their procedural structures) constitute a wellstructured logical decomposition of the task I have set out the program code concisely and documented the program with comments that explain and justify decisions I have used variables, constants, and derived values effectively so as to increase the flexibility and robustness of the program I have comprehensively tested and debugged my program in an organised way to ensure it works on a sample of expected, boundary and invalid inputs Form and code layout Code Testing plan or log or documentation 4