Plan du cours

Le cours se déroule sur 40 sessions de 1h20 à 1h30 regroupées par deux, sur une demi jounrée et séparées par une pause.

Il est adossé à des quiz en auot-contrôle et à un portfolio numérique qui permet aux étudiants d'enregistrer leurs travaux, sous forme de site Web, pour les présenter aux enseignants, comme à leurs amis ou dans leur CV en direction d'employeurs qui pourront voir ce qu'ils ont fait.

1° séance:

1° partie

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 et du programme
  • projet de charte du cours
  • programmation avec Blockly
  • retour et analyse sur Blockly

2° partie

Objectifs :
  • découverte de Scratch,
  • introduction à la programation évènementielle
Déroulement :
  • qu’est-ce qu’un algorithme ?
    (définition et structures qui le constituent)
  • qu'est qu’un langage de programmation,
  • fiche de projet et de motivation personnelle (pour les animateurs uniquement)
  • Présentation de Scratch
  • Réalisation d’un programme
  • Synthèse/Bilan

2° séance:

1° partie

Objectifs :

  • Approfondir l’outil Scratch en réalisant un programme de niveau intermédiaire,
  • Maîtriser le concept d’algorithme,
Déroulement :
  • Accueil (revue de la charte)
  • présentation du jeu pong
  • Réalisation du jeu pong
  • Analyse en groupe de l’application réalisée
  • Présentation de la suite : les défis

2° partie

Objectifs :

  • Concevoir et réaliser en autonome une partie de programme,
  • Expliciter les concepts mis en oeuvre dans un programme,
  • Evaluer la maîtrise des concepts,
  • Synthétiser sous forme écrite les travaux effectués et les notions apprises,
Déroulement :
  • Défis Pong
  • Bilan,
  • quiz
  • synthèse des travaux dans le portfolio

3° séance:

1° partie

Objectifs :
  • Constitution des binomes
    (objectif 1 Smartphone par binome)
  • présenter App Inventor,
  • Configurer les portables et les ordis,
    vérifier le bon fonctionnement,
  • Prendre en main l'outil App Inventor
  • Evaluer la compréhension des points.
Déroulement :
  • Vérification du matériel
  • Présentation d'App Inventor
  • Configuration des comptes
  • Réalisation de l'application : "une petite idée"
  • Quiz personnel puis travail en groupe sur :
    • les composants, propriétés, blocs
    • évènements/scripts
    • les catégories de composants
    • types de blocs associés aux composants
  • Installation AIstarter pour les PC non équipés
  • Bilan / Portfolio,

2° partie

Objectifs :
  • Mise en pratique des connaissances acquises
  • Corrections, questions/réponses
  • Renforcer la prise en main d'App Inventor
  • Créer une seconde page au portfolio
  • présenter les objectifs du projet de fin de formation
Déroulement :
  • Réalisation de l'appli "Une petite idée V1"
  • Retour et analyse en classe entière sur la V1
  • réalisation de la V2 : Amélioration de l'application
  • Retour et analyse en classe entière sur la V2
  • synthèse dans le Portfolio
  • Bilan : présentation des projets intermédiaires et de fin de formation

4° séance:

1° partie

Objectifs :
  • Présentation du pseudo code et de son utilité
  • Pratiquer le pseudo code
  • Acquérir une vue d'ensemble du programme "Une Petite Idée"
Déroulement :
  • Accueil
  • Présentation du pseudo code et de son utilité
  • Extension Personnelle de l'application "Une Petite Idée"

2° partie

Objectifs :
  • Comprendre la notion de variable et utiliser des variables dans un programme
  • Consolider la pratique des notions de base en programmation
  • Vérifier les connaissances acquises
  • Créer une 3e page lexique dans le portfolio
  • Répondre aux questions des participants
Déroulement :
  • Qu'est-ce qu'une variable ?
  • Réaliser l'application "Paint"
  • Quiz
  • Portfolio
  • Bilan

5° séance:

1° partie

Objectifs :
  • réflxon sur le droit à l'image : définition, implications
  • dégager les implications sur les règles à suivre dans le choix des ressources pendant le cours"
  • Approfondir ses connaissances en programmation
Déroulement :
  • Accueil
  • Le droit à l'image
  • Amélioration et extension de Paint avec l'envoi de SMS (le choix de l'apapreil photo)

2° partie

Objectifs :
  • Corriger l'exercice
  • Présenter un nouvel outil d'initiation : les ateliers déconnectés.
  • Comprendre ce qu'est le langage binaire
  • Enrichir la page 3 sur portfolio : le lexique. Création page 4 sur l'application Paint.
  • Répondre aux questions des participants
Déroulement :
  • Retour sur l'amélioration Paint
  • Atelier déconnecté : le binaire
  • Portfolio
  • Bilan

6° séance:

1° partie

Objectifs :
  • comprendre la séparation entre matériel et logiciel, les architectures par couches et les différents niveaux d'abstraction
  • comprendre ce qu'est Internet et ce qu'est le Web
  • réaliser une application
Déroulement :
  • Présentation de la palette des composants matériels
  • présentation des architectures, (CPU, couches logicielles)
  • Quiz
  • Portfolio :travaux sur
    les ordinateurs spécialisés,
    la différence entre exécution locale ou dans le cloud,
    et exercices sur le volume des données.
  • Internet et le WWW : présentation
  • quiz sur Internet

2° partie

Objectifs :
  • conduire un travail en groupe sur Internet et son utilisation
  • Introduire les notions d'éthique informatique
Déroulement :
  • présentation des 10 commandements de l'éthique informatique
  • travail en groupe sur des cas comme Cambridge Analytica (portfolio)

7° séance:

1° partie

Objectifs :
  • Présenter la structure d'une URL,
  • puis la forme des requêtes et l'encodage
Déroulement :
  • Analyse de la structure d'une URL ou adresse Internet à partir d'un navigateur
  • exemples à partir de Google maps, mapquest ou open street maps,
  • exemples à partir de open food facts
  • portfolio : créer une URL qui affiche une carte avec un marker sur le CNAM, l'hotel de ville et la place de la Concorde

2° partie

Objectifs :
  • Comprendre et pratiquer les API
Déroulement :
  • Etudier l'API Google static maps et Créer une carte avec la localisation de l'utilisateur et celle d'une adresse dictée au téléphone
  • selon le temps disponible, ajouter des extensions : boutons zoom/dezoom et panoramique/glisser

8° séance:

1° partie

Objectifs :
  • présenter les listes et leur utilisation pour organiser/structurer les données
  • présenter la notion d'abstraction ste son utilisation dans l'abstcration de données et l'abstraction procédurale
  • effectuer un travail personnel d'analyse(portfolio)
Déroulement :
  • Les listes : introduction à la notion de liste comme moyen d'organisation des données
  • présentation générale de l'abstraction et de son utilisation en informatique (analyse, séparation des taches)
  • zoom sur l'abstraction de données et l'abstraction procédurale

2° partie

Objectifs :
  • Comprendre par la pratique les systèmes de numération (binaire, octal hexa, ...)
Déroulement :
  • Nombres binaires, bases de numération
  • Quiz et exercices
  • Portfolio : exercices individuels

9° séance:

1° partie

Objectifs :
  • réaliser un projet en groupe (2 ou élèves),
  • de l'analyse de besoin ou d'un objectif
  • jusqu'à la réalisation
Déroulement :
  • choix et définition se l'application à réaliser
  • documentation dans le portfolio de l'objectif visé
  • idenntificaition de sprincipaux composants qui seront utilisés
  • pseudo-code ou duagramme de flux
  • défintion d'un premier objectif et début de la réalisation

2° partie

Objectifs :
  • finaliser et tester une application
  • apprendre à gérer son temps et les priorités
Déroulement :
  • réalisation et tests en mode itératif
  • présentation de l'application à un autre groupe (Retex)
  • analyse et synthèse de l'expérience dans le portfolio

10° séance:

1° partie

Objectifs :
  • développper une application : molemash
Déroulement :
  • développement molemash

2° partie

Objectifs :
  • analyser et développer une application plus complexe : starwars
Déroulement :
  • analyse / diagramme des flux
  • version 1
  • version 2
  • version 3
  • version 4

11° séance:

1° partie

Objectifs :
  • 1. les listes - statiques - dans le design (pour list pickers, …) -avec appli traduction
  • 2. les listes dans le code : modification- avec appli traduction
  • 3. le découpage d’une chaine en liste : récupération du code d’une langue -appli trad.
  • 4. les listes de listes : liste de langues avec le code et le nom de la langue
Déroulement :
  • dans l’application “traduction” :
    • liste de codes de langue fr,en, it, es, … (list form elements) dans le design
    • liste de codes de langues dans le programme : make a list
    • manipuler une liste dans le code :
    • ajouter une langue + sauvegarder dans tinyDB
    • retirer une langue
    • extraire dans une chaîne
      fr français, irt italien, es espagnol, …
    • récupérer le code avec un split : liste fr, français
    • liste de listes : (fr,français), (it,italien), ...

2° partie

Objectifs :
  • à partir de “qui est la plus belle”
  • Séparation algo et données
Déroulement :
  • développement d’une application Qui est la plus belle ?
  • filtrage en fonction de mots clefs, par exemple dans un login
  • On envoie les utilisateurs dans le groupe qui correspond aux mots qu’ils utilisent
  • 1 : les données de filtrage sont dans l’algo
  • étape 2 : les données de filtrage sont dans des listes
    une liste de mots, une liste de personnes
  • étape 3 : les données de filtrage sont dans une liste de listes
  • étape 4 : les données de filtrage sont enregistrées et modifiables
  • (ajout et suppression)

12° séance:

1° partie

Objectifs :
  • la géolocalisation
Déroulement :
  • à compléter

2° partie

Objectifs :
  • partage de données sur le web (tinyWebDB, firebase)
Déroulement :
  • à compléter

13° séance:

1° partie

Objectifs :
  • partage de données sur le web (suite)
Déroulement :
  • à compléter

2° partie

Objectifs :
  • gestion de données structurées (JSON)
Déroulement :
  • à compléter

14° séance:

1° partie

Objectifs :
  • utilisation des données ouvertes
    (open food facts)
Déroulement :
    • à compléter

2° partie

Objectifs :
  • utilisation des données ouvertes
    (open food facts)
  • (Paris open database)
Déroulement :
  • à compléter

Séances 15 à 20:

Objectifs :
  • design thinking, conception, réalisation projet personnel
Déroulement :
  • à compléter