Envoyer à un ami

Infos utile pour débuter et enseigner la programmation

Quelques techniques pour aider à débuter en programmation. Voir descriptif détaillé

Infos utile pour débuter et enseigner la programmation

Quelques techniques pour aider à débuter en programmation. Voir descriptif détaillé

Menez à bien d'incroyables projets scientifiques !
Des voyages scientifiques qui changent le monde
Des aventures hors du commun, des projets réels pour le développement durable

Accueil > Nos actions > Journal de Bord des Opérations > Vacances Scientifiques > Infos utile pour débuter et enseigner la programmation

Ajouter à ma liste de souhait

Introduction

Débuter en programmation n’est pas toujours évident. Aider quelqu’un à le faire ne l’est pas nécessairement non plus. On se demande souvent comment bien commencer. Mais quel méthode choisir ?

Le Journal de Bord

 Les compétences à acquérir

Arriver à programmer nécessite d’observer plusieurs types de compétences dont la maîtrise progressive conduira à l’autonomie puis, pourquoi pas, à l’expertise. Petit tour d’horizon :

La première compétence est celle de la connaissance algorithmique. C’est la connaissance des règles nécessaires pour créer un algorithme. Il est donc important de commencer par définir les structures incontournable de la programmation, comme les variables qui sont des connaissances essentiels.
Une variable est ce qui permet d’associer un nom à une valeur ou un objet. Par exemple, la déclaration d’une variable age, permettra de stocker en mémoire la valeur de l’âge de la personne, qui sera accessible à partir du nom de la variable.

On y retrouve aussi les structures de contrôles, comme les conditions et boucles.

Illustrations des Conditions
Illustration du fonctionnement d’une condition en Shéma puis un exemple en langage Python

Une condition permet de différencier plusieurs possibilités. Vous soumettez une question à la machine, par exemple l’âge de l’utilisateur est il supérieur à 18 ans ? La Machine vous renverra Vrai ou Faux (ou plus précisément 1 ou 0). En fonction de la réponse, la Condition nous permet d’exécuter tel action si la réponse est Positive (Vrai) et tel autre action si la réponse est Null (Faux). Il est tout à) fait possible d’imbriquer plusieurs conditions les une dans les autres ce qui ouvre un large éventail de possibilité.

Illustrations des Boucles
Illustration du fonctionnement d’une Boucle FOR puis une boucle WHILE en Shéma puis un exemple en langage Python

Nous faisons très souvent aussi appel à des boucles. Les boucles sont des morceaux de codes que l’on répétera un certain nombre de fois. On peut distinguer deux types de boucles, les boucle FOR (Pour en anglais) qui répéteront l’action un nombre défini de fois, et les boucles WHILE (Tant que en anglais) qui répéteront l’action dans qu’une condition n’est pas rempli.)

L’algorithmique est la première et la plus intuitive des compétences à transmettre pour bien commencer à programmer.

Nous pouvons aussi, au cours de la formation, progresser sur la compétence de la présentation. Aujourd’hui, la présentation de nos logiciels ou de nos sites a une place importante. Une bonne présentation donne en effet une meilleure impression. Cette compétence d’acquiert au cours du temps.

Une dernière compétences à acquérir, est surement la plus complexe parfois est la compétence du débogage. On l’oublie assez souvent, mais si nous n’avons pas les méthodes pour déceler les problèmes d’un programmes, avancer devient souvent très compliqués.

Pour acquérir ces différentes compétences, de nombreux langages nous sont proposés, ayant chacun leurs qualités, mais aussi leurs limites.

 Par quoi commencer ? La programmation Web

Une bonne approche est de chercher un programme possédant une qualité que l’on recherche particulièrement. Il est simple de trouver plusieurs exemples. Tout d’abord, ceux touchant à la création de site Web :

HTML
Le Langage HTML (Web)


- Un langage immédiat, sans avoir besoin de beaucoup d’installation et disponible gratuitement et rapidement. Le langage parfait semble être dans ce cas le HTML. Il vous suffit d’un simple éditeur de texte, même bloc note, et de n’importe quel navigateur internet. Le problème de ce langage est que vous ne gagnerez que peu de compétence si vous l’utilisez seul. Peut être un peu en présentation mais guère plus. Le HTML est donc assez limité, il vous permettra au mieux de faire quelques jolies page web avec un peu de texte. mais vous pouvez ensuite, en rajoutant css et javascript commencer à créer quelques interactions pour planter les bases de la création de sites web.

PHP
Le Langage PHP (Web)


- Un langage collectif, le PHP, pour rester sur la programmation Web. Il est en effet fort utile, notamment à OSi, de pouvoir créer quelques choses en collectivités. Même si le HTMl propose déjà un peu cet option, il est tout à fait faisable de réaliser un site à plusieurs, chacun créant une ou plusieurs pages webs reliées les unes avec les autres. Mais le PHP est beaucoup plus intéressant car il offre une grande possibilité d’interaction et donc oblige les participants à ce concerter pour réaliser une oeuvre compète et intéressante. On peut rajouter au PHP la gestion de base de données, en MySQL qui nous permet de lier une approche très poussée de l’algorithmique et de la présentation.

 La programmation Logiciel

Maintenant, étudions les langages utilisé pour la programmations de logiciels. Ces langages nous offres eux aussi différentes qualités.
On peut déjà les distinguer en deux groupes : Les langages interprétés et les langages compilés.

Ruby
Le Langage Ruby (Interprété)

Un langage interprété est un langage qui n’est pas exécuté directement par la machine. Il passe en effet par un « interprète » qui transcrit notre code en langage utilisable par la machine. Ces langages ont la particularité d’avoir une syntaxe simple et lisible. Ils sont très pratiques pour débuter car leur code est souvent plus intuitifs que les langages compilés. Ils ont aussi un autre avantage très intéressant : ils ont le plus souvent une très grande portabilité, c’est à dire que les programmes peuvent être lancé sur la plupart des machines, sans nécessité d’installation d’un autre matériel auparavant. Par contre, le passage par un langage interprète ralentit fortement leurs exécutions et leurs capacités sont bien souvent limités. Des exemples de langages interprétés sont le Basic, le Ruby etc..
Note : Le PHP et le javascript sont eux aussi des langages interprétés.

C++
Le Langage C++ (Compilé)

Un langage compilé est donc un langage qui est directement lu par la machine. Son exécution est donc bien plus rapide qu’un langage interprétés puisque qu’ils n’a pas besoin d’un « interprète ». Ils offre aussi de plus grande possibilités car il n’est pas conditionner par ce dernier. Par contre sa syntaxe est plus complexe et moins facile pour un débutant. Il est pourtant conseillé de passer rapidement à un langage interprétés dès les bases de la programmation apprises. Quelques exemples de langages compilés sont le C et le C++ (utilisés par les micro contrôleur Arduino)

Des langages semi-compilés comme le Java ou le Python permettent de faire la liaisons entre interprétés et compilés.

 La Programmation Orienté Objet : Un point important dans l’apprentissage

Voilà, je maîtrise les compétences de base, ai-je d’autre choses à apprendre ? Oui évidemment, on est tout le temps en train d’apprendre.
Une étape très importante et complexe à faire apprendre et surtout comprendre est la Programmation Orientée Objet (que l’on nommera POO).
la POO est la possibilité de créer un Objet, qui représente un concept possédant des caractéristiques spécifiques.

POO
Shéma simplifié de la Programmation Orientée Objet

Prenons un exemple : La voiture. La voiture est constitué de composants : les roues, les portières, le moteur, etc...
La voiture réalise aussi des actions : avancer, reculer, tourner etc...
Ces composants et ces actions sont présents sur toutes les voitures.
Imaginons que l’ont crée un programme devant connaitre l’état de 150 voitures.
Créer une variables pour tout les composants pour chaque voiture serait long et sans grand intérêt, le programme s’exécuterai en plusieurs heures.
Définissons donc notre voiture comme un ensemble de variables, représentants les composants, et un ensemble de méthodes, les actions.
Il nous suffit alors de créer une variable voiture... Qui contiendra déjà toutes les variables et les méthodes ! Nous auront donc autant de variables que de voitures, et pas une variable pour chaque composant de chaque voiture et une fonction pour chaque action de chaque voiture.

Si vous avez réussi à comprendre le concept de la POO qui est assez complexe, vous comprendrez surement l’utilité d’un tel concept.
Il est vrai que pour comprendre celui-ci, un minimum de base de la programmation doivent être acquises. Il est cependant conseillé d’aborder ce sujet assez rapidement, car s’habituer à une programmation sans objet rend très difficile l’adaptation.

 Conclusion et Référence

L’apprentissage de la programmation n’est pas une tache aisée, ni pour l’élève, ni pour le professeur. Mais une vue globale sur les différentes possibilités de programmations et de langages, ainsi que la bonne connaissance des objectifs et des compétences à aborder permet de s’engager sereinement sur cette voie.

Site Du Zéro

Un site très utile pour commencé et qui donne les bases de beaucoup de langages est le Site Du Zéro.
Je vous souhaite un bon développement !

Photos / Vidéos

Boucles

Conditions

Java

Nos partenaires

Voir également