Projets

Echéancier à respecter:

  • Point d’étape 1 : Présentation d’une première version du code avec des tests.
  • Point d’étape 2 : Correction des bugs, finalisation du code et des tests.
  • Point d’étape 3 : Rédaction de la documentation. Exemples d’utilisation.

« Toujours codez comme si le gars qui finit par maintenir votre code sera un psychopathe violent qui
sait où vous vivez. » – John Woods

Bureau MATE
Le projet *Fractales*

Projets et mini-projets de programmation:

  • Chat & Souris: Chat_Souris
  • Fractales: Ensembles de MandelBrot et de Julia-avec Tkinter.
  • Tracé OEDR:OEDR. Méthode de tracé Odd Even Draw Rules et mots de Fibonacci. Utilisation du code ASCII. Avec Turtle.
  • Systèmes de Lindenmayer:L-système
  • Pavage du plan et diagramme de Voronoi: Diagramme de Voronoi -avec Tkinter.
  • Initiation à Tkinter:Tkinter
  • Automate de Conway: une version du jeu de la vie -avec Tkinter.
  • WATOR -avec Tkinter.

« N’importe quel idiot peut écrire du code qu’un ordinateur peut comprendre. Les bons
programmeurs écrivent du code que les humains peuvent comprendre. » – Martin Fowler

Projets et mini-projets matériel:

  • Installation d’un OS libre et d’un serveur LAMP sur Raspberry Pi 4.
  • Pêche aux oeufs: SenseHat et Raspberry
  • NodeRed: création d’une page web associée à une station météo.

« Je ne suis pas un excellent programmeur. Je suis juste un bon programmeur avec d’excellentes habitudes. » – Kent Beck

Deux exemples de projets pour l’année de première ou de terminale:
La vidéo ci-dessous présente deux réalisations: un système proie-prédateur et le célèbre jeu de la vie, programmés en Python, avec une interface graphique Tkinter.

Note:

Ces scripts sont lancés sur un système d’exploitation GNU/Linux, le bureau est baptisé MATE. Compiz gère les bureaux 3D.
L’interpréteur Python Spyder est lancé en ligne de commande, ou terminal que nous étudierons en classe. On peut voir les processus au cours de la video lancés avec la commande top.
Les musiques sont jouées dans le script à l’aide du module Pygame.


Jeu de la vie et système proie/prédateur

Projets présentés

Dans l’ordre d’apparition:

Wator

Dans une mer torique, c’est à dire où les extrémités se rejoignent, vivent des thons et des requins, chaque espèces suivant ses propres règles de vie et de reproduction. A chaque vague un poisson se déplace, évidemment si un requin rencontre un thon, il le dévore.

Jeu de la vie

Ce n’est un jeu que sur le choix de la configuration de départ, par exemple trouver une configuration stable, avec cycle, etc. Il admet les règles de vie suivantes pour chaque cellule:

Cellule morte

– Si, à l’instant t, il est dans l’état mort (représenté par la couleur blanche), alors le microcalculateur examine ses 8 voisins ; si 3 exactement sont vivants, il passe dans l’état vivant à l’instant t +1 ; sinon, il reste dans l’état mort.

Cellule vivante

– Si, à l’instant t, il est dans l’état vivant (représenté par la couleur noire), alors le microcalculateur examine ses 8 voisins ; si 2 ou 3 sont dans l’état vivant, le calculateur reste dans l’état vivant à l’instant t+1 ; sinon, il meurt. En résumé : « Naissance si 3 voisins vivants, survie si 2 ou 3 ».

Toutes les naissances et toutes les morts ont lieu en même temps au cours d’une génération.

John von neumann posa les bases des automates cellulaires, et John Conway imagina ce "jeu" vers 1970.

Projets finalisés: