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
Create detailed, annotated storyboard design drawings showing possible ideas for your app. 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!)
You should create at least 2 to 3 different app ideas. Each idea should consist of at two drawings showing different parts of the app (eg: different screens of an app or different levels of a game)
Each drawing should contain a number of annotations to indicate the function of the various parts of the app. Your annotation should also include the reason for that item. Each idea should contain annotations for each of the success criteria categories:
- Technical requirements
- Characters (if relevant)
- Target market
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 detaill
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.