Extension projects related to Computational Thinking aim to develop logical reasoning and problem solving using concepts used in computing, such as: algorithms, abstraction, decomposition and pattern recognition. In several countries around the world, the teaching of Programming and Computational Thinking are part of the Basic Education curriculum and help students learn all other subjects. Classes are weekly, free of charge and new classes are opened each semester