Plan détailllé (avec les liens)

cours 1 : algos et Programmes

Objectifs :
  • découverte de la notion d'algorithme: séquences, conditions, itérations,
  • découverte des langages de programmation graphique par blocs.
Déroulement : A remettre :

cours 2: Scratch Introduction

Objectifs :
  • retour sur la notion d'algorithme (quiz),
  • découverte de Scratch,
  • introduction à la programmation
  • notions nouvelles : "programmation évènementielle", "variables", "capteurs"
Déroulement : A remettre :

cours 3: variables

Objectifs :
  • modifier le code pour avancer sans la barre d'espace,
  • quiz de revue,
  • utiliser une variable pour modifier la vitesse,
  • partager un projet Scratch,
  • analyser un problème (bug) et le corriger (debug)
  • quiz sur les variables (début de séance suivante)
Déroulement : A remettre :
  • quiz sur le code de la voiture,
  • lien vers projet Scratch partagé,

cours 4:
Debug, puis gestion du nombre de vies

Objectifs :
  • quiz sur les variables, revue des réponses
  • voir comment analyser un problème (bug) et le corriger (debug),
  • conception et ajout (en autonome) d'une extension (nombre de vies),
  • utilisation d'un capteur (distance) pour contrôler la vitesse,
  • notion de matériel et de logiciel : qu'est-ce qu'un ordinateur ?
Déroulement :
  • quiz sur les variables, puis revue des réponses en classe entière
  • corriger 2 bugs de la version précédente
  • en option pour ceux qui ont terminé avant la correction :

  • notions de matériel et logiciel
  • Quiz sur le matériel et logiciel matériel et le logiciel

  • présentation du niveau 3 réalisé en mode "défi" :
    compter les vies en partant de 3, retirer une vie à chaque sortie de route.
  • réalisation en autonome de cette extension (en coaching par groupe)
  • présentation d'une solution
A remettre :

cours 5:
Ergonomie, capteurs: contrôle de la vitesse avec la souris
Procédures et abstraction

Objectifs :
  • notions de matériel et de logiciel : qu'est-ce qu'un ordinateur ?
  • utilisation d'un capteur (distance) pour contrôler la vitesse,
  • restructurer et simplifier le code avec les procédures
  • comprendre l'importance de l'abstraction procédurale dans les architectures logicielles (couches ou abstraction layers)
Déroulement :
  • Donnez nous votre avis (anonyme) sur le début du cours

  • Notions de matériel et logiciel (video)
  • Quiz sur le matériel et logiciel matériel et le logiciel
  • Retour oral sur les notions clefs à partir des planches : Von Neumann (planche 9), IOT (17), architectures (27), langages de haut et bas niveaux (31), un langage est une couche d'abstraction (35)

  • Présentation du défi à réaliser en sous groupes :
    utilisation d'un capteur (distance) pour contrôler la vitesse.

  • Introduction video à la notion de procédure
  • réorganiser et simplifier le code avec les procédures (mode coaching)

  • qu'est-ce que l'abstraction de données et procédurale. (classe entière)
  • quiz sur l'abstraction (au début de la séance suivante)
A remettre :
  • réponse au Quiz sur le matériel et le logiciel
  • lien vers le projet Scratch avec contrôle de la vitesse par la distance au pointeur

cours 6 : le jeu Pong

Objectifs :

  • Revoir les variables et le traçage de code avec un quiz,
  • Réaliser une application de niveau intermédiaire (Pong) en commençant par son analyse :
    • sprites variabes, évènements et actions,
  • Approfondir les notions d’algorithme, de programmation évènementielle, de variable et de capteurs.
Déroulement :

cours 7:
Finalisation de Pong et abstraction procédurale
et le binaire et les bases de numération.

Objectifs :

  • Revue de la notion de procédure (quiz),
  • Le binaire et les bases de numération,
  • (Présentation des canevas de projets à réaliser dans les deux dernières séances),
  • (Les messages comme moyen de synchronisation entre objets ou sprites,)
  • Finaliser le développement, mettre au point l'application,
Déroulement :
  • Quiz : sur les procédures (et traçage)
  • Le binaire et les bases de numération
    • vidéo de présentation
    • exercices de conversion, addition en binaire
  • Proposition de canevas pour les projets intermédiaires ou défis,
  • Finaliser Pong et restructurer le code avec les procédures,
  • (présentation des messages comme moyen de synchronisation)

révisions et finalisation des projets 10
(session de reprise après la pause des vacances de Noël)

Objectifs :
  • Revoir des notions abordées dans la 1°partie du cours,
  • Voir les messages comme méthode de synchronisation (évènements internes),
  • Finaliser les projets et la fiche de présentation.
Déroulement :
  • Quiz de revue des notions abordées dans la 1° partie,
  • Point sur les messages comme évènements internes et méthodes de synchronisation,
    différences et avantages par rapport aux procédures,
  • finalisation des projets et rédaction de la fiche de présentation.

11: ouverture vers la suite et finalisation des projets

Objectifs :
  • Présenter la suite du programme,
  • Introduction à Internet
  • présentation d'App Inventor
  • présentation de l'application fooding
  • réalisation de l'appplication sms game
  • Présentation de la suite du programme Scratch
Déroulement :
  • Introduction à Internet et au Web
  • Quiz, discussion
  • Présentation App Inventor : affichage de données Web
  • Présentation du programme de la 2° partie du cours exemples
  • Envoi du questionnaire sur les préférences
  • Réalisation SMS game (ou talk to me)

cours 12: Intégration du projet dans une page Web
(session par demi groupe avec JC Edel)

Objectifs :
  • Intégrer le projet réalisé dans un site Web (Wordpress),
  • Apprendre à valoriser un travail auprès de lecteurs externes,
Déroulement :

cours 13: Introduction à App Inventor
(session par demi groupe)

Objectifs :
  • Présenter App Inventor avec SmsGame
  • vérifier le bon fonctionnement (avec une application de la galerie)
  • réaliser en ligne une 1° application et (open food facts)
  • Prendre en main l'outil App Inventor
  • Développer une première application (reconnaissance vocale et traduction)

Déroulement :
  • Présentation d'App Inventor avec SMSGame (live coding)
  • Chargement et lancement d'une application (tutoriel de la galerie App Inventor)
    (AI companion déjà installé sur les smartphones mis à disposition. Action à prévoir pour les autres),
  • Réaliser en ligne une 1° application (open food facts),
  • Prendre en main l'outil App Inventor, revue des composants,
  • Développer de l'application de reconnaissance vocale et traduction.

cours 14:

Objectifs :
  • Revue du fonctionnement d'App Inventor (Quiz)
Déroulement :
  • Quiz sur App Invenntor
  • Présentation des deux modes de lancement des applications (mode debug et permanent)

cours 15:
voir cours : 1° application : traduction automatique

Objectifs :
  • développer la 1° application,
  • découvrir des composants
  • faire un debrief du projet Scratch et de ce qui a été fait .
Déroulement :
  • Revue des composants
  • appli traduction : ajout du choix de la langue
  • enchainement des actions (à aprtir du prmeier booton)
  • Quiz sur app Invenntor

cours 16:
voir cours : une petite idée V1

Objectifs :
  • réalisation de l'application "une petite idée" V1 puis V2,
  • finalisation des fiches projets
Déroulement :
  • Réalisation appli "Une petite idée V1"
  • Retour/Quiz (sur les composants)
  • (Réalisation V2 : Améliorations)
  • (Retour/quiz sur V2)
  • Portfolio

cours 17:
voir cours : une petite idée V1

Objectifs :
  • réalisation de l'application "une petite idée" V1 puis V2,
  • 1° introduction aux variables de type liste (liste de titres d'images et de musiques),
Déroulement :
  • Réalisation appli "Une petite idée V2"
  • Correction en classe entière
  • Présentation de l'utilisation de listes et d'un spinner
  • Finalisation des fiches projets

cours 18 :
open food facts et internet

Objectifs :
  • retour sur l'appli "une petite idée", listes et extensions possibles
  • introduction à Internet, services, URLs, API, exemples (dont open food facts)
  • exercices sur les URL dans un navigateur (dont open food facts) : dictinction entre pages web et données (JSON,...)
  • réalisation semi-autonome de l'application open food facts à partir de spécifications, d'une analyse (flowchart/diagramme de flux) et d'une revue des points clefs (composants et blocs nouveaux à utiliser),
Déroulement :
  • retour sur "une petite idée V2", revue des composants utilisés, pseudo-code ou diagramme de flux, variables de type liste,
  • Internet : Vidéo, Quiz et échange classe entière
  • Exercices sur les URL ( open food facts Web et JSON, Google maps, Open data)
  • Lecture des spécifications de l'application (open food facts) à réaliser
    analyse (flowchart/diagramme de flux) et pseudo-code
    revue des composants et blocs nécessaires à sa réalisation,
  • réalisation en autonome à partir d'un canevas initial,
  • correction en classe entière.

cours 19:
Open food facts, listes

Objectifs :
  • Les listes : composants (spinner, list picker, ...) et manipulation avec des blocs dédiés,
  • quiz et/ou exercices pratiques
  • exercices sur les URL et API,
Déroulement :
  • Quiz sur Internet (si on ne l'a pas fait dans la session précédente)
  • Point sur l'envoi des fiches projet Scratch
  • open food facts V2 : spécifications
    • gérer des listes de produits : sélectionner/ajouter/supprimer
    • enregistrer ces listes et les récupérer au démarrage de l'appli
  • présentation des variables de type liste
  • Coding live de la V2.1 d'open food facts avec une liste de produits
  • présentation de la notion de données permanentes, locales ou en réseau et des composants associés (tinyDB)
  • Coding live de la V2.2 d'open food facts avec lecture et enregistrement de la liste des produits scannés
  • Selon temps disponible: documentation projet SCratch dans portfolio
  • présentation du projet
actions connexes :
  • Installer AI starter sur tous les postes personnels à aprtir dune clef USB (et vérifier le fonctionnement sur les autres).

cours 20:
listes de produits, données permanentes (tinyDB)

Objectifs :
  • revue de la notion de liste,
  • utilisation des listes dans open food facts
  • présentation des projets
  • présentation des données permanentes et de tinyDB
  • modification d'une application pour enregistrer et relire des données
  • Portfolio : présenter un projet Scratch.
Déroulement :
  • Retour sur la notion de liste avec Quiz/exercices
  • Modification en classe entière de l'application open food facts pour gérer des listes de produits
    • création d'une liste, ajout des codes barre à cette liste,
    • ajout d'un sélectionneur de liste pour choisir le produit affiché
    • ajout d'un sélectionneur de liste pour supprimer un des produits de la liste
  • Présentation des projets finaux
  • données permanentes : vidéo sur tinyDB
  • quiz : ./unit3/3_09.php
  • modification de l'application open food facts pour
    • enregistrer la liste des codes barre après chaque changement
    • lire la liste des codes abarre au démarrage de l'application

cours 23:
Application de dessin et photo avec Paint

Objectifs :
  • design et conception de l'application, réalisation par étapes
    (points, lignes, couleurs, boutons, photos)
  • finalisation des groupes et choix des sujets
  • mini quiz et quizly (§3.4)
Déroulement :
  • Voir vidéos dans : playlist Paint et reportage
  • design et conception de l'application,
  • V1 : dessin des points
  • V2 : lignes et couleurs
  • constitution des groupes projest et choix des sujets
  • mini quiz
  • intégration des photos
  • quizly (§3.4)