Programming project
Unit Programming project
Year level: 3-4 Topic: Digital Solutions Time: 12 hours
Students should develop an understanding of computer programming as a series of instructions that can change depending on different user inputs or conditions. The focus is on how digital systems follow instructional pathways and how these can be described using flow charts or through the use of visual programming languages. These pathways can be hand drawn, displayed graphically, using cards or manipulated digitally using block-based programming languages.
Flow of Activities
Define a problem
Define a problem drawing on computational thinking and draw some conclusions about its features or needs.Create a storyboard
Create a storyboard or flow chart to record relationships between the content and processes.Implement a solution
Use a visual programming language as part of the digital solution.Evaluate it
Evaluate how well the solution met the desired outcome.Activity Define a problem
What problem needs solving?
Australian Curriculum Alignment
- Investigating and defining (ACTDIP010)
What's this about?
Students need to know what will solve the problem before they can design and create a solution.
Problem definition involves analysis, an understanding of each element of a situation/problem and how these elements are connected. Problem definition answers the ‘what’ questions – what is the cause of the problem and what would solve the problem?
Students define the problem so they can consider the steps involved in coming up with a relevant digital solution.
Learning tasks
- In this unit students will define a problem that already exists. For example, rubbish is not always being put in the correct bins (waste and recyclable). Before garbage collection day, someone has to sort the rubbish correctly, which takes time and effort.
- The process of defining an existing problem can be guided by some key questions, such as:
- Who has the problem?
- Why does the problem exist?
- What would solve the problem?
- Note: Students could find three or four existing solutions to a problem, such as recycling games or spelling or maths games. They could select one of these and respond to the above requirements, with adjustments. For example, for a spelling game the question could be:
- Who is the audience for this game? (age group, year level, reading level etc).
- Why does the problem exist (students are spelling common words incorrectly and they don’t know common rules, or they find spelling boring or difficult).
- A solution that allows students to select the correct word in response to the spoken word would help improve spelling.
- Use a table template with column headings that match the guided questions. Alternatively, students create a mindmap that shows the questions and answers.
- Once the problem is defined the next process is to design a solution.
Assessment
Define simple problems, design and implement digital solutions using algorithms that involve decision-making and user input.
Suggested approaches may include
- For an existing problem, list:
- Who has the problem?
- Why does the problem exist?
- What would solve the problem?
- For an existing solution, list:
- Who was the solution designed for?
- What is the purpose of the solution?
- Why does the solution solve the problem?
Activity Create a storyboard
How do I plan a solution?
Australian Curriculum Alignment
- Investigating and defining (ACTDIP010)
What's this about?
Computers operate by following a list of instructions, called a program, which has been written to carry out a particular task. Programs are written in languages that have been designed, with a limited set of instructions, to tell computers what to do. Some languages are more suitable for some purposes than others.
A fundamental skill required for programming is the creation of step-by-step instructions designed to solve a problem or complete a set task.
Planning before programming is an essential step that may involve creating a flow chart or storyboard. This step draws on students’ computational skills and enables them to consider the sequence of the program and where branching is likely to occur.
A storyboard or flow chart depicting a choice of events within a plot is a fun way of visualising algorithms and can be an effective way to teach the concept of ‘branching’. Branching involves making a decision between one of two or more actions, depending on sets of conditions and the data provided.
Learning tasks
- Once the students have a clear idea of the purpose and audience of the solution they can plan how to create the solution. Just like dressmakers follow a pattern to create a garment or chefs follow a recipe to make a meal, programmers follow a design to create a digital solution. One design method is an algorithm.
- Provide students with the opportunity to create and follow an algorithm to complete a particular task, focusing on clear and precise language provided in the correct order.
- Students develop instructions to construct a toy using building blocks. When they do this, they explore and use technical language in their instructions.
- Students create instructions to draw a geometric shape; this is a great introduction to refining commands. Start with instructions to familiar shapes such as a square, triangle or rectangle. Progress to more complex geometric designs. Students work in pairs and take turns to implement each other’s instructions.
- How can I make a digital story fun and more engaging?
- Integrate English with digital technologies. Students create a storyboard to plan a ‘choose your own adventure' story, where the reader is provided with a number of decisions that lead to alternative endings.
- How can I help someone learn how to do maths problems?
- Integrate mathematics with digital technologies. Students create an algorithm by drawing a flow chart to solve a mathematical problem.
Lesson Ideas




Assessment
Define simple problems, design and implement digital solutions using algorithms that involve decision-making and user input.
Suggested approaches may include
- Show one example of branching and one example of user input in the algorithm.
- Each student reads aloud part of another student’s algorithm. Note: Verbalising algorithms is an effective pedagogy for developing an understanding of creating clear and logical instructions. Being able to read aloud an algorithm demonstrates understanding. Of course, the algorithm could be wrong, but this should not affect the assessment of the reader, but rather the creator of the algorithm.
Activity Implement a solution
How do I create a quiz/story/game?
Australian Curriculum Alignment
- Generating and designing (ACTDIP011)
What's this about?
Using a programming language allows you to create an individual solution to a problem. At this level, students need to create a solution that lets the user provide input, such as an answer to a question, or state a direction as well as including choices or decisions (branching).
An interactive story, game or quiz that provides the user with a choice of paths or options is a fun way of visualising algorithms and can be an effective way to teach the concept of ‘branching’.
Robotic devices also provide relevant learning opportunities that incorporate visual programming for a digital solution.
Branching allows for decisions to be made and allows actions to be changed based on their input. This input could be:
- user-input; for example, selecting an onscreen value or button, typing in an answer
- sensed from the immediate environment; for example, collected via a sensor on a robotic device sensing a set speed is reached and being programmed to slow down. In the case of Ozobots, different colours when sensed will change the speed.
Learning tasks
- Students must convert their written plan (algorithm) into a ‘live’ solution by using a programming language – they are bringing the plan to life.
- Provide a visual programming tool. Scratch is a commonly used tool with support provided via tutorials and an online community. Other relevant visual programming tools include Snap, which is web-based, and Pyonkee, which works on iPads. Tynker is another app that is web or iOS based.
- Provide students with the opportunity to program a robotic device such as Sphero, Edison or Ozobots. Use the suggested mobile app to control the device using a visual programming language.
- The BBC Micro:bit is a programmable device that can be used in all sorts of digital solutions. The online code editor uses block-based programming.

You may want to introduce Artificial Intelligence and in particular discuss how an AI can recognise human speech. Natural language processing is growing in importance. We often converse with automatic chatbots for customer service without even knowing. We also use online translation services or mobile apps. Explore these types of services. Students can program their own language translator or a simple chatbot. Even though their programs are hard coded they can be used to explain and better understand why AI systems are used.

Develop students’ programming skills using a musical context. Students explore ways to program musical notes to create their own musical instrument to play, or play a duet between two instruments. This is an opportunity to include AI and an AI tool that plays musical notes on a keyboard in response to what notes you play.
Supporting Resources



Lesson Ideas








Assessment
Define simple problems, design and implement digital solutions using algorithms that involve decision-making and user input.
Suggested approaches may include
- Presentation or demonstration of a selected feature of the digital solution, such as user input or decision making.
- Dr Scratch is a free online analytical tool that provides feedback on Scratch (MIT) project progress.
Activity Evaluate it
Was my digital solution successful?
Australian Curriculum Alignment
- Evaluating (ACTDIP012)
What's this about?
When evaluating students consider how well the solution met the desired outcome and in particular the problem defined at the beginning of the process.
At this level, students need to judge not only how well their solutions meet the identified needs, but also how existing solutions meet personal, school or community needs.
In this unit students will evaluate their solution as well as an existing solution for a similar purpose. Where appropriate they will also determine how well an existing digital solution meets a community need.
- personal, such as entertainment
- school, such as music learning
- community, such as facilities at local parks.
For this unit, students should restrict their criteria to personal or school needs.
Learning tasks
- Brainstorm how existing digital solutions are used for personal uses, at school and in the community. For example, digital solutions can be used at school to take the roll, send out reports, take food orders at the canteen, learn new content and communicate daily school news. Students can identify one or two features of one of these existing solutions that they use and check it against their own solution.
-
When evaluating the digital solution, support students to refer back to the initial problem. What were they trying to solve with their digital solution?
For example:
- Quiz-based solution: Were they trying to help others learn about a topic or a language?
- Interactive story: Were they intending to make the story more engaging by providing alternative pathways?
- Game: Were they intending to help someone learn something using a game scenario?
- How will they know if they were successful? Talk about ways to gather feedback from their target audience.
Assessment
They explain how their solutions meet their purposes.
Suggested approaches may include
- A list of three questions could be used to evaluate the students’ solutions.
- Positives and negatives of an existing solution that meets a community need, such as a library borrowing system, an information kiosk, an app of local park facilities.
- Complete the sentences:
- My solution works well because …
- My solution is similar to an existing solution because …