08 Design: Coding: Criterion B
Before we proceed any further with our unit, it’s important to discuss a couple of issues regarding project choice and teams.
Choosing a project
You may either:
- Design & build the project you described in Criterion A;
- (Python students) Use one of the sample projects as a starter and extend from that;
- Design & build something new
The point: you do not have to do what you wrote about in Crit A!
You may either do a solo project or team up in pairs.
- If you work in pairs, you will be assessed accordingly (it’s not a case of pair up and do half the work).
- If both you and your proposed partner got at least 6 for the semester 1 projects, you can choose your own team and project.
- If you got less than 6 for semester 1, I must approve you being in a team and your project idea. The aim of this is to ensure you choose a project and team situation that is best suited to you getting at least a 6 this time.
Task B1: Design specification
The design specification is where you generate a list of project success criteria that you will use to judge how successful you have been with the project. Each success criterion should be as specific and measurable as possible. Remember, you will use your success criteria when you complete your project evaluation and reflection, so the more measurable you can make them the better.
To assist you in brainstorming your success criteria, you should use the following categories as headings, and then create criteria for each category.
- Functionality: What will your program do? How will it behave? Under what conditions?
- Aesthetics: What will it look like? Sound like? Will there be any movement/animation/colour?
- Technology: What will the client require to run it?
- Feasibility: What time constraints, resource constraints, knowledge constraints do you face?
To adequately address strand B1 you should:
- Be as specific as possible
- Use technical language where possible
- Provide a rationale/reasoning to justify the inclusion of each success criteria (ideally refer to what you learnt through the programming lessons and your criterion A research)
Task B2: Design ideas
Original sketches for SPACE INVADERS (1978) characters by Toshihiro Nishikado. (source)
Original Donkey Kong, (Donkey Kong, Jumpman/Mario & Pauline) sprite drawings - Shigeru Miyamoto (~1981) (source)
Original Mario levels - Shigeru Miyamoto (source)
The above represent some original sketches for classic arcade games. Your task is to create designs or detailed sketches for your product.
- Label key parts so other people can understand your ideas.
- You can draw screenshots or storyboards or what you anticipate the final solution may look like.
- You may draw sketches or use modelling software if you prefer.
- Not all designs have to be “competiting alternatives” of the same thing. For instance, if you are creating a game, you could draw a few scenes, or one diagram for the scene and a couple of diagrams for different characters.
- You drawings should be able to be fully understood by others. (the idea being that someone else could build the app that’s in your head based off your drawings).
- You are NOT being assessed on your artistic drawing capabilities but your work IS expected to be neat and have all possible care taken in its presentation. (for instance if a line is supposed to be straight then use a ruler!)
In general, you should produce at least 3 different designs/sketches.
Each drawing should contain a number of annotations to indicate the function of the various parts of the project. Try to ensure that accross your diagrams, you cover the following spread of categories:
- Technical requirements
- Characters (if relevant)
- Target market (I drew a character that looks like .... because I want it to appeal to ..... )
If you need blank templates for your Criterion B design sketches, you can use this Criterion B Prototype Sketches Template. Please use these as the basis of your storyboards.
Task B3: Design selection
How well do each of your proposed designs satisfy your success criteria from B1?
To adequately address strand B3 you should:
- Compare each of your B2 proposals against each of your B1 success criteria.
- With the comparison in mind, which of the proposals best solves the problem and why? Are there any changes you will make to this design to further improve it?
- Reference your various elements of your B1 success criteria in your justification.
Task B4: Final design in detail
Create a final design that draws on all your thoughts from the previous strands. You should provide enough information that another person could make one identical to the idea in your head. (Alternatively: You could create a screencast video that discusses your design mockups provided you cover all of the points below)
Rather than just being a storyboard of screenshots, this strand will also require you to articulate the logic of how your program will function.
To adequately address strand B4 you should:
- Label your design diagrams with information pertaining to size, shape, position, color, font, animation/action/behaviour.
- Identify the tools you will require to create the proposal (software, hardware) and techniques you will use
- Detail how your product will function. This can either be a flow chart, pseudo code, or a set of bullet points that describes the behaviour of your product at each point. Provide enough detail to fully explain how your product will behave/function.
As a guide, some examples for the bullet points describing product behaviour could be:
- The player starts with 10 health (or 3 lives, or 0 points, or….)
- When the up arrow is pressed: Player will jump for a few moments and gradually descent to land on a platform
- When the bullet hits the player: The player loses 5 health (or 1 life, or the game ends…)
- When the player touches a treasure chest: The player gains 50 points (or 10 health, or the game moves to the next level) etc
- When the colour sensor sees blue: The left wheel will turn at maximum speed, the right wheel will stop.
|3B||Design specification||Design options presented||Design selection rationale||Design elaboration|
|1-2||lists a few basic success criteria for the design of a solution||presents one design idea, which can be interpreted by others||creates incomplete planning drawings/diagrams.|
|3-4||constructs a list of the success criteria for the design of a solution||presents a few feasible design ideas, using an appropriate medium(s) or ~~explains~~ describes key features, which can be interpreted by others||outlines the main reasons for choosing the design with reference to the design specification||creates planning drawings/diagrams or lists requirements for the chosen solution.|
|5-6||develops design specifications, which ~~identify~~ explains the success criteria for the design of a solution||presents a range of feasible design ideas, using an appropriate medium(s) and explains key features, which can be interpreted by others||presents the chosen design and outlines the main reasons for its selection with reference to the design specification||develops accurate planning drawings/diagrams and lists requirements for the creation of the chosen solution.|
|7-8||develops a design specification which ~~outlines~~ justifies the success criteria for the design of a solution based on the data collected||presents a range of feasible design ideas, using an appropriate medium(s) and annotation, which can be correctly interpreted by others||presents the chosen design and outlines the reasons for its selection with reference to the design specification||develops accurate planning drawings/diagrams and outlines requirements for the creation of the chosen solution.|