Le rapport

Date limite d’envoi du rapport : mardi 21 mai 2019.

Envoi

Envoyer par mail ou Ecole Directe :

  • le code source complet du projet en ZIP (un fichier compressé du dossier contenant le code et les images) afin que je puisse tester votre programme.
  • le ‘rapport individuel’  (en  fichier .doc  et/ou  .pdf   – ou – sur dossier papier dans mon casier).

Un conseil : Relire votre code et les commentaires, soigner les indentations, choisir des noms de variables explicites (généralement l’éditeur permet de remplacer un nom par un autre avec CTRL+F ) .

Contenu du rapport

Le dossier est individuel : 5 à 10 pages  (hors annexe, hors source) comprenant :

  • Le cahier des charges : but du projet (à quels besoins répond-t-il) et avec quels moyens ?
  • La répartition des tâches dans le groupe (sous forme de tableau en coloriant votre colonne).
  • La démarche mise en œuvre : choix du langage, les problèmes rencontrés, les solutions choisies (quite à modifier le projet initial), quelques screenshots.
  • fonctionnement du code : expliquer le rôle des différentes parties et détailler un ou plusieurs algorithmes intéressants. Inclure des images pour illustrer.

+ En annexe : mettre le code complet et colorier votre contribution : une couleur pour votre partie personnelle … et une autre couleur pour les parties faites en commun.

+ ajouter quelques sources éventuelles (site web)

L’oral

Modalités

date : 28 – 31 mai.

Jury : 2 professeurs  (dont moi-même).

Il n’y a pas de temps de préparation, juste quelques minutes pour installer le matériel.

Contenu de l’oral

L’oral est individuel : 20 min :

  • 8 min : l’élève expose son projet en s’appuyant éventuellement sur un diaporama : sa contribution, les difficultés surmontées, un algorithme intéressant. Prévoir une démonstration du projet (au moment de votre choix).
    En principe, le jury ne vous interrompt pas pendant ces 8 min.
  • 12 min : le jury pose des questions dans le but de voir à quel point le code est maîtrisé.
    Cependant, quelques questions peuvent aussi porter sur des notions quelconques vues dans l’année.

Il est évident que l’exposé oral (8 min) réutilise des notions du rapport individuel, ce n’est pas gênant.

Quelques Conseils

* un cahier de suivi / un pad :  Garder des traces de vos échecs / problèmes pour les raconter dans votre compte-rendu écrit.

* Archiver systématiquement : Une erreur de manipulation est très vite arrivée (ou clé usb effacée). Donc, après avoir avancé sur le projet, penser à créer un répertoire de sauvegarde portant la date du jour (et vos initiales) pour y placer une copie de votre projet.

* Un éventuel « cloud » commun : sur Google Drive, Dropbox, OneDrive … mais attention : supprimer un fichier risque de le supprimer chez tout le monde ! … Donc ne rien supprimer mais déplacer vers des répertoires de sauvegarde (portant la date du jour).

 

Idées de projets

Arduino :

  • une carte Arduino utilisant divers capteurs.
  • un robot autonome ou télécommandé.

Image :

  • image en mosaïque avec des imagettes : Vespa  (penser à getClipBounds ..)
  • créer un avatar cartoon (avec une photo et choix de couleur de cheveux..)
  • appliquer un filtre à une image (ex : floutage, daltonisme, mise en 3D)
  • Miroir déformant : capter une image (ou image WebCam avec OperCV) puis la déformer avec Open GL
  • programme de cryptage/décryptage d’un message (pixélisé dans une image avec la clé de cryptage intégrée).
  • Code-barre || QR code (flashcode ou plutôt 2D code) sur fond colorée

Son :

  • identifier une note et la rejouer (avec Processing) ( => une mélodie chantée ? => accordeur de guitare  http://jaiunblog.com/3760/accordeur-avec-processing/  )
  • PIANO sur Processing : jouer des sons au clavier/souris ( => le jeu « SIMON » : reproduire une mélodie de 4 notes …) [sur Processing avec la librairie SoundCipher + codage MIDI avec playNote( , , )].

Animation :

  • illustrant une loi physique : un mouvement, une réaction en chaîne, … simulateur de carrefours.
  • le tas de sable sur Processing (avec un tableau en 3 dimensions)

Géolocalisation   (GoogleMaps  ou  OpenStreetMap) :

Application  :

  • BUS trouver l’horaire avec les données « en-ligne »: affichant dans combien de temps passera le prochain bus devant le lycée (grâce aux open source data dynamique de Keolis API 2.1). http://www.lesitedalexis.webou.net/blog/121020-tutorial-http-requests-fr.php   +   parsing avec DOM (à la fin de mon cours de java)
  • BUS trouver l’horaire avec dans un fichier de données: les données statiques (sans internet).
  • SMS: application avec cryptage/décryptage (prévoir un début de pgm d’appli android).
  • A partir d’une webcam installée devant un lieu (cafétéria), visualiser la longueur de file d’attente puis afficher le temps d’attente estimé.
  • cryptologie (César, stéganographie = cacher un message ou une image dans une image)
  • cryptanalyse : analyser les fréquences des caractères.
  • Reconnaissance de gestes : pour diriger un diaporama/powerpoint
  • Reconnaissance vocale ( ? probablmt très délicat ? ) http://encausse.wordpress.com/s-a-r-a-h/

Plateau  de  jeu : jouer contre l’ordinateur, jouer à deux en réseau, conserver les scores (dans un fichier html)

  • générateur de QCM pour le CE1 / calcul / opérateur vide/ le jeu « le compte est bon »
  • le jeu des allumettes.
  • Les 100 nombres : Sur une grille contenant les entiers 1 … 100 , l’ordi choisit un nombre pair. Puis chaque joueur coche un multiple ou diviseur du nombre etc… Celui qui coche le dernier nombre a perdu.
  • Othello (dessin du plateau, décompte des pts, indications des coups autorisés, …)
  • Démineur multi-grille / multi-niveau
  • Labyrinthe
  • Monopoly
  • Puissance 4
  • Puzzle (en glissant les pièces .. en javascript)
  • black jack / le  4 – 2 – 1 (avec 3 dés : obtenir 4-2-1 en un minimum de coups)
  • Echiquier
  • Bataille (32 cartes)
  • Memory
  • Jeu de la vie

Création d’un jeu video :