-
Introduction
In this section you will learn about the strategy we have followed to teach our students programming in a simple and fun way. Learning to code can be a motivating activity.
-
The DEMETER I language
In this section you will learn about the basic structures of our programming language. We call this set of instructions DEMETER I.
-
The DEMETER II language
In this section you will learn about the evolution of the initial DEMETER I instruction set. We will call the full language DEMETER II. In addition to having new instructions, the minefields have new elements that increase the difficulty.
How to teach programming successfully
Programming is a mental process. The goal of any program is to solve a problem in an incremental way. We are solving small problems until the set of actions carried out solve the whole problem.
One of the problems that students find when learning programming is that it is not very visual and the frustration of the rigid language. In addition, until the complete program does not work, there are times that it seems that our program “does nothing”.
With our method, all these problems disappear and the student focuses on learning the basic concepts of programming without this type of inconvenience.
Knowledge of programming in this society in which we live becomes an indispensable tool to be able to face the challenges of the fourth industrial revolution.
Today, programming is the basis of multiple sciences such as robotics, biotechnology, autonomous vehicles, etc. Or the basis of everyday things like a washing machine, television, etc.
It is this technological development that is going to force our students and by extension all the citizens of the world to acquire these skills in order to have greater employability. Basic knowledge of programming will help anyone to solve day-to-day situations.
Our students must develop the ability of computational thinking, which must be taught taking into account the other areas of knowledge and should be aimed at solving real-world problems.
This course is aimed at the student solving problems progressively to acquire certain programming knowledge that can be used in the future to enrich his/her skills.
Our goal is to use a tool that consists of a rover that clears a minefield by taking the shortest and most appropriate route.
In this course we are going to use a tool that allows students to learn the principles of computational thinking more quickly and easily because we have included and simplified its key concepts, such as:
- The logic. The programs we are going to create are predictable. Our programs try to help a rover detect mines in a minefield. The rover will or will not achieve its result if it carries out its mission successfully.
- Algorithms. An algorithm is a sequence of commands that does something specific. In our case the algorithm always has the purpose of clearing a minefield. There will be different levels of difficulty with various challenges.
- Decomposition. The student will have to divide the problem (demining a minefield) into simpler problems to arrive at a successful solution.
- Patterns. The student will have to analyze the problem and solve the movement patterns that the robot will have to make in order to clear the minefield. Sometimes, for example, the solution is for the rover to move in a zig-zag, other times straight, etc.
- Abstraction. The student will have to analyze which details of the problem are important and which are not for its resolution.