What programming language or tools should be taught to children by age?

Until recently it was customary that the programming was restricted to field more professional sector, but this has changed. Initiatives like Code.org have come to change the landscape.

For here we have gone on more than one occasion the importance of programming. What programming languages or tools should be taught to children according to their age?

The approach we will treat according to age ranges, corresponding to different stages of the educational system. Although many surprise you can teach programming from kindergarten – in the UK they do from 5 years – always with specific targets for range and with the right tools.

Image Source: Google Image

In Children (3-6 years)

The electorates capabilities begin to form in childhood, with what tools to use are not linked to visual elements. Forget any traditional language, and even those graphics – type the Scratch MIT – also are too big.

At this age the goal is not that kids create their own code, but their introduction to the world of programming through games and fun as flag. It is something closer to computational thinking that programming as such.

The robot game

In fact, it is usual to go to the extreme of not even need a computer or tablet, thus raising games with the kids and using physical resources such as instruction cards. An ideal exercise is to put them at the controls of a robot to be from a source and reach a certain physical destination; for example, from one room to the kitchen.

We will have a set of pre-prepared cards with basic robot commands: move a step forward and turn to the left and right. The child / a should be choosing cards, combining them to achieve the objective initially raised.

This is just one example of game that can be practiced in this age, and though there are other reality is that the options are quite limited and they all need a guide, helping them in whatever is necessary.

Scratch Jr.

The little brother is called Scratch Scratch Jr., an app available on iOS and Android that can be an interesting starting point. Here longer we need the kid has a certain capabilities and of course who can handle with some ease a tablet to move around the interface.

Scratch Jr. is designed for ages 5 and 7 years and is based on the programming blocks. It is very simple and its potential is limited, but sufficient for these ages, remain free. A larger, the development team has published a few ideas that can serve as a great guide to take the first steps.

In the first cycle of primary (7-9)

It is from age 7 when literacy is already entrenched in most cases, and therefore opens the door to use more powerful tools. From 7 years we can use programming to promote a number of multiple intelligences, mainly linguistic, logical-mathematical and spatial.

Here the goal is to begin marking give freedom to the kids, initially with a guide while learning to use the tool, and later ceding the spotlight to them.

Code.org

We have already mentioned on more than one occasion here that Code.org is an excellent introduction to programming because of its many tutorials, step by step and very easy to follow and complete. Once completed, they will have learned some of the basics that can then be used in other languages of which more lately.

In Code.org there are many tutorials available, prepared for different age ranges, and that can be followed to perfection in an order of increasing difficulty. They are also particularly interesting theme tutorials, games based on films like Star Wars, or Frozen Minecraft that will be very attractive to many kids at this age. It will be an excuse for snagging.

Code.org complete tutorials provide a basis programming block on which then can begin to use other more powerful languages, sandbox type. The Code.org itself has one built in, but Scratch is an even more complete option.

Scratch

Although officially it aimed at kids from 8 years in the CJP we have successfully tested in seven years, and success stories younger. Scratch is considered one of the main platforms of educational programming in the world due to its huge potential and possibilities.

Many see it as a high – level language hidden behind an interface based on colored pieces, but the more than 14 million shares on your web projects (and rising) guarantee its success. The key is the ease and simplicity of use, the official resources available to learn how to use the tool and that huge community, essential in the life of Scratch.

Scratch can begin using it from 8 years to infinity for free, either through the website or the offline editor.

Tynker

Tynker is another programming language based on blocks with a model freemium. Platform, online available, highlight the many tutorials available that teach us to create projects as we begin to learn the platform.

Its creators recommend Tynker from child but with special emphasis from 8 years. It is at this age when they can begin to make the most through the proposals of the platform, including different levels (beginners, intermediate and advanced) and a wide variety of objectives to achieve: from games, artistic creations or stories with to relate some event.

Second primary cycle (10-12)

A little step brings a new level and a wider range of tools available, although from 10 years can continue using any of the above (Scratch, Tynker) new environments to address other approaches also appear.

Scratch

No, we have not wrong. We turned here Scratch because, as we said above, the potential offered is broad enough to use it for a longer time.

The difference between applying it in 8-9 years and do it later is the approach: while younger should propose specific activities, with a certain freedom, always necessarily, from the 10 years we ceding the witness for them begin to decide what schedule, and what targets marked on each project.

Scratch the complexity is limitless

There are many ideas for programming in Scratch – Education 3.0 We are continuously launching proposals – and that is a tremendously versatile and with an infinite variety language. For example, the usually very recurrent clones of arcade games, many of them simple to implement but complex enough to with them for hours.

Code Monkey

But it is time to start changing the text blocks, and Code Monkey can be a perfect choice to write our first lines of code.

More like a game than a professional programming environment, in Code Monkey we will at the controls of a monkey who must collect bananas for different scenarios. To move we will have to write the text of certain simple instructions on an interface with a dose of gamification, and so we will be completing levels and progress in complexity.

The game starts from strength to strength and is very easy to follow, perfect as an introduction to textual languages. It is free and has a payment option well worth it, for only $ 29 a year for a user to be available on the official website.

Secondary (13-16)

It is in adolescence when many kids begin to show their concerns, some of them about programming and content creation through code. We could continue considering the use of tools such as Scratch, Tynker or even Code.org which has an accelerated 20 – hour course for kids from 10 years, but we must not forget other platforms that are out there and they fit perfectly from the 13 years.

CodeCombat

Imagine that you put yourself in the shoes of a young warrior who participates in a simple role play, and to get weapons and more powerful equipment need to be solving programming challenges on a medieval world. So CodeCombat, one of the learning platforms the most complete and entertaining programming in the world.

You start moving the character in a two – dimensional world and you end up-creating your own functions to meet the requirements of the most advanced levels. CodeCombat is textual programming is available in multiple languages like Python, Java and JavaScript, among some others and has several modes of operation including teacher accounts and student perfect for whole classes.

AppInventor

Imagine that you can create Android apps by dragging blocks of code. It exists and is called AppInventor, a creation of Google who now leads the MIT and a few years of experience and plenty to scratch.

AppInventor is free and easy to use-beyond if we consider these official resources- and although it has an emulator ideal is to have an Android device (tablet or smartphone) which go dump what doing at all times. No need to write a line of code and everything will be done by dragging blocks, as in Scratch, allowing you tocreate apps and simple games.

Python

Python is not only a professional language that is among the most used in the world, it is also used by many as an introduction to textual programming for its simplicity compared to other alternatives.

And that is why so out there there are many tutorials designed to introduce Python young people from the 14 years or so, and some books. Among the guides will be particularly interesting interactive tutorial CodeSchool or that of Learn Python.

High School (17-18)

Many are beginning to raise their professional future in this age, in one of several training courses related to programming world. Here the focus continues to be much more versatile, not so much trying to find a professional future but taking advantage of the programming for other areas. And I recommend three further advanced than the above environments, although it would be unreasonable to recommend some languages already mentioned as CodeCombat, Python or Scratch.

Stencyl

Out there were a variety of environments to create platform games, and Stencyl is one of the most advanced in the world. It is free -has payment option if you want to export your web projects or platforms mobiles and can be defined as an editor to create games advanced, highly customizable and with great potential.

Start using it is not trivial (provide a wide ODA) and will be recommended that the kid already has some previous experience in programming, or otherwise may be too complex. But once you get the hang, with Stencyl the possibilities are extended over other options while the complexity does not fire as in the classical languages.

Arduino

A Arduino we know it all, and from 15 years many consider it as a great platform to learn electronics … and programming.

Because of its versatility, scalability, customization possibilities and the huge community that exists around the world, learn Arduino allow us to launch million real projects with effort and low cost. For those who want to go a step back you can try MBLOCK a type Scratch Arduino compatible interface.

CheckIO

If the CodeCombat we were talking about before putting a video game available learning programming, CheckIO is something along that line but with a different format. Completely available on the web, we have to solve certain problems coy to difficulty is increasing.

Not so doses game, but the challenges are more advanced and related programming reaching more professional approach to the professional scope of this matter.