In recent years several tools have emerged to help introducing programming to children and young people.

These tools aim to provide an introduction to programming using a friendly environment but, at the same time, it offers several alternatives for learning the basics of high level programming languages: variables, control structures, functions, etc. Typically, these environments offer a friendly interface that incorporates motivational factors and different abilities put into operation.

What these tools have in common is that, most of them, do not intend to its users becoming experts programmers, but to facilitate the development of several multidisciplinary skills that are used when we elaborate small programs  designed to solve mathematical problems o to create simple games, for example.

And why not start learning programming with “real” languages instead of doing it with adapted tools?

During the 80s, the BASIC programming language allowed a simple approach to programming, facilitating writing lines of code almost immediately, and allowing to perform basic programs and operations without a deep programming knowledge.

With the increasing complexity of graphical environments in the early 90s, learning programming complicated by the same degree, getting away from general public. Computers were widespread, but its use was mainly focused on office and productivity suites.

Currently, programming environments are based on object-oriented programming languages and the complexity of writing a simple program (for example, the famous “Hello World”) drives them away from their use in schools.

Teaching programming from this perspective is thus reserved to students with advanced knowledges in mathematics and abstraction. That is, some capabilities that are (usually) not available to students of Primary and Secondary Education. The experiences that have been developed in this area have ended in faille, or even worse, have been contrapruduents.

As an example, manage to move a small sprite (a graphic object capable of being animated) on a computer screen using a high level programming language such Java, C, C++, Visual Basic, Ruby, Python, etc. is so complex that the effort invested is hardly worth in a school classroom.

And if we do not teach programming with a “real” programming language, why teach programming?

A computer is a machine that, by definition, must be programmed to run. Currently, computers are usually used only for office and graphic designing tasks, browse the Internet, send and receive emails, etc. That is, we are only using a part of what we might call digital technologies: data manipulation, its processing and its use.

There is another relevant part: digital technology as means of construction. Programming a computer involves structuring your thoughts and ideas, turning them into a construction project to build something new, not only manipulating what already exists. From this perspective, using computers (and other programmable devices and widgets) to create projects generates some advantages over its habitual use:

  • Develops abstract thinking
  • Favors the development of logical thinking
  • Puts into operation creative processes that can be done through collaborative work
  • It brings together the use of different intelligences in shared projects: linguistic, mathematical, artistic, spatial, musical, interpersonal and interpersonal.

Learning how to program have a direct acquisition of digital competence, and this use has traditionally been forgotten, usually because we are trying to convert students into expert programmers, something that should only be indicated to those students really interested in developing their professional work in this field or those students willing to expand their specific training in this area.

CODELEARN, the pioneer school in teaching programming and Computational Thinking in Catalonia, aware of all the foregoing, has developed a method and a platform geared to teach and disseminate computational thinking and programming to children and adolescents, because today’s world presents important challenges for our young people and it is our responsibility to provide them with the knowledge and key skills so they can succeed in the increasingly competitive present and future.

And you? Do you want to learn programming? Come to CODELEARN and START THE ADVENTURE!