Progression of Learning in Programming

Software

Written by:

Progression of Learning in Programming

Even before choosing a tool to teach programming, it is important to define how far you want to accompany students in their learning. Defining the different learning phases of programming is a colossal task that is not yet complete with regard to primary and secondary education, as research is still in its infancy in this field. Despite The forbiz , it is possible to define some learning elements by looking at what has been done in the past and what seems to work today.

Currently, the most popular platforms for learning programming all use more or less the same methods: sequential, procedural and event programming.

Sequential Programming

Roughly speaking, sequential programming involves defining a “recipe” that the computer must follow in a predefined order. For younger students, this is a good starting point because at this level, programs are essentially recipes.

Procedural Programming

In procedural programming, we create several “recipes”, called routines or procedures. This way of working being very modular, it makes it possible to break down a complex problem into several simpler sub problems.

Event Programming

In event programming, the procedures can be executed according to certain actions of the user. A mouse click on a button is an example of an event that can trigger the execution of a procedure.

There are many other programming paradigms, such as object-oriented programming that requires greater capacity for abstraction. Here, the object represents a concept, an idea or any entity of the physical world, such as a car, a person or a page of a book. He has an internal structure and behavior, and he knows how to interact with his peers. It is therefore a question of representing these objects and their relations; the interaction between the objects via their relations makes it possible to conceive and realize the expected functionalities, to better solve the problem (s). It is possible, with some students at the end of secondary school, to approach this style of programming. In addition, it is even desirable that students be exposed well before some concepts inherent in this way of programming.

In order to show as simply as possible what could be the progress of learning at the level of the programming structures, here is a series of examples in pseudo code illustrating the first phases of learning:

Simple Sequential Procedure

It is often through this stage that we approach programming. A typical exercise would be to move a character in a labyrinth, or make a drawing. A program drawing an equilateral triangle might look like this:

  • Pen in writing mode
  • Advance of 10 steps
  • Turn 120 ° left
  • Advance of 10 steps
  • Turn 120 ° left
  • Advance of 10 steps
  • Raise the pen

Simple Repetitive Structure

At this stage, one could imagine that the student should write a program that moves a ball to the right by moving the ball by 100 pixels (the pixel is a unit of measure of the size of an image) in total. The pseudo code could look like this.

Repeat 100 Times Advance The Ball One Pixel To The Right

When adding the repetitive programming structure, which allows one or more lines of code to be executed a specified number of times, it is actually used only for this task. However, its interest will be revealed much further in the learning process, for example, in the treatments involving indexed variables (such as x1, x2, x3 … xn) and all that appears in it, including stringsand the paintings.

Decision Making

This new element allows the computer to make a decision based on information that is variable. For example, choosing at random the color of the pieces that a chess player will have to use:

Assign a random value between 1 and 2 to the variable x

If x is 1 then { the player has the white pieces} if not {The player has the black pieces}

This learning phase involves several cases of decision-making: simple, binary or multiple. Here are some examples:

Simple case: If x then a

Binary case: If x then a, otherwise b.

Multiple case: If x then has, otherwise if y then b, otherwise if z then c, etc.

Repetitive Structure With Condition

This structure allows you to repeat instructions as long as a certain condition is met. For example, a program that moves a horse to the right to the finish line:

As long as the horse is before the finish line {Advance the horse to the right of a unit}

In order to be able to solve problems of different natures, the pupil must be able to combine these structures of programming. This leads us to define the pedagogical strategies to develop real programming skills. For more please visit Theforbiz.com

Some Teaching Strategies To Approach Classroom Programming

More and more teachers wanting to integrate programming into their teaching approaches are stuck with the fact that there are few didactic books for this purpose. Thus, here are some ways to approach programming, without jeopardizing its class management!

The teacher can model the activity by presenting an example of programming and inviting students to do the same, with little or no divergence from the imposed model. On the cognitive level, students are in contact with various elements related to logic, developing skills structuring procedures and, finally, being aware of the importance of a rigorous approach.

This teaching method is similar to a recipe instruction list: students only have to follow them carefully to complete the task. In our opinion, this approach is rather suitable for young people in the first cycle of primary school. This is what we find most frequently in our schools today.

Arduino

Although there are several variants, it is essentially an electronic microcontroller for analyzing or emitting electrical signals. It can be used to read information from sensors, control motors, etc. It must be programmed with the C ++ language, which for the teacher requires some basic programming knowledge.

Leave a Reply

Your email address will not be published. Required fields are marked *