MYP Year 5 Digital Design, a preparation for DP Computer Science
Statement of inquiry for unit 1:
Software development is an iterative process that allows one to express functionally innovative solutions to existing problems.
Statement of inquiry for unit 2:
Digital technologies are in a state of constant innovation, allowing new functionality for software development.
Personal & cultural expression
Design Journal requirements
I expect Year 11 students to have a sound understanding of each of the criteria and strands of the Design cycle. If you are new to MYP please identify yourself to me in the first week so we can discuss the implications.
While I have a template for design folios available, by Year 11 you should (ideally) be creating your own according to your own tasks. So, with that in mind, you have complete autonomy over the style of presentation: you can make it with slides, videos, an e-folio website or other creative idea. Just be careful that you still thoroughly address everything the assessment criteria is looking for.
I will share through Google Classroom an individual "Design Journal" document with header links for each of the various strands. This is where you should post your assessable content as the semester progresses. If you get creative and use slides/videos/websites etc, then links to those should be placed under the relevant sections of this document so I can still find everything in the one place.
As you complete assessments in your Design Journal, I recommend checking your work against:
Unit 1: Introduction to Python programming
This unit will introduce students to the Python programming language. The first 6 or so weeks will be based on introductory programming skills.
Introduction to programming activities
After the October half-term, students will use the design cycle to build their first Python programming project. At this point in the course, you should be adept with console/text based programming and have completed a couple of practice exercises involving file i/o and using web-api. It is expected you will draw upon those skills in devising your first project.
In considering project ideas, plan on having three weeks of class time dedicated for Criterion C. That's 8 hours of in-class time plus whatever out-of-class time you wish to dedicate to the project. That time allowance should a guiding influence as to the expected scope/complexity of your project. While I am open to the idea of project pairs for Criterion C, I prefer the idea of independent projects and would need to be convinced of the merit of a proposed pairing with detail as to the complexity of the project and the equal allocation of programming tasks between partners.
Unit 2: Programming Python with Pygame
This unit will add the Pygame library to your Python programming repertoire.
Pygame programming activities
- To be released closer to the time
With the game development methods that Pygame brings, it is anticipated students will create a graphical project, most likely (though not necessarily) a computer game of some kind for Project 2. Either way, your intention is to showcase all you have learnt over the year with Python.
In considering project ideas, plan on having five weeks of class time dedicated for Criterion C. That's 10 hours of in-class time plus whatever out-of-class time you wish to dedicate to the project. That time allowance should a guiding influence as to the expected scope/complexity of your project.
Criterion A: Investigate
Task A1: Explain the problem
You will find a client who has "a need or problem" that they think can be solved through software. You can use a friend or family member to act as your client. This will form the basis of your research for Criterion A investigation phase.
To adequately address strand A1 you should:
- Identify a problem
- Identify for whom it is a problem, ie: your proposed client.
- Describe your proposed client (or target audience). What is relevant about them to the problem (their likes, lifestyle, demographics etc)
- Explain why the problem is a problem for the client.
- Explain why solving the problem is important to the client. What is the impact of the problem being solved or remaining unsolved?
Task A2: Identify your research
Now you have a problem to solve, it's time to do some research into it so your solution can be as meaningful as possible.
To adequately address strand A2 you should:
- Identify research questions for further investigation. (Don't create questions based on things you already know the answers to!)
- Prioritise your research questions using some form of scale to indicate those that are crucially important compared to those that are optional/nice-to-have in order to solve your problem.
- Justify each of your research questions by providing a rational for it's inclusion and the level of priority you assigned.
Task A3: Investigate existing products
Draw inspiration from existing software programs that you have access to or can research properly.
What has someone else made that solves (or attempts to solve, or partially solves) the problem? It could be the same problem or a similar problem. Their solution may work really well, or not at all. The idea is to learn from what others have tried before you.
To adequately address strand A3 you should:
- Ideally investigate at least 3 existing products for inspiration
- Identify and discuss the strengths of each product
- Identify and discuss the weaknesses of each product
- Identify and discuss what ideas you can take from each product.
- Include referencing/bibliography for your research
Some videos I think are really interesting and would make great research for your Criterion A:
Task A4: Design brief
To adequately address strand A4 you should:
- Summarise the problem you are solving from A1 (only a couple of lines).
- Summarise what you learnt from your research in A3
- Based on what you have learnt, what guidance/advice would you recommend to any one else attempting to solve the problem you will seek to solve.
Criterion B: Devise ideas
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 different ideas that might solve the problem.
- Label all 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, take photos, or use modelling software if you prefer.
- If you draw by hand, please be as neat as possible. Use a ruler!
You should design at least 3 different sets of proposals.
If you need blank templates for your Criterion B design sketches, you can use this Criterion B Prototype Sketches Template
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 proposal
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, how detailed should your diagram/drawing be? The intent is that you are creating a specific plan/blueprint for your project. This is an example I created for a platformer-style game, take note of the level of (1) detail, (2) accuracy in drawing and measuring out, (3) labelling. This is a diagram that any one could follow in order to create that game.
As a guide, how do you articulate the logic of your program? Here are some example bullet points that would describe product behaviour:
- 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.
Criterion C: Create the solution
Task C1: Time and resources plan
Plan how you will create your solution. You can use a table, a gantt-chart, or other suitable method to present your plan.
To adequately address strand C1 you should:
- Identify the core tasks required to create the solution
- Identify the critical path.
- Show how you intend to use all available classtime for Criterion C in a meaningful manner, plus any additional out-of-class time you may anticipate requiring.
- Use technical language where possible to describe the task
- Identify resources required for each task (hardware, software, software libraries, manuals)
- Identify how much time does each step genuinely require?
- If you are completing this project in pairs or a group, indicate who will be responsible for each task.
Task C2 & C3: Demonstrate technical skills & produce solution
Time to make your program!
- Aim to stick to the schedule you created for yourself in C1.
- Start by building your program to resemble your designs from B4 but remember you may alter this design if you realise changes are required along the way.
You will be assigned a lesson for demonstrating your completed product.
- Demo day
In judging the level of technical skills demonstrated for C2, the following factors are considered:
- Size/scope of project (relative to the time allotted)
- Complexity of project and the skills demonstrated
- Variety/range of skills demonstrated. Take a look at an indicative programming skills list that may help as a guide.
- Degree of assistance/independence shown
The judging the solution produced for C3, following factors are considered:
- Completeness of project
- Functionality of project
- Errors encountered
- Each success criteria (from B1) is individually and explicitly demonstrated
Task C4: Justify changes
To adequately address task C4 you should:
- List and explain any changes you made to your final design (from B4) while creating your product
- List and explain any changes you made to your time and resource plan (from C1) while creating your product
Criterion D: Evaluation
The Criterion D deliverable should take the form of a narrated screen-cast video.
Your video needs to include the following:
- Task D1: Write a script or outline for your video before recording it.
- Task D2: Demonstrate the achievement of each of your success criteria identified in task B1
- Task D3: Discuss what changes you would make to your product if given more time. This could either be to better address success criteria not fully completed, or to add enhancements to your product
- Task D4: Within the video, identify who your client (or target audience) for the project was, and discuss whether you have achieved the original objective identified back in task A1. How has completed product impacted on your client (or target audience). Perhaps a brief on camera interview with your client (or a couple of representatives of the target audience).
In order to address this criterion thoroughly, I anticipate most videos to be around 4 or 5 minnutes.