Plan du cours

Le cours se déroule sur 34 sessions de 1h20 à 1h30 regroupées par deux, sur une demi journée.

Il est adossé à des quiz en auto-contrôle et à un portfolio numérique pour enregistrer vos travaux, sous forme de site Web, pour les présenter aux enseignants, à vos amis ou dans votre CV pour montrer ce que vous avez fait.

Plan résumé

  1. Algos et programmes : Blockly, qu'est-ce qu'un algorithme ?
  2. Premiers programmes avec Scratch, la programmation évènementielle, partage de projets
  3. Réalisation du jeu Pong version 1 en classe inversée
  4. Pong version 2, amélioration du jeu
  5. Défis Pong : création d'un extension personnelle, partage du résultat
  6. Mise en place d'un portfolio numérique (site Web).
  7. Projet (création d'appli sur Scratch), algorithmes, matériel et logiciel
  8. Projet (suite et fin, présentation dans portfolio), bases de numération,Internet
  9. (visio) Revue des algorithmes, notions de matériel/logiciel et d'architecture
  10. (visio) Le binaire, Internet, présentation du projet
    2020
  11. Revue des notions déjà abordées (révisions) et des procédures
  12. fin du projet, fiche de présentation ou page Web, algorithmes avancés

  13. Démarrage App Inventor : installation AI companion, applications "SMS game" et "traduction"
  14. Revue des composants, version 2 de "traduction V2" avec accéléro ou enchaînement
  15. Réalisation de l'appli "une petite idée V1" et quiz
  16. "une petite idée V2", introduction aux listes (par l'exemple)

  17. Open food facts et Internet (protocoles, URL, services Web, API)
  18. Listes et données permanentes locales ou dans le Cloud,
  19. Présentation du projet Scratch dans le portfolio,
  20. Les listes : présentation et exercices

  21. retour sur les listes, modification de l'application open food
  22. données permanentes avec tinyDB, présentation projets

  23. Application paint,design, versions 1 et 2
  24. finalisation des groupes projets et des sujets, versions 3 et 4 de paint (photos)

  25. Paint, création
  26. Monsters shop V1 : listes de données, index et navigation
  27. Monsters shop V2 : lire et organiser les données sur Internet, le format JSON
  28. Open data : accéder aux données publiques vélib,UNESCO. Vérifier les données (JSON editor online)
  29. Monsters shop V3 : synchroniser et géolocaliser
    Space invaders
    Space invaders
    Space invaders
    Space invaders
  30. réalisation du Projet
  31. réalisation du Projet
  32. réalisation du Projet
  33. réalisation du Projet
  34. réalisation du Projet
  35. réalisation du Projet
  36. réalisation du Projet
  37. Présentation des projets

1
voir cours : 3-algosProgrammes

Objectifs :
  • découverte de la logique algorithmique: séquences, conditions, itérations
  • découverte des langages de programmation graphique par blocs,
Déroulement :
  • présentation des intervenants, des stagiaires et de leurs attentes
  • présentation du programme, et de la charte du cours
  • programmation avec Blockly, retour et analyse sur Blockly
  • Qu-est ce qu'un algorithme ?
  • Quiz (questions sur les algos)

2
voir cours : 4-ScratchIntro

Objectifs :
  • découverte de Scratch,
  • introduction à la programmation
  • notions nouvelles : programmation évènementielle, variables, capteurs
Déroulement :
  • Quiz sur les algorithmes (si pas fait avant)
  • présentation de Scratch : coding live (Ghostbuster)
  • réalisation de quelques niveaux du "circuit voiture"
  • démarrage éventuel du jeu Pong
  • synthèse/Bilan

3 et 4
voir cours : 5-pong

Objectifs :

  • Approfondir en réalisant un programme de niveau intermédiaire,
  • Maîtrise des notions d’algorithme, de programmation évènementielle, de variable et de capteurs.
Déroulement :
  • Accueil (revue de la charte)
  • Debriefing sur la réalisation de Ghostbuster.
  • Quiz : travail en individuel puis par groupe et revue classe entière
  • Présentation du principe BCCC (Build, Conceptualize, Customize, Create) avec les étapes de développement guidé, d'analyse, de modification autonome puis de création d'extension personnelle.
  • Réalisation du jeu pong (en classe inversée avec la vidéo)
  • Analyse en groupe de l’application réalisée

5
voir cours : 6-PongDefis

Objectifs :

  • Concevoir et réaliser en autonome une partie de programme,
  • Expliciter les concepts mis en oeuvre,
  • Evaluer la maîtrise des concepts,
  • Synthétiser sous forme écrite les travaux effectués et les notions apprises,
Déroulement :
  • Retour sur Pong V1 et les types de dessin (vecteur/bitmap)
  • Création des groupes projets / propositions
  • Présentation des défis proposés
  • Réalisation autonome du ou des défis choisis
  • Les fonctions (à faire éventuellement en début de séance)
  • bilan,
  • quiz
  • synthèse dans le portfolio (reporté cours suivant)

6
voir cours : 2-ComptePortFolio

Objectifs :
  • Comprendre les notions de données locales et dans le Cloud
  • Maitriser l'utilisation de services associés (Drive, Dropbox ou onedrive)
  • créer un compte Google et un drive associé,
  • créer un site Web / portfolio (Google site),
  • personnaliser le site/portfolio pour le cours,
  • renseigner/répondre aux questions d'une première page,
Déroulement :
  • Utiliser le compte créé dans le domaine "onvaessayer.org" (ou créer un compte Gmail)
  • enregistrer des donnnées sur un drive
  • partager des données, gérer les droits d'accès,
  • éditer un document à plusieurs,
  • notion d'URL (modif des paramètres pour visualiser ou télécharger)
  • création d'un site Web (ou accès au site Web sur site partagé)
  • configuration du partage et des droits d'accès
    • personnalisation de la page de présentation (ajout photo et texte)
    • ajout d'un lien vers un projet SCratch etinsertion directe du jeu,
    • réponse dans le portfolio aux questions posées sur une page.

7 et 8 (5/12/2019)
voir cours : 7-CreationScratch

En raison des mouvements sociaux, le CNAM est fermé. Ces cours sont réalisés à distance en mode visio-conférence avec Hangout.

Objectifs :
  • Création d'un projet sur Scratch
Déroulement effectué : Déroulement prévu initialement :
  • définition du projet (30 mn) : un dessin avec quelques lignes qui décrivent les personnages, les évènements et interactions, les règles pour dire quand on gagne et quand on perd,
  • Validation de cette première étape avec un animateur.(Pour les suivantes, prévenez et continuez.)
  • 1° version (1h) : avec le fond d'écran, le déplacement du personnage (sprite) principal, la liste des variables (ex : score, nombre de vies, durée d'une partie, ...) et la description de l'application dans le portfolio,
  • 2° version (1h20) : avec l'interaction principale du jeu (ex : sortie de route, collision, ...) et l'ajout dans le portfolio du lien vers cette version de l'application,
  • Pause 15 mn (1h35)
  • 3° version (1h55-2h00) : on peut commencer à jouer, les interactions du jeu sont en place. Le portfolio est mis à jour : la documentation et le lien vers cette version d e l'application
  • 4° version (2h15-2h20) : avec le score, le nombre de vies, un message quand on a gagné ou perdu, ... Toutes les fonctions sont présentes, même si elles ne marchent pas très bien. Le portfolio est mis à jour avec cette version.
    Après cette étape, on passe à la mise au point finale, on ne développe plus de fonctions nouvelles.
  • version finale (2h40) : présentation à vos collègues et à un animateur

9 et 10 (6/12/2019)
Cours assurés en vision-conférence en raison des mouvements sociaux et de la fermeture du CNAM voir cours : matériel et logiciel (2_05.php)

Objectifs : Déroulement : Le travail a été alterné sur les séances 7 à 10 avec 1 video et 1 quiz par séance, et du temps réservé au travail personnel sur le projet Scratch.

11 (10/1/2020)
revue des notions précédentes (révisions)

Objectifs :
  • révisions : algorithmes, variables, porgrammation évènementielle
  • Procédures/création de blocs : réorganisation du code de Pong
Déroulement :
  • Revue des algorithmes : 15 mn+ planches
  • Revue
    • des 3 structures de contrôle : Séquences, Boucles et itérations 10 mn
    des évènements (programmation évènementielle)
  • Revue des variables
  • création de blocs ou procédures 15 mn
    live coding(Pong) (pong V1)ou de test (pong V2)
  • Quiz 20 mn+ : à faire avec chaque sujet ou à la fin

12 (10/1/2020)
finalisation du projet et présentation

Objectifs :
Compte tenu des différences d'avancement, séparation en deux groupes :
  1. Groupe 1 : finalisation du projet Pong et de sa présentation (fiche ou page web)
  2. Groupe 2 :
    • finaliser la présentation du projet (fiche oupage web)
    • extension projet ou algorithmique avancé (suivi de terrain)

13 (15/1/2020)
voir cours : 1-PresAppInventor

Objectifs :
  • Point sur la rédaction des fiches de présentation projet
  • App Inventor : introduction avec SmsGame
  • Configurations : AI2 companion
  • Prendre en main l'outil App Inventor
  • Développer une première application
Points annexes :
vérifier les configurations (AIstarter principalement, émulateur, ...)
Déroulement :

14 (15/01/2020)
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

15 (16/01/2020)
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

16 (16/01/2020)
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

17-18 (21/01/2020)
open food facts et internet

Objectifs :
  • retour sur l'appli "une petite idée", listes et extensions possibles
  • Point sur la remise des fiches projet Scratch
  • 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.

19-20 (21/01/2020)
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,
  • Portfolio : présenter un projet Scratch.
Déroulement :
  • Quiz sur Internet (si on ne l'a pas fait dans la sessio 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).

21-22 (29/01/2020)
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 : http://onvaessayer.org/vaucanson/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

23-24 (29/01/2020)
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)