Programming is a big part of computer science, and computer science is at the core of our computing curriculum. Since programming is itself at the core of computer science, it’s worth taking some time to really get to grips with both programming as a series of concepts and one of the main tools used in schools to teach these concepts, Scratch.
Programming simply refers to the art of writing instructions (algorithms) to tell a computer what to do. Scratch is a visual programming language that provides an ideal learning environment for doing this. Originally developed by America’s Massachusetts Institute of Technology, Scratch is a simple, visual programming language. Colour coded blocks of code simply snap together in certain ways like a jigsaw, eliminating the typing errors that tend to occur when people use text-based programming languages. Many media rich programs can be made using Scratch, including games, animations and interactive stories. Scratch is almost certainly the most widely used software for teaching programming to Key Stage 2 and Key Stage 3 (learners from 8 to 14 years).
Scratch is a great tool for developing the programming skills of learners, since it allows all manner of different programs to be built. In order to help develop the knowledge and understanding that go with these skills though, it’s important to be familiar with some key programming concepts that underpin the Scratch programming environment and are applicable to any Programming Language. Using screenshots from some of my own Scratch projects, I have written here the main programming concepts that can be learnt through the use of this application.
Sprites
Sequences
Iteration (looping)
Conditional statements
Variables
Lists (arrays)
Event Handling
Threads
Coordination & Synchronisation
Keyboard input
Boolean logic
User interface design
Concluding thoughts…
By incorporating these key programming concepts, Scratch makes computer science accessible to all learners. In doing so, it promotes problem solving skills, which are important in all areas of life, not just programming. The advantage of using Scratch 2.0 to do this is that it moves the Scratch programming language to the web, making it easier than ever to learn about, share and remix programs.