Quelques idées de projets

Les compétences acquises en Première, adjointes à celles acquises en Terminale, ouvrent le champ à un choix bien plus large de possibilités de projets. En voici quelques-unes :

Développement d'une application de saisie de notes

Ne pas faire trop compliqué : des élèves, des matières, et des notes. Stockage des informations dans une base de données. On peut complexifier un peu avec la notion d'épreuves et de coefficients. Sur le plan algorithmique, on a du calcul de moyenne éventuellement pondérée.

Sujets abordés :

  • bases de données
  • algorithmes sur les listes

Plusieurs variations possibles sur le thème:

  • Transformer cela en application web (côté serveur);
  • Transformer cela en application graphique.

Développement d'un programme Animals

Le but de ce programme est de deviner l'animal auquel pense son utilisateur en lui posant des questions. À chaque échec, on demande à l'utilisateur le nom de l'animal auquel il pensait et une question permettant de le différencier de celui proposé par le programme. Le programme apprend ainsi au fur et à mesure de son utilisation.

Sujets abordés :

  • arbres et algorithmes sur les arbres (voir bloc 5) ;
  • intelligence artificielle ;
  • fichiers et/ou bases de données pour la sauvegarde de l'apprentissage.

Programme permettant de joueur à Othello

En utilisant un algorithme type min-max, il est possible d'implanter des programmes permettant de jouer à la plupart des jeux dits "abstraits". Alors pourquoi Othello ? Pour 2 raisons essentiellement : les règles sont simples (plus simples que celle des échecs par exemple) et ça n'explose pas sur le plan de la combinatoire. Avec une heuristique simple, il est ainsi très facile d'écrire un programme qui bat plus de 90% des humains.

Sujets abordés :

  • récursivité ;
  • graphes pour la représentation du plateau de jeu (voir bloc 5) ;
  • intelligence artificielle

Variation possible sur le thème :

  • rajouter une interface graphique

Interpréteur d'un programme en pseudo-assembleur

Écrire un programme permettant d'interpréter les instructions d'un programme en pseudo-assembleur.

Sujets abordés :

  • traitement de chaîne ;
  • pile.

"Jeu de rôle"

Écrire un programme capable de faire jouer à des jeux de rôle sur ordinateur (du type de ce qui est proposé dans Château Aventure) avec un scénario simple (voir un exemple ici).

Sujets abordés :

  • graphes (représentation du monde);
  • traitement de chaîne (interprétation des ordres de l'utilisateur).

Simulateur de trafic automobile en ville

Écrire un programme simulant la circulation de véhicules dans une ville avec feux de circulation

Sujets abordés :

  • graphes (représentation de la ville);
  • files (files de voiture aux feux rouges).