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
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.
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.
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:
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.
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.
For this unit, students should restrict their criteria to personal or school needs.
When evaluating the digital solution, support students to refer back to the initial problem. What were they trying to solve with their digital solution?