Bienvenue à la programmation et aux algorithmes

Version textuelle

Dans ce cours vous allez concevoir des algorithmes et programmer, mais vous verrez plus largement :

  • les principes fondamentaux des sciences informatiques,
  • le potentiel et les limites des ordinateurs et du codage,
  • la manipulation de jeux de données,
  • l'importance des données ou de l'information dans notre environment,
  • le fonctionnement d'Internet et les transactions qu'il permet,
  • les impacts positifs et négatifs du numérique dans la société d' aujourd'hui,
  • ...

Nous utiliserons plusieurs environnements :

  • Blockly pour commencer par des exercices "algorithmiques",
  • puis Scratch pour réaliser des jeux et des applications,
  • et App Inventor pour développer des applications mobiles pour votre smartphone.

Ces environnements on en commun d'utiliser un langage par blocs. Ils permettent d'aborder tous les concepts de base en programmation, sans devoir affronter les problèmes de syntaxe des langages classiques.

Avec App Inventor vous allez développer des applications mobiles sous Android (ou à présent sous IOS). Vous devrez donc disposer d'un smartphone ou d'une tablette pour la 2° partie du cours,

Présentation de Scratch

Sratch est un environnement de développement et un langage de programmation réalisé au MIT Media Lab par Mitchell Resnick et son équipe. Il est dans la ligne des travaux de Max Papert (et Jean Piaget). Il est utilisé par 60 millions de personnes qui créent chaque mois près de 40 millions de projets. Scratch permet d'aborder par la pratique les notions essentielles de l'algorithmie et de la programmation.

C'est comme le vélo, on peut en faire à tout âge, et aller dans les directions qu'on veut : créer un jeu ou modéliser la propagation d'une épidémie pour étudier les effets du confinement, des gestes barrière ou du traçage. Cliquez sur les liens ci-dessus ou sur les fenêtres ci-dessous pour voir des exemples.
Chaque application démarre ou redémarre en cliquant sur le drapeau vert.

Scratch est utilisé en première année dans certaines universités américaines pour analyser et comprendre les principes de l'informatique (computational thinking): c'est dans cette optique que nous l'avons retenu. Nous verrons aussi comment passer à d'autres langages en traduisant vos applications en Javascript (ou en C pour aller vers Arduino et la robotique).

"hard fun" : Cette expression est née avec Scratch (et Mitchell Resnick). C'est "fun" mais "hard" il faut vraiment bosser mais le retour est assez sympa.

Présentation d'App Inventor

App Inventor permet de réaliser facilement des applications mobiles très variées. Certaines sur le playstore ont été téléchargées plus de 500 000 fois. Elles peuvent afficher des cartes, lire les capteurs du smartphone dont la géolocalisation, détecter vos mouvements, envoyer ou recevoir des SMS, partager des données en réseau, utiliser des services sur internet, etc. Vous pourrez utiliser des services web pour traduire ce qu'un étranger vous dit, gérer des livraisons avec une base de données, voir les ingrédients des produits que vous achetez, ...
Les principales limites celles de votre imagination.