Resources and Ideas
Teaching Computational Thinking
How to use this Webpage? from Amy Turner on Vimeo. |
Introducing and engaging children in Scratch and Programming Languages
It can be difficult to engage children in computer science concepts and introduce them to programming languages, if you are unsure of the resources available to use in schools. These videos will explain how you can introduce and start to use Scratch as a resource.
Introduce and engage from Amy Turner on Vimeo. |
Programming Languages from Amy Turner on Vimeo. |
Scratch Projects: Introduce and engage children in the possibilities of using Scratch & Debugging game to familiarise children with Scratch's programming language
The first link above takes you to the scratch project, which has added comments inside the program explaining what each algorithm does to control different elements of the game. Printing or making physical blocks, that have the programming language of each abstraction message within scratch on them, may also help to familiarise children.
LO - I understand what a programming languages is
Inputs and Outputs
When data is received by a computer it is called an Input . Inputs give the computer information for example when using a key board, when the buttons are pressed the keyboard sends the computer messages about which letters you would like to type. There are many computer inputs devices such as: a computer mouse and a microphone because they also give the computer information. This information has to be converted into a digital form, such as data, for the computer to be able to understand the information given.
When data is then sent by a computer it is called an Output. Outputs feed information out of the computer for example in devices such as monitors and speakers. A computer monitor makes the information visual, in the form of an output whereby you can see things like the computer mouse moving. The computer will usually need to convert the data back into the electronic equivalent of sounds and visualizations for humans to understand.
The computer uses numerical data in the form of binary code to ensure inputs and outputs are able to communicate. All inputs and outputs are therefore converted into this format.
When data is then sent by a computer it is called an Output. Outputs feed information out of the computer for example in devices such as monitors and speakers. A computer monitor makes the information visual, in the form of an output whereby you can see things like the computer mouse moving. The computer will usually need to convert the data back into the electronic equivalent of sounds and visualizations for humans to understand.
The computer uses numerical data in the form of binary code to ensure inputs and outputs are able to communicate. All inputs and outputs are therefore converted into this format.
Scratch
Scratch Project Inputs and Outputs. This is a resource you can use to introduce the concepts of inputs and outputs to the children in your class. This will also allow children see how programming languages represent inputs and outputs by looking at the scratch blocks inside this project. Relate to real life It might also by useful to relate the concepts of inputs and outputs to real life examples that children can relate to. For example ask children to use an Ipad and discuss what the inputs and outputs are; the input being them touching the screen and the output being what is happening on the screen. |
Activities
Activities outside the classroom can also help children to understand these key concepts of computational thinking. Activities such as taking the children in to the playground, getting them into pairs and asking them to direct each other to different places in the playground. Partner one would be the input, partner two would be the output and then they would swap around.
Activities outside the classroom can also help children to understand these key concepts of computational thinking. Activities such as taking the children in to the playground, getting them into pairs and asking them to direct each other to different places in the playground. Partner one would be the input, partner two would be the output and then they would swap around.
Makey Makey
Another way to teach children about the concept of inputs and outputs is to use a creative and inventive physical input device. These devices can be created using a Makey Makey kit. The Makey Makey kit connects to computers through a USB port and then becomes the input device for the: arrow keys; space bar; and mouse click. These can then be connected to everyday objects or invented input devices. In order for these inputs devices to work the electric circuit needs to be complete. If children make their own device will have to consider this when creating. |
Children can create a range of pressure pad resources using copper wire and paper. The copper wire, like in this resource, needs to connect each physical input to the earth as well as the input it will replace on the Makey Makey board. This means that when the, lily pad, in this case is pressed the circuit will be completed. Children can then play the game in groups of up to four turning the scratch game into an multiplayer interface.
|
Children can also use lead pencil to design input devices.
|
LO - I can build an input device
Computing in the Physical World
Unplugged
Unplugged is useful website that provides a range of activities that allow you teach children about computer science away from the computer. Makey Makey Makey Makey also allows children to connect computing to the real world and allows them to interact with computers through everyday objects to make physical devices. Lego Education WeDo Introducing resources such as Lego WeDo into the class room will also allow children to see how everyday objects, such as toys, can be connected to the computer, allowing them to be more creative with computer science. Raspberry Pi Through resources such as Raspberry Pi allows you to strip back the electronics and enable children to see inside a computer. This in turn allow children to see how a computer works and where the physical input and output connects to the computer. How and why? All of the above resources can support and deepen children's understanding of computer science: through discussing each of the resources parts and labeling them, or by setting children challenges, to invent things that could solve problems or is built for a specific purpose; as well as introducing them to a range of programming languages. All of which will involve children using logical reasoning . |
LO - I can invent a new product
Logical Reasoning
Logical reasoning is a process that ensures a result is formed based on knowledge, experience and judgement which allows us to think beyond the information given . The process involves a rational, systematic sequencing of a series of steps that break down a problem in order to make the correct decision in order to find a solution. This involves deductive reasoning, which is based on things that are thought to be true, as well as elimination skills that enable us to find solution by removing aspects of a problem that are waste, incorrect or inefficient. For example, if the head teacher and the SENCo agreed to meet in the staff room at lunch time, when you see the head teacher in the staff room you would expect to see the SENCo arrive; also and your brain would not factor information about a missing chair in the staff room as this is irreverent to whether the head teacher and SENCo would be able to meet at lunch.
Scratch
Scratch Project Logical Reasoning This is a resource you can use to introduce the concept of logical reasoning to the children in your class. This will also allow children develop an understanding of logical reasoning using the process of brushing your teeth. It would also be good to see how programming languages represent logical reasoning by looking at the scratch blocks and comments inside this project. As well as explaining the 'control' blocks as these involve creating coding for the computer to be able to work logically, using 'if' options for selection to enable computational thinking processes. |
Relate to real life
It might also by useful to relate the concept of logical reasoning to real life examples that children can relate to. For example you could ask children what they would do if they where at a red traffic light and then ask them why they would this. This thinking process will require children to think use logical reasoning.
It might also by useful to relate the concept of logical reasoning to real life examples that children can relate to. For example you could ask children what they would do if they where at a red traffic light and then ask them why they would this. This thinking process will require children to think use logical reasoning.
|
LO - I can explain my logical reasoning
Algorithms
An algorithm is a set of instructions, steps or a process for solving a problem that is in a specific order. For example the process of getting to work, the first step of the algorithm might be to leave the house.
Within computer science an algorithm is a set of steps that the computer has to take carry out to complete a task. By using algorithms we are able to write code using programming languages to instruct the computer what to do. Algorithms complete a variety of tasks, in many forms, that we as humans use every day. For example: audio and visual compression algorithms are used in programs such as Skype; route finding algorithms for allowing us to find directions and distances in programs such as google maps; optimization and scheduling algorithms are used in things such as how NASA chooses to arrange their solar panels and then when to rearrange them. There are many differing algorithms, not matter how complex each one is they all are made up of a sequence of steps. It is useful to be familiar with a range of algorithms as well as how and why they are correct and efficient to make the creating process faster. It may be useful to familiarize yourself and the children with a range of existing and everyday algorithms.
Within computer science an algorithm is a set of steps that the computer has to take carry out to complete a task. By using algorithms we are able to write code using programming languages to instruct the computer what to do. Algorithms complete a variety of tasks, in many forms, that we as humans use every day. For example: audio and visual compression algorithms are used in programs such as Skype; route finding algorithms for allowing us to find directions and distances in programs such as google maps; optimization and scheduling algorithms are used in things such as how NASA chooses to arrange their solar panels and then when to rearrange them. There are many differing algorithms, not matter how complex each one is they all are made up of a sequence of steps. It is useful to be familiar with a range of algorithms as well as how and why they are correct and efficient to make the creating process faster. It may be useful to familiarize yourself and the children with a range of existing and everyday algorithms.
Sequencing Sequencing involves knowing that algorithms need to be arranged in a particular order.
Scratch Scratch Project Sequencing an Algorithm This is a resource you can use to introduce algorithms and sequencing to the children in your class. This will also allow children to sequence an algorithm using scratch's programming language and blocks inside the scratch project, to make the frog brush his teeth, which will in turn involve logical reasoning. When giving children time to explore within scratch they may find algorithms that solve the problem they are dealing with, explain to them that they can use and manipulate existing algorithms if they understand them. It might be an idea to get them to explain and discus the sequences in partners. |
DecompositionDecomposition involves knowing that algorithms are processes broken down into parts.
Scratch Scratch Project Decomposition This resource can be used to introduce children to decomposition. This will explain the concept of decomposition by getting children to write down how to bake a cake and then breaking this down into clear simple steps. Finally, this scratch project asks children to look inside, at each sprite, to see how the entire program is broken down into lots of sequenced algorithms. This might be something that can be done as a class or in small groups. Comments inside the project will also help children to think about how each algorithm has on the game. |
AbstractionAbstraction involves knowing that algorithms need to be simple whereby all unnecessary information is removed, leaving only the key idea that has a focused aim.
Scratch Scratch Project Abstraction This resource will aid introducing abstraction to children by explaining the concept and then asking children to create their own abstraction for 'no cameras allowed'. They will be able to do this by designing an abstraction in the camera sprite's costume and then creating an algorithm to make it appear at the correct time. It might also be useful to discuss the blocks with children to see how each block has the least amount of words possible to represent that step. |
RepetitionRepetition involves knowing that algorithms that have been written can be used over and over again.
Scratch Scratch Project Repeating an Algorithm. This is a resource you can use to introduce repetition to your class. This will explain how we do things again and again as well as how we can use the same algorithms again and again. The scratch project then asks children to repeat an algorithm which will visualise repetition. |
Activity - Relate Algorithms to real life
1st - Sequencing an Algorithm
It might also by useful to relate the concepts of algorithms and sequencing to real life examples that children can relate to. For example, by asking children to write and sequence an algorithm for their journey to school. For example:
It might also by useful to relate the concepts of algorithms and sequencing to real life examples that children can relate to. For example, by asking children to write and sequence an algorithm for their journey to school. For example:
- Step 1: first I leave the house at 8am
- Step 2: then I get into the red car
- Step 3: when I get to school I wait for school to start
2nd - Decomposing the Algorithm
Then ask children to break the journey down into smaller steps, to reiterate the concept of decomposition. For example:
Then ask children to break the journey down into smaller steps, to reiterate the concept of decomposition. For example:
- Step 1: first I leave the house at 8am
- Step 2: then I walk to the car in the car park
- Step 3: then I get into the red car
- Step 4: I get out of the car
- Step 5: afterwards I walk to the play ground
- Step 6: finally I wait for school to start
3rd - Abstracting the key information
Once they have a detailed step by step process that they are happy with, ask children to make these steps as simple as possible and this will demonstrate to the children the concept of abstraction. For example:
Once they have a detailed step by step process that they are happy with, ask children to make these steps as simple as possible and this will demonstrate to the children the concept of abstraction. For example:
- Step 1: leave house at 8am
- Step 2: walk to car
- Step 3: get in car
- Step 4: get out car
- Step 5: walk to play ground
- Step 6: wait until schools starts
4th - Repeating parts of the Algorithm
Finally, discuss with children how and if they do this same process every morning and if their routine changes each day of the week. If it is the same they can use repetition to repeat instructions to ensure the do the same thing each day when they come to school.
Finally, discuss with children how and if they do this same process every morning and if their routine changes each day of the week. If it is the same they can use repetition to repeat instructions to ensure the do the same thing each day when they come to school.
Sometimes what children do each morning will depend on who is taking them to school and who is already in the playground. By discussing these thought process it will help reiterate the concept of logical reasoning, how the factors that change these decisions are inputs and what they decide and actually do are the outputs of their logical reasoning.
LO - I can write effective algorithms
Variables
A variable is something that holds data and then has the ability to change by increasing or decreasing in value throughout a running program. There are many types of variables: dependent, independent and controlled. Dependent variables depend on what information is measured and given, Independent variables affect and can change values of other variables and controlled variables are variables that cannot be changed. Variables are named corresponding with their purpose.
Scratch
Scratch Project Variables This is a resource you can use to introduce the concept of variables to the children in your class. Using scratch will allow children to see how variables can take on many forms and be manipulated for a purpose. This particular scratch project is programmed to work similar to a calculator and uses the most complex programming language so far. Allow children to investigate the variables tab in scratch and see how they can create a variety of them. Looking inside this scratch project will help you to understand the programming languages and principles of computational thinking as the algorithms are annotated. |
LO - I understand what a variable is
Debugging Games
These first two games to debug are parts of the original game shown in the video at the top of this page, whereby the entire game is explained. The objective of the game is for children to help the endangered Frog by moving him to catch the flies.
Scratch Debug game (1)
Problem to Solve 1: Can you please debug the code to make sure Freddie the Frog is on the lily pad when the game starts. Problem to Solve 2: Can you please make sure Freddie the frog goes in the correct direction when the input arrow keys are pressed. The first problem will introduce children to the motion blocks within scratch and start developing their knowledge of a programming language; as well as making them use specific inputs (in the form of scratch blocks) to create a desired output. The second problem will reinforce children's understanding of inputs and outputs as they have ensure the frog is going and facing in the correct direction using logical reasoning. |
|
|
Scratch Debug game (2)
Problem to Solve 1: The variable does not show up. Can you make the variable show when the backdrop switches to 'Pond'? Problem to Solve 2: Every time Freddie eats a fly the variable adds too many flies to the total. Can you make sure each fly only adds one each time? The first problem will require children to use logical reasoning to decide where the 'show' block should be placed. This will also involve children having to look through sequenced algorithms and decompose what is already happening. Children will have to understand the abstract language within scratch to be able to solve the problem. The second problem will require children to recognise and adjust variables within sequenced algorithms. |
Within the next two debug programs the objective is for the sprites and algorithms to work as a calculator whereby numbers are inputted and variables used to complete calculations. Once debugged this program could be used as in educational resources for numeracy.
Scratch Debug game (3) Advanced
Problem to Solve 1: The calculation buttons broadcast the wrong messages. Please can you fix this problem. Problem to Solve 2: There is a calculation button missing. Please can you create and code a multiplication button. The first problem in this will allow children to see how a sequenced algorithm can be repeated and used again and again for different reasons; each broadcast starts the same sequence used in different ways by different sprites. The second problem will require children to create a multiplication button and position it using logical reasoning. It will also involve them having to search through a range of program blocks to find the broadcast block, widening their knowledge of programming languages. |
|
|
Scratch Debug game (4) Advanced
Problem to Solve: The multiplication Frog is missing along with all of its code. Please can you create and code a Frog for the multiplication calculation. This problem will require children to use knowledge of sequencing and decomposing in order to code an algorithm. Children will do this by using scratch's programming language to program when and why visual outputs will appear depending on the variables; as well as using variables as inputs to collect data and values. LOs -
|
References that supported my assignment :
BBC Bitesize - What are input and output devices?
Definition of logical reasoning
What is an Algorithm?
Variables
National Curriculum
BBC Bitesize - What are input and output devices?
Definition of logical reasoning
What is an Algorithm?
Variables
National Curriculum