At Kokoa, we often get to evaluate educational solutions for learning programming.
There are several reasons for this: The digital world is created by programming, so it is natural to teach programming in digital environment. Programming languages are systematic and logical, so it is easy to create problems, which have easily identifiable right and wrong answers. Coding skills and computational thinking are also among the most desired 21st century skills and part of many new curricula, which creates demand for teaching resources.
How to pick a programming product? Here I wish to present four very different learning situations and several high quality products, which are made for different educational needs.
The basics of computational thinking
Before learning a programming language, the students should learn how to think the right way - how to give orders to a machine, how to create loops of commands and how to give conditional commands. We have few great products for this:
Switch & Glitch (in the image above), Coding Galaxy, CodeSpark and Bomberbot all offer interesting programming puzzle games, which introduce the main concepts in an easy to approach way. CodeSpark also comes with a game editor, so after learning the basics it is possible to create simple games with visual programming tools.
Scratch is a visual programming language developed by Lifelong Kindergarten group at the MIT Media Lab. The Scratch editor is open for everyone, and it is possible to create complex and versatile projects using it. There are also several coding products, which teach programming with Scratch, and that way introduce the learners to both the language and the thinking required for using it. One such product is Dystopia 2153, which in addition to teaching Scratch with programming puzzles, provides an interesting comic book story.
Learning a written programming language
Visual programming puzzles help to get introduced to right kind of thinking - but real programming is done with a written language.
CodeMonkey teaches programming with CoffeeScript language. The learner will get to know the language little by little, and at the end is able to create small games by programming it. CodeMonkey is very extensive product, which can be used for various skill levels.
Image: CodeMonkey puzzle
Creative programming and learning electronics
There are several great products, which mix teaching arts, electronics and programming. For example the electronics component provider Arduino offers a school kit, which provides materials for various interesting projects. Arduino CTC 101 comes with online learning materials and programming editor, and offers plenty of example projects as well as chances for altering them and creating things of one’s own. If Arduino projects feel too advanced, but you still want to introduce your students to electronics, littleBits STEAM STUDENT SET offers a set of Arduino based parts, which can be used for building different kinds of devices and creative projects, without the need for programming.
Image: on the left, Arduino CTC 101 project and on the right a littleBits construction.
For younger learners, programmable robots, such as Ozobot, offer an easier introduction to creative programming. Ozobot can be programmed with colored pens or using a visual Blockly language, and it is a great tool for teaching both coding and other STEAM goals.
Regardless of your skill level, there is plenty of options for teaching and learning coding. Have fun!
Written by Saila Juuti, Head of UX