Level 1 Digital Technologies internal assessment

advertisement
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
NZQA
Approved
Internal Assessment Resource
Digital Technologies Level 1
This resource supports assessment against:
Achievement Standard 91076 version 4
Construct a basic computer program for a specified task
Resource title: Create a Program for a Computer Game
3 credits

This resource:

Clarifies the requirements of the standard

Supports good assessment practice
 Should be subjected to the school’s usual assessment quality assurance
process
 Should be modified to make the context relevant to students in their school
environment and ensure that submitted evidence is authentic

Date version published by
Ministry of Education
February 2015 Version 3
Quality assurance status
These materials have been quality assured by NZQA.
To support internal assessment from 2015
NZQA Approved number A-A-02-2015-91076-02-4636
Authenticity of evidence
Teachers must manage authenticity for any assessment
from a public source, because students may have
access to the assessment schedule or student exemplar
material.
Using this assessment resource without modification
may mean that students’ work is not authentic. The
teacher may need to change figures, measurements or
data sources or set a different context or topic to be
investigated or a different text to read or perform.
This resource is copyright © Crown 2015
Page 1 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
Internal Assessment Resource
Achievement Standard Digital Technologies 91076: Construct a
basic computer program for a specified task
Resource reference: Digital Technologies 1.46 v3
Resource title: Create a Program for a Computer Game
Credits: 3
Teacher guidelines
The following guidelines are supplied to enable teachers to carry out valid and
consistent assessment using this internal assessment resource.
Teachers need to be very familiar with the outcome being assessed by Achievement
Standard Digital Technologies 91076.The achievement criteria and the explanatory
notes contain information, definitions, and requirements that are crucial when
interpreting the standard and assessing students against it.
Context/setting
This activity requires the student to construct a basic computer program for a
computer game.
Several approaches are possible when using this standard for assessment.
Student planning is assessed:
 The plan is developed by the student and approved by the teacher in conjunction
with Achievement Standard 91075 (DT 1.45).
 The students have been engaged in technological practice and are at the point
where they have fully established the specifications or plan for a computer program
and are ready to create it. These specifications or plan can be assessed against
(brief development and prototyping) 91044 (1.1) and 91047 (1.4) Technology
Achievement Standards.
Student planning is not assessed:
 The plan is developed by the teacher and class together. An example abstract
plan can be found in Student Resource A that accompanies this assessment activity.
The teacher may develop this plan further with the class.

The plan is developed by the teacher and given to the class.
In all cases ensure that the plan for the basic computer game program specifies:

variables, assignment and their data types
 procedural structure that combines predefined actions with sequence, selection
and iteration control structures

input from a user, sensors, or other external source

input test cases
Note: It is expected that the plan will evolve as programming takes place however the
plan is not assessed as part of this activity.
This resource is copyright © Crown 2015
Page 2 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
Prior learning
Before being given this task, ensure that your students have had ample opportunity
to practise using the programming language that they will use for this purpose.
Students need to have practised writing a program, working with an abstract plan,
and testing and debugging to ensure that the program is correct on all inputs –
expected, boundary, and invalid.
Students need to know how to use:
 variables involving at least two types of information (e.g. numeric, characters,
text) and assign data to the variables

sequence, selection and iteration control structures

predefined actions (e.g. predefined methods, functions, or procedures)

input from a user, sensors, or other external source.
Students must also know how to:

select explanatory variable names

set code out clearly and concisely
 document the program with succinct comments that explain and justify decisions
and accurately describe code function and behaviour
 make a program more flexible and robust by using actions, conditions and
control structures effectively and/or checking input data for validity, correctly handling
expected, boundary and invalid inputs, and using constants, variables and derived
values in place of literals
 write an effective procedural structure where each individual control structure
has a clear and well defined purpose within the structure of the program, and which
has no unnecessary duplication or repetition.
Conditions
The teacher will specify the language in which the students construct the program.
The programming language could be graphical, drag-and-drop or text based. The
language chosen must support the required data types and procedural structures,
and good comment facilities.
This is an individual assessment activity. It is recommended that students be given 6
weeks of in-class time to complete it. (This timeframe includes teaching learning and
assessment.)
Resource requirements
A programming development environment for a programming language with an
appropriate text editor, compiler or interpreter, or integrated development
environment (IDE). IDE’s such as Scratch or Game Maker are suitable for this task.
A different task might require additional specialised resources, such as soundrecording equipment, image-manipulation software, robots or other electronics.
Additional information
This standard requires you to make judgements about the ways in which the student
has constructed their program, as well as about the quality of the finished program.
For example, you are required to judge (for Merit) whether the student has shown
“independence and accuracy” in the construction of their program. Independence
relates to the student’s manner of working. Specifically, do they get on and make
This resource is copyright © Crown 2015
Page 3 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
their program with minimal advice and guidance from their teacher and without
relying on help from fellow students? Some evidence will come from classroom
observation and from conferencing with the student. You must be able to justify such
judgements with evidence e.g. notes that you have made. Accuracy can be
measured within the program (e.g. the student has accurately named their variables
and used comments which accurately describe code function and behaviour) and in
the way the student has tested and debugged their program etc.
The criterion for Excellence relates to the efficiency of the basic computer program.
Evidence for efficiency can be found within the program. For example the program
code will be set out concisely and documented with succinct comments that explain
and justify decisions. Efficient programming will also include comprehensive testing
procedures.
Independence
Ensure that all students know what “construct with independence” means in practice.
Achieved – construct (with some guidance)
“With some guidance” means the teacher (or peers) may:
 respond to student-initiated requests for assistance, for example, where to find
suitable resources, what tool to use
 sometimes prompt the student to, for example, consider other options, think
about the wisdom of a choice, reread the brief.
The teacher (or peers) may NOT, however:

make any decisions for students

assist a student in any hands-on way (do any part of the project for them)

respond to frequent questions or requests for step-by-step guidance.
Merit – construct “with independence and accuracy”
“With independence” means the student:

owns the programming (takes responsibility for achieving a quality program)

is well organised, self-starting, self-managing

does their own decision-making

books any equipment/machines they need in timely fashion

brings required materials/resources in timely fashion
 manages their files carefully so that they are easily retrieved at the start of the
next period
 carries out appropriate checking and testing and takes corrective action as
necessary
 recognises and deals with issues promptly instead of allowing them to blow the
timeline
 is always able to describe what they are doing, why, and where their
programming is up to.
It does NOT mean that the student:
 is unable to ask for help with technical or software issues (for example, faulty
equipment).
This resource is copyright © Crown 2015
Page 4 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
Excellence – construct “with independence and accuracy”
There is no step-up on “independence and accuracy” for Excellence – see Merit.
This resource is copyright © Crown 2015
Page 5 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR STUDENT USE
Internal Assessment Resource
Achievement Standard Digital Technologies 91076: Construct a
basic computer program for a specified task
Resource reference: Digital Technologies 1.46 v3
Resource title: Create a Program for a Computer Game
Credits: 3
Achievement
Construct a basic computer
program for a specified task.
Achievement with Merit
Skilfully construct a basic
computer program for a
specified task.
Achievement with
Excellence
Efficiently construct a basic
computer program for a
specified task.
Student instructions
Introduction
This assessment task requires you to construct a basic computer game program
using the plan you have developed or has been supplied by your teacher. This task
gives specific examples for an Asteroids Game. However, you may have developed
your game idea and program plan as part of technological practice or your teacher
may have specified a different game idea and program plan. Your teacher will specify
the language or IDE in which you construct your computer game program.
You will be assessed on how skilfully you construct the program and the efficiency of
the program.
The criterion for Excellence relates to the efficiency of the constructed basic
computer program. The evidence for efficiency can be found within the program e.g.
constructing a flexible and robust program, using an effective procedural structure
that constitutes a well-structured logical solution to the task, comprehensively testing
the program with expected, boundary and invalid input. See Student Resource A for
further clarification of these terms.
This is an individual assessment activity. You will have 6 weeks of in-class and outof-class time for teaching, learning and assessment.
Teacher note: Adapt the time allowed and the format of the assessment to meet
the needs of your students.
Task
Teacher note: Below is a set of generic requirements for a basic computer game
program. There is also an interpretation of these into a specific Asteroid
computer game and a sample abstract plan. You should rework these
requirements to suit your particular context or game idea.
Example of specifications for a basic computer game program
Using a plan (provided by the teacher or one you have developed) to construct a
basic computer game program that includes:
This resource is copyright © Crown 2015
Page 6 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR STUDENT USE
 a variety of variables (e.g. score, health, lives, can_move) storing at least two
types of information (e.g. number, boolean)

assignment of variables (e.g. set the score to 0)
 predefined actions (e.g. move free, move steps, switch to costume, change
sprite)

user input (e.g. Keyboard Left, Space)
 sequence Control Structure (e.g. the order of your programming commands
when the start game button is clicked)
 selection Control Structure (e.g. conditional statements such as if, then, else or
when event occurs, wait until, alarms, test variable)

iteration Control Structure (e.g. loops such as repeat or step event)

accurate and explanatory variable names (e.g. playerName, spr_SpaceShip)
 comprehensive testing and debugging to identify and fix errors in the program’s
functionality (e.g. does the space ship shoot bullets when the space bar is pressed).
Example of specifications for a particular Asteroids computer game
program
Using a plan (provided by the teacher or one you have developed) construct a basic
Asteroids computer game program which includes:

a title screen with playing instructions and a start button

a spaceship, bullets and at least two asteroids
 initialisation code for the appearance and locations of the spaceship, bullets and
asteroids on game start
 at least two variables (e.g. pilot_name, score) comprised of multiple data types
(e.g. String, Int)

code to assign values to variables (e.g. set score to 0 on game start)
 player input (e.g. keyboard presses to move the spaceship and fire bullets at the
asteroids)
 collisions between asteroids and bullets, and between asteroids and the
spaceship with related effects on score and lives
 increasing difficulty as the game progresses (e.g. the asteroids move faster, or
more asteroids appear)

feedback to the player on their performance on a ‘Game Over’ screen
 a way for Asteroids to continue moving (e.g. wrap around screen, bounce off
edge)
 a way for the spaceship to keep in game play when it hits the edge of the screen
(e.g. wrap around screen, bounce off edge).
As you code your program for your asteroid game be sure that your program
contains:
 predefined actions (e.g. move free, move steps, switch to costume, change
sprite)
 sequence control Structure (e.g. the order of your programming commands
when the start game button is clicked)
 selection control Structure (e.g. conditional statements such as if, then, else or
when event occurs, wait until, alarms, test variable)
This resource is copyright © Crown 2015
Page 7 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR STUDENT USE

iteration control Structure (e.g. loops such as repeat or step event)
 accurate and explanatory variable names and object names (e.g. pilot_name,
spr_SpaceShip).
Throughout the development of your program ensure that you are comprehensively
testing and debugging to identify and fix any errors in the program’s functionality (e.g.
test to check whether the score always increases by the correct amount when a
bullet hits an asteroid, the score variables reset when all lives are used making the
game ready for a new round). It is suggested that you utilise others to test your game
throughout the development.
Comment your program code so that the function and behaviour of each part of the
program is clear. Use succinct comments which explain and justify decisions (e.g.
Set the move speed to a negative value. It means I don't need to use two variables to
store a positive and negative value for thrust-speed). Use explanatory variable
names (e.g. pilotName or pilot_name). Set out the program code clearly and
concisely so that it is easy to read and does not contain unnecessary duplication.
To achieve with Merit you will need to demonstrate independence when constructing
your plan and ensure that you specify a procedural structure that results in a
sequence of actions that correctly performs the task and has no unintended
behaviour or consequences.
To demonstrate an efficient program, ensure you have an effective procedural
structure where each individual control structure has a clear and well defined
purpose within the structure of the program, and which has no unnecessary
duplication or repetition and is flexible and robust (e.g. The program uses a controller
object, so that all variables can be initialised in one script and in one location. This
means the program is more efficient to maintain and debug).
Follow the testing schedule that you created in your plan to ensure that your program
works correctly on all inputs – expected, boundary, and exceptional.
Hand in your final program.
This resource is copyright © Crown 2015
Page 8 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR STUDENT USE
Student Resource A: Abstract program plan for an Asteroid game
Variables
Some example variables required could be:

asteroid_speed

lives

number_of_asteroids

pilot_name

score.
Main program structure
(Specific procedural details such as sequence, selection, iteration control structures
and use of predefined actions should be determined by the student.)
 show introduction screen with instructions on how to play the game and a startup
button

ask for the pilot’s name (i.e. player name)

when start button is clicked:

initialise the appearance and locations of the spaceship, bullets and asteroids

the starting score and number of lives should be displayed on the screen

asteroids should start to move around the screen
 when an asteroid hits the edge of the screen, it should bounce off the edge or
wrap to the opposite side of the screen
 when the player uses the space bar the bullets should shoot at the asteroids to
destroy them in order to prevent them from hitting the space ship
 when a bullet collides with an asteroid the score should increase and the
asteroid should be destroyed (disappear)
 when the left or right arrow keys are pressed the space ship should rotate in the
correction direction
 when the up arrow is pressed the spaceship should move around the screen in
the direction the spaceship is facing

the lives should decrease if the asteroid collides with the spaceship
 if the pilot shoots all the asteroids, the difficulty should increase by increasing the
speed of the asteroid and/or adding more asteroids and a new round (level) should
begin

the game should end when the pilot has lost all the available lives
 a game over screen should appear which gives feed back to the player on their
game performance.
Example input test cases
Check to determine if:

the arrow keys rotate the ship in the right direction

the game ends when the number of lives reaches 0

the program still functions if two arrow keys are pressed at the same time.
This resource is copyright © Crown 2015
Page 9 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
Assessment schedule: Digital Technologies 91076 Create a Program for a Computer Game
Evidence/Judgements for Achievement
Evidence/Judgements for Achievement with
Merit
Evidence/Judgements for Achievement with
Excellence
The student has constructed a basic computer
program for a specified task.
The student has skilfully constructed a basic
computer program for a specified task.
The student has efficiently constructed a basic
computer program for a specified task.
The student has, with guidance:
The student has:
The student has:



implemented a plan for a basic program in a
suitable programming language
The student implemented the plan for the
Asteroids game using Scratch to meet the
specifications.
The student’s program includes:
– at least two variables types (e.g.
pilot_name - String and score - Integer)
– predefined methods (e.g. turn X degrees,
move X steps)
– user input (e.g. when left key pressed)
– sequence (e.g. go to spaceShip, point in
direction spaceShip, show)
– selection (e.g. if touching asteroid, else)
– iteration (e.g. repeat 20, move 5 steps)

set out the program code clearly and
documented the program with comments
The student has set out the scripts clearly and
placed them in a logical order within the Scripts
window.
The student has included comments for each of
their main scripts.

tested and debugged the program to ensure
that it works on a sample of expected inputs.
This resource is copyright © Crown 2015
independently implemented the plan for a basic
program in a suitable programming language
that uses a procedural structure with wellchosen actions, conditions and control
structures
independently implemented the plan for a basic
program in a suitable programming language
that uses a procedural structure with wellchosen actions, conditions and control
structures
The student independently implemented the
plan for the Asteroids game using Scratch to
meet specifications.
The student independently implemented the
plan for the Asteroids game using Scratch to
meet specifications.
The student’s program includes:
The student’s program includes:
– at least two variables types (e.g.
pilot_name - String and score - Integer)
– at least two variables types (e.g.
pilot_name - String and score - Integer)
– predefined methods (e.g. turn X degrees,
move X steps)
– predefined methods (e.g. turn X degrees,
move X steps)
– user input (e.g. when left key pressed)
– user input (e.g. when left key pressed)
– sequence (e.g. go to spaceShip, point in
direction spaceShip, show)
– sequence (e.g. go to spaceShip, point in
direction spaceShip, show)
– selection (e.g. if touching asteroid, else)
– selection (e.g. if touching asteroid, else)
– iteration (e.g. repeat 20, move 5 steps)
– iteration (e.g. repeat 20, move 5 steps)
The procedural structure of the student’s
program demonstrates well-chosen actions,
conditions and control structures. For example:
The procedural structure of the student’s
program demonstrates well-chosen actions,
conditions and control structures. For example:
– The program uses one script for the
asteroids which initializes their start
position, number and direction. This script
uses the built-in randomisation function to
– The program uses one script for the
asteroids which initializes their start
position, number and direction. This script
uses the built-in randomisation function to
Page 10 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
The Asteroids game functions correctly in
normal game play.
give more realistic movement to the game
and make it more challenging as the
asteroids don’t all start moving in the same
direction.
The student has checked that the game works
correctly on expected inputs (e.g. checks that
when the space bar is pressed a bullet fires
from the spaceship, or when the left arrow key
is pressed it rotates the ship to the left).
This description relates to only part of what is
required, and is indicative only.

give more realistic movement to the game
and make it more challenging as the
asteroids don’t all start moving in the same
direction.
– The program uses the join function to join
variables together so that the player
feedback is displayed more naturally,
rather than staggered in separate speech
bubbles.
– The program uses the join function to join
variables together so that the player
feedback is displayed more naturally,
rather than staggered in separate speech
bubbles.
– The program uses the > and < operators
to check the position of the spaceship and
"wrap" it around the screen, instead of
simply having it stop at the edge.
– The program uses the > and < operators
to check the position of the spaceship and
"wrap" it around the screen, instead of
simply having it stop at the edge.
documented the program with variable names
and comments that accurately describe code
function and behaviour

The student has set out the scripts clearly and
placed them in a logical order within the Scripts
window.
The student’s program has used actions,
conditions, and control structures to make the
program more flexible and robust. For example:
The student has used accurate variable names
which describe the variable’s purpose within the
program and has used a consistent naming
convention such as underscores or camelCase
(e.g. number_of_asteroids, asteroid_speed or
numberOfAsteroids, asteroidSpeed).
The student has included comments that
accurately describe the function and behaviour
of their Scripts (e.g. The wrapDectection script
is called when the game starts and constantly
checks to see if the player is touching the edge
of the screen. If touching edge is true, then the
player wraps around the screen).

tested and debugged the program in an
organised way to ensure that it works on
expected and boundary inputs.
The student tested the program incrementally
This resource is copyright © Crown 2015
constructed a basic program which uses
actions, conditions and control structures
effectively to increase the flexibility and
robustness of the program
The program contains a script to initialise the
variables that pertain to difficulty when the
player selects the difficulty (Easy or Hard),
instead of starting all players at the same level.
The program uses a controller object, so that all
variables can be initialised in one script and in
one location. Correct handling of expected,
boundary and invalid inputs or checking input
data for validity. This means the program is
more efficient to maintain and debug.

used an effective procedural structure that
results in a well-structured, logical solution to
the task
The procedural structure of the student’s
Asteroids game uses control structures with a
well-defined purpose and contain no
Page 11 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
throughout the development of the Asteroids
game program (e.g. the student tested the
startGame script to ensure score, lives, asteroid
and space ship placement are initialised
correctly before proceeding to the next stage of
development).
unnecessary duplication or repetition. For
example:
– All elements of the program which are
dependent upon checking the boolean
variable "canMove" are in one script.
Thus, “canMove” is only checked only one
time every step. The program is more
efficient because it is not checking the
same variable in three different scripts
(wrap detection, collision detection, input
detection).
The student tested expected inputs as well as
boundary cases. For example, the student
tested:
– that when the space bar is pressed a
bullet fires from the spaceship, or when
the left arrow key is pressed it rotates the
ship to the left.
– The collision detection for the spaceship
uses a well-constructed OR expression to
detect collisions with any asteroid and
perform the necessary actions upon
collision, instead of using nested if
statements for each individual asteroid
with resulting redundant code to perform
the necessary actions upon collision.
– that the game functions as expected when
the number of lives equals 0 and lives are
not allowed to reach a negative number.
This description relates to only part of what is
required, and is indicative only.

set out the program code concisely and
documented the program with succinct
comments that explain and justify decisions
The student has set out the scripts clearly and
placed them in a logical order within the Scripts
window.
The student has used accurate variable names
which describe the variable’s purpose within the
program and has used a consistent naming
convention such as underscores or camelCase
(e.g. number_of_asteroids, asteroid_speed or
numberOfAsteroids, asteroidSpeed).
The student has included succinct comments
that explain and justify decisions (e.g. If the
spaceship is touching any asteroid, this Boolean
statement returns true indicating that a collision
has occurred, which is more efficient than using
This resource is copyright © Crown 2015
Page 12 of 13
Internal assessment resource Digital Technologies 1.46 v3 for Achievement Standard 91076
PAGE FOR TEACHER USE
nested if statements since the result of any
collision is the same).

comprehensively tested and debugged the
program in an organised and time-effective way
to ensure the program is correct on expected,
boundary and invalid inputs.
The student used a testing plan to test the
program incrementally throughout the
development of the Asteroids game program
(e.g. the student tested the startGame script to
ensure score, lives, asteroid and space ship
placement are initialised correctly before
proceeding to the next stage of development).
The student had players test the Asteroids
game throughout the development of the
program (not just at the end).
The student tested expected inputs as well as
boundary cases and invalid inputs. For
example, the student tested:
– that when the space bar is pressed a
bullet fires from the spaceship, or when
the left arrow key is pressed it rotates the
ship to the left.
– that the game functions as expected when
the number of lives equals 0 and lives are
not allowed to reach a negative number.
– that when the escape key and up arrow
are pressed at the same time, the game
functions as intended and ignores the
invalid escape key.
This description relates to only part of what is
required, and is indicative only.
Final grades will be decided using professional judgement based on a holistic examination of the evidence provided against the criteria in the
Achievement Standard.
This resource is copyright © Crown 2015
Page 13 of 13
Download