Today, most people don’t need to know how a computer works. Most people can simply turn on a computer or a mobile phone and point at some little graphical object on the display, click a button or swipe a finger or two, and the computer does something. An example would be to get weather information from the net and display it. How to interact with a computer program is all the average person needs to know.
But, since children are going to learn how to write computer programs, they need to know a little bit about how a computer works. Their job will be to instruct the computer to do things. Basically, writing software (computer programs) is describing how to do something. In its simplest form, it is a lot like writing down the steps it takes to do something – a process, a procedure. The lists of instructions that they will write are computer programs, and the stuff that these instructions manipulate are different types of objects, e.g., numbers, words, graphics, etc.
So, writing a computer program can be like composing music, like designing a house, like creating lots of stuff. It has been argued that in its current state it is an art, not engineering. Instead of just learning to use programmes created by others, it is vital that children learn to create their own programmes. Click here to read an article all about how children are taught the process of coding, which is essentially programming.
What is programming?
Programming is a form of problem-solving. It involves locating your problem, analysing it, designing a framework for the solution, writing the actual code for it, testing your algorithm, and, finally, writing a documentation for it. Computers are essentially a system that receives input, processes the data, and outputs the processed inputs. Inputs to a computer system are known as data and the outputs are known as information. In order to process data, a computer must receive instructions or commands. However, it would be unfeasible to make the user input commands for everything. Even something as simple as saving a document or opening a browser takes thousands or even millions of lines of code. In response to this problem, stored programs have been invented.
Within school there are some key apps that children are using to develop their programming skills, which you can see below. These could be used at home
Move the Turtle
A fantastic programming resource for learners of all ages. What better place to start than a site dedicated specifically to teachers who want to use Scratch to teach programming? Here you will find videos, lesson plans, worksheets, discussions and even real people to ask for help.Scratch Community
This is a real book that teaches you step by step how to program using the Python programming language. The book is available as a hard copy to purchase, a free download or just view it online for free.
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games.
With Scratch, you can program your own interactive stories, games, and animations — and share your creations with others in the online community. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century.
An online resource to develop basic logo understanding.
Another online tool to develop basic logo concepts with a fun robot to direct around the screen
Code Monster from Crunchzilla is an interactive tutorial for kids that focuses on action. Code changes immediately yield visible results. Projects start with simple boxes and colors, rapidly progressing into exciting experiments with simple animation and fractals. Important programming concepts like variables, loops, conditionals, expressions, and functions are introduced by example. Code Monster is a gentle and fun introduction to programming concepts.
This game provides a sequence of interactive online lessons aimed at the primary age-range on computational thinking, introducing key concepts such as decomposition and algorithms.
A free online game where you control a robot by giving it commands. You can ‘use programmer-style logic for more complex levels’.
This online resource from Logotron contains five interactive activities to introduce computational thinking and programming in key stage one.
An online tool for creating and playing with models and games.
An open source App that runs on Linux, Windows, and the Mac. It describes itself as ‘a Learning Environment – with many different features that enable play, exploration, creation, and learning’.
A downloadable program to learn how to code and create games on a pc.