Method of Problem Solving to Find Digital Solutions
Filter Scope and Sequence by
Unit Problem-solving processes
Year Level: 5 Topic: Creating digital solutions Time: 16 hours
When students are set the task of solving a problem that requires a digital solution, they usually start by investigating and defining the problem. They draw on computational thinking, a problem-solving approach that involves activities such as organising data logically, breaking down problems into components, and designing and using algorithms and models to show how the solution will be developed and how it will appear. As part of designing their solution, students generate ideas and consider the user of their digital system. During the producing and implementing process students typically create their own solution using a visual programming language. Once a digital solution has been created it is important to evaluate it against relevant criteria, such as: Did it entertain the users (if a game)? Can updated data be added so the solution can be used in the future? (Future needs). Note: Sometimes when students are creating digital solutions they might return to a process they have already completed in order to make adjustments; however, typically at this level, students engage in each of these processes in the above-mentioned order.
Programming is the way we communicate algorithms to a digital system, such as a laptop or notebook, so that the system understands the instructions. Digital systems need precise instructions as they are unable to understand instructions that include superfluous details. We use programming languages to code the instructions. There are many different visual programming languages but all have common programming statements and use a common approach to creating a program and running it to see if it works as intended.
Flow of Activities
- 1 Define the task Analyse the problem and identify the functional requirements of the solution.
- 2 Design a digital solution Represent how the solution will be created and what the solution will look like
- 3 Visual programming solution Use a visual programming language to implement a digital solution.
- 4 A digital solution Design a digital solution in which data is input and output by digital systems.
Activity Define the task
What is the problem?
Australian Curriculum Alignment
- Investigating and defining (ACTDIP017)
What's this about?
Clearly defining a problem is a crucial step in developing a software solution to a problem.
This is the process students undertake when they analyse the problem and identify the functional requirements of the solution. Students determine what the solution has to do to solve the problem (eg accurately count the number of guesses before the next question appears or calculate the distance travelled by a robot). Defining the problem involves identifying the 'pieces of the jigsaw': the main elements or components of the problem, and the data needed to better understand or solve the problem. Defining involves stating what would solve the problem, not how to solve the problem.
When the question 'What is the problem?' is answered, the process moves to how the problem will be solved. The solution is found. Then algorithms are designed to represent a complete, logically structured set of instructions that are needed to solve the problem.
Students examine existing digital solutions to identify features that may be transferable to new but similar digital solutions.
Defining problems provides a context to introduce Artificial Intelligence applications. Explore the range of applications we currently are familiar with in our daily lives. How does AI impact our lives? This provides a context to explore opportunities, how AI can be used for good and also raise concerns how AI might be misused or identify some of the risks involved. |
Learning tasks
- Model how to define a problem. First, take a familiar problem or one that students have an interest in. Next, brainstorm as a class what is known. For example, 'You want to share digital photographs safely online with your friends'.
- Some things that may come up in brainstorming include:
- that photos are taken and stored on a smart device
- how the photos are shared (what type of platform or process is used)
- how people receiving the photo know it is safe to download to their device
- what file size is acceptable
- whether the user can comment on the photo, and if so how
- what user data is needed to send the image
- how users are notified
- whether a photo can be tagged
- whether a photo can be edited before being sent
- whether users need a profile; and if so how they can remain safe online.
- Brainstorm a list of ideas for problems that require students to create a digital solution. Use these problems as a focus of designing, implementing and evaluating the solution. Students could use mindmaps to identify the elements of each problem and then show the connections between each element – this will help them to group common factors.
Discuss ways AI has impacted students' families' lives. Use a range of printed cards to sort and classify. Discuss the cards which each have an AI application to identify the problem it is designed to solve. |
Supporting Resources
Assessment
Achievement Standard Define problems in terms of data and functional requirements and design solutions by developing algorithms to address the problems.
Assessment task examples
-
Mindmap showing the key components of the problem
-
List of data needed to solve the problem
-
List of the functional requirements of the solution
Work samples
Activity Design a digital solution
How should the digital solution work and what should it look like?
Australian Curriculum Alignment
- Generating and designing (ACTDIP019)
What's this about?
Designing involves representing how the solution will be created and what the solution will look like (user interface). It is the 'how' process.
An algorithm is a step-by-step process or series of instructions to achieve a particular outcome. It is used to show how the solution will function – it is the rules, the sequence and decisions.
Algorithms can be written as a series of steps or drawn as a flow chart. Creating an algorithm is an integral part of computational thinking and of creating a program to instruct a computer or robotic device. Computational thinking helps break down a complex task into smaller chunks. Looking for patterns in the algorithm helps us work out opportunities to use loops where code is repeated.
A paper prototype can be used to map out design ideas; for example, what is on screen, the logic behind transitioning between screens and how various elements work together as a system. The paper prototype can inform algorithm development.
Once the algorithms have been completed they are converted into a program, so that those instructions can be executed by the digital system. At this level, students use a visual programming language.
Learning tasks
- Provide opportunities for students to design, modify and follow simple algorithms. Share the algorithms and discuss how the decisions (branching) and repeat instructions (iteration) are represented in flow charts or written as simple steps.
- For students less familiar with designing an algorithm perhaps start with an algorithm that has some missing steps, too many repeated steps or steps out of order. The task is to debug the algorithm to make it work. Share revised algorithms.
- Present the challenge of taking a familiar task, for example cooking a hard-boiled egg, and writing it as a series of steps with or without drawings. Use a think-pair-share strategy to combine ideas to make a group-designed algorithm. This task could be extended by adding decisions to allow for choice (such as the ways it is cooked: fried, poached or scrambled). What steps are common? A flow chart is a relevant way to present the algorithms.
- Discuss the list of problems developed as part of a class brainstorm or set a problem that suits your class context. Set the task of designing an algorithm to solve a particular problem of interest. Ask students to develop a paper prototype and share with others to gain feedback.
- For the user input aspect, students could compare the user interface of familiar apps or games and identify the features that contribute to 'good design', such as easy navigation, appropriate size of icons, attractive colours and interesting and appropriate graphics.
- At this level, students begin to generate different design ideas before selecting the one that best allows the problem to be solved. Once the preferred idea has been chosen it is fully developed as an algorithm and a layout diagram of the user interface is created.
Use the context of home automation to create a flow chart of how to program a computer to detect speech and turn on or turn off an appliance. |
Supporting Resources
Assessment
Achievement Standard Define problems in terms of data and functional requirements and design solutions by developing algorithms to address the problems.
Incorporate decision-making, repetition and user interface design into their designs and implement their digital solutions, including a visual program
Assessment task examples
-
Use a flow chart to design an algorithm to process user input into a simple maze game.
-
Use a flow chart to design an algorithm that includes branching and iteration.
-
Use a repeat loop block in a visual programming language to demonstrate understanding of branching and iteration. (Write an algorithm for a game that uses repetition.)
Work samples
Activity Visual programming solution
How do I transform my design into a working solution?
Australian Curriculum Alignment
- Producing and Implementing (ACTDIP020)
What's this about?
A visual programming language enables students to sequence commands (displayed as blocks) to create a program (or digital solution). This could be a simple task of animating a character (sprite) in a story; or it could be creating complex programs to model a real-world application.
In programming languages, decisions (branching) are implemented using if/then or if/then, else statements. Repetition is implemented using loop statements.
As students form their sequential blocks, they can introduce the repeat/loop block to avoid repetition in code as a more advanced aspect of sequences. For example, instead of putting the same single blocks one after the other, we can wrap an iteration (repeat/loop) block around blocks they would like to repeat, to tell the computer to execute the code a certain number of times. Repeat loop blocks allow us to set a value to control how many times the loop is executed. For example, when creating a quiz, the questions are repeated until the correct response is given.
User input is a way the user interacts with the computer program. For example, a user might click on a sprite or avatar in a game or animation to make it react in some way, or they could enter their name or a quiz answer when prompted. When we think of input and output, we can characterise the images on the screen and sound as output. Input is anything that provides some information to our program – such as a click of the mouse or entered text, which in turn will activate or modify a process.
Learning tasks
- Use Scratch, Tynker, Snap or other similar visual programming language to develop a quiz, interactive story or to simulate a real world application. Ensure that the design phase includes algorithm development and consideration of user input. Students evaluate their implemented design.
- Provide students with an existing program created in a visual programming language that has the option for remix; for example, a Scratch project. Students can modify the program to meet a similar need.
- Use a turtle-based program such as Pencil Code to create and draw geometric shapes and designs. Integrate mathematics geometry with the programming of geometrical shapes. Concepts such as angles, and properties of 2D shapes, directions and Cartesian planes, can be investigated.
- Use the BBC Micro:bit emulator to program. Use a visual programming language or a relevant app to control a robotic device such as Sphero, Dash and Dot, Edison, mBot, Lego EV3 or a mini-drone.
- Set up challenges that require students to design and implement program solutions. Sphero can be used as the movement source for many open-ended challenges.
- Use an application such as Thunkable for students to design and create their own app using the visual programming blocks.
Students can create computer programs to demonstrate a security measure such as using a Personal Identification Number (PIN) – for example, a 4-digit code. Alternatively, students can incorporate a type of image recognition to mimic AI. Another option is to use an AI tool to create a model and incorporate this into their Scratch program. |
Explore implementing a digital solution that demonstrates how to control appliances, and to investigate home automation. Examples may include programming a binary switch using (0 and 1) as input for off and on, or detecting speech and recognising a command to turn the appliance on or off. |
Explore chatbots and AI systems that respond to human speech. Natural Language Processing is growing in importance. This type of AI interprets text and speech. It can be used in translating a language. Choose projects that explore this type of AI catering for student interest and programming skills. |
Supporting Resources
Lesson ideas
Tutorials and resources
Assessment
Achievement Standard Incorporate decision-making, repetition and user interface design into their designs and implement their digital solutions, including a visual program.
Assessment task examples
-
Modify an existing game or quiz:
-
to suit learners of a different age group
-
to make it more fun.
-
-
Dr Scratch is a free online analytical tool that provides feedback on Scratch (MIT) project progress.
Work samples
Assessment resources
Activity Input and output
How is data input into a digital system, and how might it be output?
Australian Curriculum Alignment
- Evaluating (ACTDIP021)
What's this about?
Evaluation takes places at two levels. The 'micro' level is where students judge if the solution they created met the functional requirements identified in the defining process. The 'macro' level, which takes a broader view, asks students to consider how their and existing solutions used in information systems, such as a library borrowing system, would be judged on the basis of being sustainable and able to meet the current and future needs of a community.
Sustainability includes factors such as the energy levels required to operate the solution and other resources used such as paper for printed output. Future needs could include whether new data, such as new library books and DVDs, could be used in the solution.
Evaluating draws on systems thinking where students need to consider how the outputs (solution) meet and affect the users.
Artificial Intelligence (AI) has potential to be an integral part of systems across many industries and transform the way we do things. This technology though, needs to be used carefully and thoughtfully. What are some of the challenges we face when implementing AI systems? How can AI be used for good? How do we ensure fairness for all? AI systems need to be safe and reliable. We need our personal information and privacy protected. These are all ethical considerations that must be part of the development and lifecycle of an AI system. |
Learning tasks
- Use sustainability criteria to explain how well students' solutions meet requirements; for example, the solution can only be viewed on screen to avoid printing (environmental). Students could write their criteria in the form of questions and focus on one factor contributing to sustainability. Factors could be economic, environmental or social. Economic factors include the cost of producing or running the solution. Environmental factors are the resources needed to use the solution. Social factors could include fairness of rules and accessibility to specific audiences.
- Students' solutions may incorporate icons or buttons or simple forms of navigation to improve user experience. Ask students to evaluate the use of these approaches where applicable.
Analysis of AI systems provides a context for evaluating information systems. It provides an opportunity for students to explore ethical understandings and apply these to a real world application. |
Supporting Resources
Lesson ideas
Resources
Assessment
Achievement Standard They explain how information systems and their solutions meet needs and consider sustainability
Assessment task examples
-
Write three evaluation questions about an existing game, such as:
-
Are the rules easy to understand?
-
Are the rules fair?
-
Can you change an answer or action easily?
-
-
For an information system used in the local community, such as a directory kiosk in a shopping centre or a supermarket check-out system, list three functions or pieces of information that it currently performs or shows. Then list three changes that would need to be made so that it can perform or show an element in one year's time; for example, a new price for a product or the removal of a store.
Work samples
Method of Problem Solving to Find Digital Solutions
Source: http://www.digitaltechnologieshub.edu.au/teachers/scope-and-sequence/5-6/creating-digital-solutions/problem-solving-processes