L'enseignement de la spécialité ISN est centré sur les projets. Voir CETTE PAGE pour les documents officiels .
MINI PROJET
Mini projet |
Créer des programmes pour représenter: un entier naturel avec n bits. un décimal avec n bits pour la partie entière et m bits pour la partie décimale. un entier signé sur n bits (plus difficile) . (Voir un exemple d'implémentation pour chaque dans la partie "approfondissements" de cette page ) La récurivité (fractale, tri-fusion, recherche d'élément dans un tableau trié etc...) pourra être un thème de mini-projet. |
---|
PROJETS (liste pas encore définitive)
1) Plus court chemin dans un graphe : algorithme de Dijkstra(*) | Rappeler la problématique du routage dynamique et en donner quelques exemples. Dans quel protocole(s) intervient l'algorithme de Dijkstra. Proposer une implémentation de cet algorithme. |
---|---|
2) Les grands entiers(*) | Rappeler quelle est la taille des entiers permise par java et donner des exemples en informatique de l'utilisation de grands entiers. Créer une bibliothèque de fonctions pour effectuer des calculs(addition , multiplication , soustraction , division euclidienne). Applications: Calcul de puissances comme 2100, de factorielles comme 100! , de PGCD de 2 grands entiers. |
3) Jeu de la vie (automate cellulaire)(*) | Trouver en ligne en quoi consiste ce jeu , rappeler l'historique et donner quelques applications en biologie et en physique. Implémenter une solution . Essayer diverses situations initiales de l'automate, varier légèrement les règles de transition. Trouver des états stables. |
4) Problème des n reines (*) | Trouver en ligne en quoi consiste ce problème et rappeler l'historique. Implémenter le cas n=8 et déterminer toutes les solutions.(problème des 8 dames) Dans le cas n>8 , en quoi consisterait une méthode exhaustive et quel en serait l'inconvénient? Proposer une méthode qui donne au moins une solution pour n>8 et l'implémenter. |
5) Algorithme de Huffman (*) | Rappeler l'intérêt de la compression avec ou sans perte et en donner quelques exemples. Donner le lien entre codage préfixe et arbre binaire de codage. Cas particulier de l'algorithme de Huffman: dans quels cas intervient-il? quel est son principe? Vous aurez le choix entre 2 possibilités d'implémentation: 1)Un texte est saisi et on doit obtenir le codage des caractères qui interviennent dans le texte. 2)On réalise 2 programmes , l'un qui donne la fréquence des caractères se trouvant dans un fichier texte , l'autre , à partir d'un codage des caractères donné , qui compresse et décompresse le fichier texte ( plus exactement qui donne la suite de bits qui correspond à un texte et qui reconstitue le texte à partir d'une suite de bits). |
6) Jeu entre 2 postes distants | Deux personnes , chacun sur un poste d'un même réseau local , jouent au jeu de la bataille navale. L'objectif est de créer un programme qui permet de jouer. Le jeu doit être initialisé et ensuite les personnes jouent l'une après l'autre. |
7) Les fractions (*) | Il s'agit de créer une bibliothèque de fonctions (simplification , addition , soustraction , etc..) sur les fractions qui permettent de faire des calculs exacts sur les fractions et d'en afficher le résultat sous forme de fraction simplifiée. Proposer un programme qui propose de façon aléatoire des calculs sur les fractions pour des élèves de collège. |
8) Robotique avec mindstorms NXT(*) | Constuire une voiture capable de trouver sa route en respectant le sens des voies (différenciées par des couleurs) et qui est capable de se garer si la place est suffisante(entre 2 blocs) ou autre chose de ce genre. voilà QUELQUES CONSEILS |
9) Dictionnaire(*) | Créer un dictionnaire des abrévations en informatique (elles sont nombreuses). Il faut pouvoir donner une nouvelle entrée et la classer , chercher une abrévation etc.. A chaque abrévation doit correspondre une définition. Des fichiers textes doivent être générés( Il y a une proglet spéciale proposée par java's cool) . |
10) Capture de trames avec le logiciel Wireshark | Quelles sont les trames générées par une requête sur un site quelconque (par exemple google). Rappeler l'architecture en couches du modèle TCP-IP et le principe d'encapsulation. Détailler plus particulièrement certains protocoles : ARP IP ICMP DNS TCP HTTP. Expliquer quelques en-têtes. Détailler quelques algorithmes mis en oeuvre par exemple dans les couches liaison et transport. (Il n'y a pas de programmation dans ce projet) |
11) Les expressions avec des radicaux(*) | Il s'agit de créer un programme générant des exercices sur les radicaux: Simplification , multiplication , puissance , division . Les expressions seront de la forme a , a + b√c ou a√b + c√d où a , b , c , d sont des entiers. |
12) Jeu entre 2 postes distants | Deux personnes , chacun sur un poste d'un même réseau local , jouent au jeu des allumettes . L'objectif est de créer un programme qui permet de jouer. Le jeu doit être initialisé et ensuite les personnes jouent l'une après l'autre. |
13) Calcul formel | Quelles sont les structures de données qui peuvent être utilisées ? Dans un premier temps , étudier le cas de calcul de dérivées à partir d'exemples (pas de programme à réaliser). Dans un second temps , implémenter une solution pour les polynômes : dérivée , valeur en un point , développement et factorisation dans le cas de racines évidentes. L'implémentation pourra se faire sous forme d'un générateur d'exercices sur les polynômes. |
14) Traitement d'images | En utilisant une proglet de java's cool , créer un programme qui retouche des photos. La palette des retouches pourra comporter : noir et blanc , recadrement , luminosité , accentuation des noirs , tracé de contour etc.. Une nouvelle image devra être créée. |
15) Site web(*) | Créer un site web des projets qui seront réalisés au lycée. Ce sera l'occasion pour expliquer le principe d'échange des données entre serveur et client web (http). Dans le site , un programme en javascript sera proposé. |
16) Tables de vérité(*) | Créer un programme qui donne le résultat de fonctions logiques. Il faudra considérer plusieurs entrées et opérateurs possibles Projet qui fait appel à l'algorithmique , la programmation et l'architecture matérielle. |