What a project is, and how NESA describes it
Project work Students apply computing skill domains to project(s) …
NESA's glossary defines a project as an individual or collaborative problem-solving activity undertaken by students that is planned to achieve an articulated aim. In plain words, you plan a project so that you can reach a clear goal and show that you did.
A project can be one activity or a series of activities, done alone or with others. Your teacher decides how big each project is, because your course is 100 or 200 hours long.
NESA's teaching advice for Life Skills lists four computing skill domains that project work can support. A domain is an area of skill:
- Technical knowledge and skills: using hardware, software, data and code well.
- Social awareness skills: thinking about the people your project affects, including people who are different from you.
- Project-management skills: planning, managing time and resources, teamwork and records.
- Thinking skills: computational thinking (breaking a problem into steps), design thinking (starting with what people need) and systems thinking (seeing how the parts connect).
The example is made up. Ava and Jin, a team of two, build a canteen order app so that students can order before they reach the front of the queue.
| Skill domain | What Ava and Jin did (made up) |
|---|---|
| Technical knowledge and skills | Built a menu screen and a button that adds an item to the order |
| Social awareness skills | Asked Year 8 students to try the app, then made the text bigger when several said it was hard to read |
| Project-management skills | Kept a task list and a timetable that both team members could see |
| Thinking skills | Broke the app into screens, then worked out what each order must store |
The design loop: a loop, not a line
Course outcome CT5-DPM-01 applies iterative processes to define problems and plan, design, develop and evaluate computing solutions
NESA's glossary calls the whole process the design and production process. It has four stages. In this guide, a stage is one part of that process, not Stage 4 or Stage 5 at school.
| Stage | The question it answers | Evidence you keep |
|---|---|---|
| Identifying and defining | What is the problem, and who has it? | Problem statement, user profiles, requirements |
| Researching and planning | What do we need to know, and in what order will we work? | Research notes, task list, timetable, decision table |
| Producing and implementing | Are we building what we planned? | Working versions, project record, version names |
| Testing and evaluating | Does it work, and does it meet the requirements? | Test plan and results, criteria table, presentation |
Real projects work better as a loop than as a straight line. You go round more than once, and each time the solution gets closer to what users need. The word iterative means repeated. Each cycle builds towards a better result.
Something has to send you back round. Common triggers are a failed test, a user who finds the solution hard to use, a missing requirement, or a better idea found while you build. A prototype, which NESA's glossary describes as a trial product or model built to test an idea or process, helps the loop start early. A paper sketch of an app screen counts.
Cycle
The design loop: four stages and a return arrow
A cycle diagram. Solid arrows show the usual order of the four stages. The dashed return arrow goes from testing and evaluating back to identifying and defining, and the three triggers that send you back are written on it.
What to notice
- The four stages form a loop, not a straight line. Each lap builds a better solution.
- The return arrow starts another lap. It goes back to identifying and defining, because a change to the problem changes everything after it.
- Each trigger is a reason to go back: a failed test, user feedback or a changed requirement.
Try thisName one trigger from your own project that is not listed here. Say which stage the return arrow would go back to, and why.
Choosing a project idea
Combining focus areas Focus areas can be combined to enable substantial, engaging projects …
A good project starts with a problem you can explain in one sentence. Pick a problem that real people could use or try, and that you can test.
NESA's teaching advice says focus areas can be combined. The table shows four of the pairings it suggests. Each example is made up.
| Focus areas combined | Project suggested in the advice | Made-up example |
|---|---|---|
| Modelling networks and social connections, with Creating games and simulations | A networked game | A quiz game for two players, where each score is sent to a shared screen |
| Modelling networks and social connections, with Building mechatronic and automated systems | A wireless network to control sensors and/or actuators | A wireless sensor that sends the water level in a garden tank to a screen |
| Designing for user experience, with Developing apps and web software | An app and the design of its user interface | A canteen order app with large buttons and a clear home screen |
| Designing for user experience, with Creating games and simulations | An educational game using interactive and multimedia products | A maths game with clear sounds, pictures and feedback when an answer is right |
The advice also suggests analysing data with sensors, analysing data with an app, and a robot that is controlled remotely.
Ask four questions before you commit. Can I explain the problem in one sentence? Who will use it? Can I test it? Can I finish it in the time I have? Any project with hardware needs a teacher or adult to supervise it, and should use low-voltage or battery-powered parts, or a simulation.
Defining the problem and the users
Define a real-world problem or need … including breaking it down into manageable parts and describing the users of the solution
A problem statement is one or two sentences that say who has the problem, what it is and why it matters. "Students need a better canteen" is too vague. "Year 8 students at a made-up school queue for too long at recess, so they lose part of their break" can be tested.
A big problem is easier to solve in parts. Decomposition means breaking a complex problem into smaller parts that are easier to understand, design and build. For the canteen, the parts could be: choose items, confirm the order, record it, and show when it is ready.
List your stakeholders, which are anyone affected by the project or able to affect it. Users are one group; others include helpers, teachers and families.
A user profile describes one main group of users, such as Year 8 students who buy food at recess.
| Profile item | Made-up example |
|---|---|
| What they already know | Phone apps often, but not this canteen app |
| Device and setting | A phone, in a queue, with about five minutes of break left |
| What they need | Place an order in under a minute and see the price first |
| Access needs | Some students may need larger text |
Concept diagram
A stakeholder map: the solution and the people around it
The solution sits in the centre. Each labelled box is one group of stakeholders, joined to the solution by a line. The groups are users, helpers, decision-makers and people affected who are not users.
What to notice
- Users are one group. The other boxes hold people who can shape the project or be affected by it.
- A stakeholder can be someone who never touches the solution, such as a person whose day changes because of it.
- Each box is a place to write names, roles and what each group needs.
Try thisAdd one real or made-up person to a box in your own map. Write what they need from the solution, and whether they are a user.
Requirements: what the solution must do
Specify the functional requirements … including stating the purpose of a solution, describing use cases and developing test cases of input and expected outputs
A requirement is something the solution must do, or something it must be like. Requirements are your checklist. You will check the finished solution against them, so write them early.
- Functional requirements say what the solution does. Example: "The order screen shows today's menu."
- Non-functional requirements say how well it works. Example: "A student can place an order in under one minute."
A use case describes one thing a user wants to do, and the steps they take. A test case sets out an input and the output you expect. Write it before you build, so you know what success looks like.
| Functional requirement | Test case: input | Expected output |
|---|---|---|
| The order total adds up the item prices | Two items priced 3.50 and 2.00 | Total shows 5.50 |
| An order with no items cannot be sent | Send pressed with an empty basket | Message: "Add at least one item" |
| The stock count goes down after each order | One muffin ordered when 10 are in stock | Stock shows 9 |
Research before you plan
Evaluate existing solutions to the problem or related problems
Research means finding out what you need to know before you design anything. Four common methods are:
- Interview: a short talk with one person. Ask open questions, such as "How do you order at recess now?", not "Do you like the canteen?"
- Survey: a short set of written questions for many people. Do not ask for personal details you do not need.
- Observation: watch someone use a current process, and note where they hesitate, get stuck or give up.
- Existing solutions: look at a product that already does part of the job. Write down what it does well and badly.
Record every source: who you asked or what you read, when, and what you learned. If you record someone's answers, ask their permission first, and do not use their name unless they agree.
Planning: task lists, timetables and boards
Plan and manage a project using an iterative approach
Start with a task list of every job, written in words a stranger would understand. "Interview the canteen manager" is clear. "Phase 1" is not. Then add a time estimate to each task, in lessons, and check the total against the time you have.
A Gantt chart shows each task as a bar along a timeline. A milestone is a point in time, such as "prototype approved", shown as a single marker. The table is a Gantt-style timetable for a made-up six-week project. A filled square means the task is being worked on that week. The milestone sits at the end of week 2.
| Task | Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 |
|---|---|---|---|---|---|---|
| Interview canteen staff | ■ | ■ | ||||
| Sketch prototype screens | ■ | ■ | ||||
| Build order screen | ■ | ■ | ||||
| Test with five volunteers | ■ | ■ | ||||
| Fix faults and write evaluation | ■ | ■ |
Timeline
A Gantt chart: five tasks over six weeks
A Gantt chart for the made-up project in the table above. Each bar is one task. The diamond is a milestone at the end of week 2, and each arrow joins a task to the task that follows it.
What to notice
- Read across a row to see when a task starts and ends. Read down a week column to see everything happening in that week.
- The milestone sits at the end of week 2, the same point where the interview task ends.
- Each task starts in the week the one before it ends, so each arrow drops from one bar into the next.
Try thisAdd a sixth task, such as writing the poster, that starts after the evaluation. Draw its bar. Does the plan still fit into six weeks?
A Kanban board shows the work in progress at a glance. Each task is a card that moves across three columns: To do, Doing and Done.
Agile methods plan work in short cycles called sprints, such as a block of two lessons. At the end of each sprint, the team reviews the work and decides what to change next. NESA's apps and web software dot points ask students to experiment with agile tools, and a Kanban board and sprints are both agile tools.
Design choices: alternatives and a decision table
Alternative designs Generate alternative designs and evaluate them against the requirements to select a preferred design
Do not settle on the first design you think of. Sketch at least three alternative designs for the same problem. Quick paper sketches are fine.
To compare them fairly, use your requirements as criteria. Give each criterion a weight from 1 (least important) to 3 (most important). Score each design from 1 (poor) to 5 (excellent). Multiply score by weight, then add up each design's results. This is a weighted decision table.
The example compares three made-up ways to take a canteen order. All the scores are made up. Each cell shows the score, with the weighted result in brackets.
| Criterion | Weight | A: paper slip | B: web form | C: phone app |
|---|---|---|---|---|
| Easy to use | 3 | 4 (12) | 4 (12) | 5 (15) |
| Works on any device | 2 | 5 (10) | 4 (8) | 2 (4) |
| Easy to change or sort the orders | 2 | 1 (2) | 4 (8) | 3 (6) |
| Time to build | 1 | 5 (5) | 3 (3) | 1 (1) |
| Total | 29 | 31 | 26 |
Design B has the highest total, so it is the preferred design on these criteria. Check your choice by changing one weight. If the winner changes, say so, and explain why your choice still stands.
Working together: roles, files and feedback
Course outcome CT5-COL-01 manages, documents and explains individual and collaborative work practices
A team works well when everyone knows their job, how they will talk to each other and where the files are. Agree on these things at the start, and write them in a short group work contract that everyone agrees to.
Each person in a team has a role, which is the part of the work they look after. In a team of two, one person can take more than one role. The table is a made-up example for Ava and Jin.
| Role | What the person looks after | Made-up example |
|---|---|---|
| Project lead | Task list, timetable and meeting notes | Ava |
| Designer | Sketches and screen layouts | Jin |
| Builder | The code or hardware | Jin |
| Tester | Test plans and results | Ava |
| Recorder | The project record and version names | Jin |
Shared files live in one folder with the same layout for everyone. Numbers at the start keep the folders in order:
canteen-app/
01-problem/ problem statement, user profiles
02-research/ interview notes, survey results
03-plan/ task list, timetable, Kanban board
04-design/ sketches, decision table
05-build/ the solution files
06-testing/ test plan and results
07-record/ project recordVersion names tell you what a saved file is. A name such as order-screen_v03_jin means version 3 of the order screen, last saved by Jin. Never use names such as "final_FINAL_2".
Feedback should be respectful. Comment on the work, not the person. Say what works, name one thing to improve and suggest how: "The buttons are clear. The price is hard to read on a small phone. Could it be bigger?"
Keeping a project record
Create a record of project development demonstrating iterative design and evaluation
A project record is a diary of your work. NESA's dot points also call it a project notebook. Each entry says what you did, what happened, what you decided and why. It shows how the project grew, and it helps you remember why you made each choice.
Write an entry at the end of each work session. Five minutes is enough. Be honest. A record that shows a fault and how you fixed it is good evidence of an iterative process. Copy this template for each entry:
| Item | What to write | Your entry |
|---|---|---|
| Date and session | The day, and what the session was for | |
| What I did | Tasks finished, in your own words | |
| What happened | Results, faults and anything surprising | |
| What I decided and why | Your choice and the reason for it | |
| Next step | What you will do next time | |
| Sources and help | Websites, books, people or tools that helped you |
Responsibilities, ethics and cybersecurity checklist
Course outcome CT5-SAF-01 selects and applies safe, secure and responsible practices in the ethical use of data and computing technology
Every project affects people. Before you collect data or build anything, ask who could be affected and what could go wrong. Responsibilities are social (how people are treated), ethical (fair and honest) and legal (the laws that apply). Check the list at the start and before you finish.
| Check | What it means for your project |
|---|---|
| Privacy | Collect only the data you need. Avoid names, addresses and photos unless you need them. Use made-up data in test projects. |
| Consent | Ask before you collect answers or images. Say what you will do with them, and let people say no. |
| Copyright and licences | Check the licence before you use someone else's image, sound, font or code. Free to find is not always free to reuse. |
| ICIP | If you use Aboriginal or Torres Strait Islander stories, language, art or knowledge, Indigenous Cultural and Intellectual Property (ICIP) applies. Get guidance before you use it. Do not invent protocols. |
| Accessibility | Use large text, clear colours, text labels on buttons and alt text on pictures. |
| Safe and secure data | Store files only in the school-approved place. Use a strong password and do not share logins. |
| Safe hardware | A teacher or adult supervises. Use low-voltage or battery-powered parts, or a simulation. |
| Cyber safety | Watch for phishing: a fake message that tries to get a password or personal details. Tell a trusted adult if something feels wrong. |
The Privacy Act 1988 (Cth) and the Australian Privacy Principles are the main national rules for personal information. NSW public schools also follow NSW privacy law. Ask your teacher which rules apply to your school project.
Test plans: normal, boundary and erroneous data
Validate programs using test cases and debug a range of errors
A test plan is a list of tests written before you run them. For each one it gives the input, the expected output, the actual output and whether it passed. Use three kinds of data:
- Normal data is typical data that should work, such as a name with eight letters.
- Boundary data is data at the edge of what is allowed, such as the smallest and largest numbers accepted.
- Erroneous data is data that should be rejected, such as the word "two" typed into a box for a number.
| Test no. | Type | Input | Expected output | Actual output | Passed? |
|---|---|---|---|---|---|
| 1 | Normal | Order one sandwich at 4.50 | Total shows 4.50 | ||
| 2 | Boundary | Quantity 1 (smallest allowed) | Order accepted | ||
| 3 | Boundary | Quantity 0 | Message: "Choose at least 1" | ||
| 4 | Erroneous | Quantity typed as "two" | Message: "Please type a number" |
Run each test exactly as written, and record the actual output even when it matches. If a test fails, fix the solution and run it again. Never change the expected output to make a test pass.
You can also desk check before you run anything. NESA's glossary describes this as a human checking the logic of a program on paper or with a diagram, by trying sample inputs.
Evaluating against the requirements
Evaluate their own project and that of their peers using predetermined functional and non-functional requirements
To evaluate means to judge how well something worked, using clear criteria and evidence. Your criteria are the requirements you wrote at the start. Turn each one into a row of a criteria table.
| Requirement | Type | Evidence | Met? | Next step |
|---|---|---|---|---|
| The app sends an order with the chosen items | Functional | Tests 1 and 2 passed | Yes | Keep as it is |
| An empty basket cannot be sent | Functional | Test 3 failed, then passed after a fix | Yes | Keep the check |
| Text is easy to read on a phone | Non-functional | Two of five peers said the text was small | Partly | Make the text bigger and test again |
| An order takes under one minute to place | Non-functional | A peer timed it at one minute and 40 seconds | No | Remove one step from the screen |
Every number and result in this table is made up.
Self evaluation means judging your own work with the same table: did I meet each requirement, what is my evidence, and what would I change? Peer evaluation means a classmate checks your work against the same requirements. Ask them to test the work, not only look at it.
- Met: keep it, and write down the evidence.
- Partly or not met: fix the solution and test again, or change the requirement and explain why in your record.
- Never hide a result that did not go well. An honest evaluation is worth more than a perfect one that is not true.
Presenting and communicating your project
Course outcome CT5-COM-01 communicates ideas, processes and solutions using appropriate media
Presenting means explaining your project to other people. A good presentation shows the problem, the solution, how you know it works and what you learned. You can present as a live demonstration, a poster, a short slide talk or a written report.
Before you plan, answer three questions. Audience: who is listening? Purpose: what should they know or do afterwards? Time: how long do you have?
| Part of a five-minute demonstration | Time | What to show |
|---|---|---|
| The problem | 30 seconds | The problem statement and one user profile |
| The design | 1 minute | The decision table result and one sketch |
| Live demonstration | 2 minutes | The solution working, with a volunteer user if consent allows |
| Testing and results | 1 minute | Two test results and a summary of the criteria table |
| What I learned and changed | 30 seconds | One change you made and why |
Practise with a timer. Keep a screenshot or short video as a backup, in case the live demonstration does not work on the day. A poster works the same way, in panels: title and problem, design, solution, testing results, and reflection with next steps.
Block diagram
A poster layout: five panels in reading order
A poster layout with five numbered panels. Read them in number order: left to right across the top row, then left to right across the bottom row. On a narrow screen the panels stack from top to bottom.
What to notice
- Panel 1 says what the problem is, so a viewer knows why the project matters before seeing the solution.
- Panel 4 shows evidence, such as a small table of test results, rather than only saying that the solution works.
- Panel 5 is for honest reflection: what went well, what you changed and what you would do next.
Try thisSketch a poster with these five panels for your own project. Check that someone who reads only panel 1 understands the problem.