Programming, robotics, computational thinking … this vocabulary that until a few years ago did not enter the conversations associated with children’s education or leisure, has gained enormous weight. It is no longer strange or unusual that in different school subjects, STEM toys, after-school or time with parents, teaching programming is a clear and defined objective.
The big question then is: What language, game or programming tool is recommended to teach or practise with children according to their age?
Teach programming to the smallest without programming (3-6 years)
When we talk about teach programming to a boy or girl Under the age of 5-6 years, we are actually referring to them getting to know and starting to familiarize themselves with the world of programming and its general language without them realizing it. Have the first contact with this discipline in a playful way and at the same time formative.
Through games, challenges, puzzles and drawing on their creativity, in these early ages, we can start the development of computational thinking. The common thing to all of them is that we must try that the tools we use are not linked to visual elements since their entire reading and writing capabilities and CSUnplugged there are numerous very well documented examples (with printable tabs, links to resources and organized by stages and ages ) and in which we can follow various itineraries. The games in which the smallest creatively seek solutions to problems and making use of algorithms without realizing it can be very varied.
From a rescue mission playing in a physical space as a chessboard to planning the dance steps of a party where they can unknowingly discover concepts such as signs or loops.
Also the process of planting seeds and other habitual activities of children (that we can have previously organized in visual cards) can serve to learn to break down a problem into multiple parts or to order events in a logical order.
In these first ages (from 4-5 years) we can also start working with a computer or tablet, even if the children do not know everything.
The workflow associated with this type of activity, where the most complicated thing for them can be the drag and drop gesture, they practice before with puzzles, gaining skill with the mouse or gestures.
Although there are very complete and free resources online, ready to print or copy, we can also use robotics starter kits with which to achieve the same goal: use logic games and physical movements with which to represent and understand different concepts related to programming.
We have several options, but both Code & Go (70 euros) and Let’s Go Code (both from Learning Resources) are the ones we would recommend at this age.
From 5 years and if the child already has some fluency with the use of a tablet, it is recommended that you start taking your first steps with Scratch Jr. This tool is based on programming by blocks and although it has limitations, It is an excellent option for them to create their first animated stories with which to start in this programming language.
Scratch Jr is gratuitous, is only available for iOS and Android devices, and we can start working with the help of the Code21 getting started guide.
Starting with block programming (7-10 years)
Once we have literacy at a more advanced level, the possibilities for learning to program expand exponentially. There is a multitude of platforms, apps and resources that resort in all cases to a block programming fully visual.
At this age, we can already fully use the excellent platform that is Code.org and not just its unplugged or disconnected resources. There we find tutorials of different levels associated with different ways of programming, but the most interesting thing of all is that those challenges are based on themes and universes that boys and girls are especially attracted to. Star Wars, Minecraft, Frozen or characters from your favourite cartoon series are used in hundreds of resources for the first steps in programming.
The tutorials are organized by age, themes and type of resource. It is recommended to start with one of the proposals for the Hour of Code initiative. They only require an hour of dedication and are a great motivation for the first steps. Then we can already start some of the programs associated with each age range and that come guided and with a very clear outline and that we can continue at various times.
Whether with a more advanced level of the Junior version or directly with the complete software, Scratch It is the best and most logical step forward that boys and girls can begin to take from 7-8 years.
It is one of the most important educational programming platforms. It is free, we can use it or in offline version, and its progression curve It is fantastic in that it allows from very simple works for children of 7-8 years to complex projects and linked with robots, boards and third-party sensors through the extensions.
Tynker, CodeSpark and Code Monkey
Another of the best known and largest platforms to learn programming using blocks it’s Tynker. There is a very complete application for tablets but there are also resources that we can use and several similar platforms such as CodeMonkey.
Robots with their own programming environments
To learn to program by blocks using robots, in addition to Scratch, mBlock or BitBloq, the different manufacturers rely on their own proposals and are very well supported in lessons or user guides of progressive difficulty. The most prominent are Lego with its Spike and Wedo 2.0, as well as BQ’s Robo Wunderkind or Zum Kit Junior.
First lines of code (10-15 years)
Now practically entering secondary education, boys and girls are ready to begin writing your first few lines of code in various languages, always with the starting point of block-based and visual programming.
From the hand of Apple, we have your application Swift Playgrounds, available only for iOS and Mac devices. Includes lessons to learn how to program with the Swift language with various progressive levels.
At this age, it is advisable to start with the first lessons that explain through puzzles to solve in a very graphic way the programming basics as well as the simplest instructions with which to overcome the challenges proposed by the app. Later you can start programming robots or drones compatible with the application.
Microsoft It also offers a free open source platform as a starting point to learn real programming. MakeCode is based on different learning experiences quite attractive for children and based on boards such as MicroBit or Adafruit, the Minecraft game or the famous LEGO Mindstorms.
Phyton with Minecraft or CodeCombat
Although in MakeCode we already have a good base to start Program in Phyton, the Rpi version of the Microsoft game, or directly with the educational edition of Minecraft, where we have tutorials and guided courses for children from 14 years old.
More level with Scratch
The ability to start writing code no longer detracts one iota from what boys and girls can continue to achieve with Scratch. It is no longer so much about telling stories, learning instructions or replicating instructions, but going one step further and, for example, carrying out personal variations of arcade video games, something very motivating at this age.
The first mobile applications with AppInventor
Using a working method based largely on the union of blocks, App Inventor is a simple but powerful solution to teach how to program applications for Android phones. It is free and includes a simulator, although the best thing about it is that, after programming the app or game, we can generate an apk and test it directly on a phone.
Creating content with code (+15 years)
Developing applications with Swift
After the PlayGrounds puzzles and challenges, Apple has a training itinerary based on visual guides and called App Development with Swift in which upper secondary students can begin to program their own applications for Apple devices in Swift.
Video games with Unity and C
Programming and video games go hand in hand when we talk about students. Unity It is one of the most used game creation engines today and they themselves have a learning platform where they can even obtain a certification after learning to create content programmatically in C #.
Robotics with Arduino
Although in the first courses of secondary education you can start programming Arduino boards and the like using only block programming, it is from 14-15 years when the joint learning of electronics and programming on Arduino reaches enormous potential.
We are facing a very versatile language, with a large community and the attractiveness of including hardware with multiple possibilities.