Introduction à Java et à l'algorithmique
L1 MASS - 2008/2009
Projet
Trouver le rapport sur le projet ici
Questions ?
Contacter l'équipe enseignante
Chez moi ?
L'installation de Processing chez vous
Soutien
Une séance de soutien est organisée le jeudi 4 juin de 14h à 16h salle M.0.3, M.3.6 ou M.3.4.
hautDescriptif
Ce cours expose les bases de l'algorithmique à l'aide du langage de programmation JAVA. Il permet de commencer à se familiariser avec un langage de programmation objet. L'approfondissement de l'étude de ce langage se poursuivra en Licence 3. Nous utiliserons l'environnement processing qui simplifie la synthaxe JAVA et permet facilement de faire des graphiques.
hautÉquipe d'enseignants
Olivier Dalle - chargé TP
Sébastien Verel - chargé cours et TP
Vous pouvez contacter l'équipe pour tout ce qui concerne cet enseignement et votre orientation.
Evaluation
Les modalités d'évaluation et leur valeur se composent de :
- Un devoir surveillé (DS1) : lundi 2 mars 2009, entre 13h et 15h, Amphi physique 2 (Obligatoire pour tous) - 40%
- Un devoir surveillé (DS2) : lundi 20 avril 2009, entre 13h et 15h, Amphi physique 2 (Obligatoire pour tous) - 40%
- Un devoir non surveillé (DNS): commencant début mars et finissant fin mars/début avril (Obligatoire pour tous) - 20%
Devoirs passés :
- Enoncé du 2/3/2009, correction et code
- Enoncé du 20/4/2009, correction et code
- Rapport sur le projet 2009
Objectifs
Ils sont mis à jour régulièrement :
- Connaitre des algorithmes historiques
- Connaitre une définition d'algorithme
- Connaitre l'environnement Processing
- Editer et commenter un code java avec processing
- Savoir afficher un texte
- Savoir afficher des formes graphiques simples
- Ecrire un algorithme avec des affectations
- Ecrire un algorithme qui echange la valeur de deux variables
- Savoir utilisés les entrées de la souris avec Processing
- Ecrire un algorithme avec des tests simples
- Ecrire un algorithme avec un test multiple
- Ecrire des programmes java avec des tests simples ou multiples
- Ecrire un algorithme avec une itération de type "pour"
- Ecrire un algorithme avec des itérations imbriquées de type "pour"
- Ecrire un algorithme avec des l'itérations de type "tant que"
- Contrôler les événements clavier avec Processing
- Ecrire un algorithme correct d'au moins 8 lignes
- Connaître le principe de séparation de code
- Ecrire correctement une méthode java
- Comprendre et calculer le résultat d'un algorithme donné
- Modifier un algorithme donné
- Utiliser une partie d'algorithme donné
- Corriger un algorithme donné
- Lire et enregistrer une valeur dans un tableau
- Recherche des valeurs extrémales d'un tableau
- Utilisation d'un accumulateur pour réaliser un calcul dans un tableau
- Savoir concevoir un jeu de tests pour un algorithme
- Savoir inspecter les valeurs de certaines données d'un algorithme
- Faire la différence entre aléatoire et pseudo-aléatoire
- Simuler un nombre pseudo-aléatoire entier ou flottant entre 2 bornes données
- Ecrire un algorithme utilisant un générateur pseudo-aléatoire
- Ecrire un algorithme qui génére des séries temporelles du type u(t+1) = a u_t + b + e et u(t+1) = (a + e) u(t) + b
- Connaitre une définition d'objet et classe
- Savoir déclarer un objet d'une classe donnée
- Savoir utiliser les champs et les méthodes
- Savoir utiliser la documentation de l'API de Java,
- Connaitre les classes String, Point et Random
- Savoir définir une méthode toSTring
- Connaitre la notion de références d'objet
- Savoir déclarer une classe (champs, contructeurs, et méthodes)
- Recherche itérative d'un élément dans un tableau
- Recherche dichotomique d'un élément dans un tableau
- Dénombrement d'un élément dans un tableau
- Dénombrement d'un élément dans deux tableaux en parallèle
- Ecrire un algorithme récursif avec un seul test
- Etablir le lien entre définition par récurrence et algorithme récursif
- Recherche dichotomique d'un élément dans un tableau
- Savoir utiliser la classe ArrayList
- Connaitre la différence entre static et public
Installation de processing
Téléchargez le logiciel à l'adresse http://www.processing.org (Download) et installez-le. Voici un guide de configuration. Voici un extrait gratuit du livre de Reas & Fry et une traduction de l'Ecole d'Art d'Aix-en-Provence. Une courte page wikipedia sur processing.
Enfin un cours s'adressant aux étudiants de Licence 1 math/informatique de Jean-Paul Roy.
Supports de Cours et de TP
Voici l'ensemble des supports de cours et des émoncés des TP.
Séance | Titre | cours | Ex. | TP | cor. |
---|---|---|---|---|---|
01 | Introduction à l'algorithmique et à JAVA | cours | tp | non | |
02 | Algorithmes conditionnels | cours | ex | tp | cor |
03 | Algorithmes itératifs | cours | ex | tp | cor |
04 | Séparation de code et fonctions | cours | tp | cor | |
05 | Structures de données indexées | cours | ex | tp | cor |
06 | Simuler l'aléatoire | cours | ex | tp | cor notes |
07 | Séparation de code, classes et objets | cours | tp | cor | |
08 | Recherche et dénombrement dans les tableaux | cours | ex | tp zip | cor |
09 | Algorithmes récursifs | cours | tp | cor | |
10 | Synthèse | cm1 cm2 | tp zip | zip |
PROJET
Les informations concernant le projet sont dans ce document.
Le projet était à rendre le vendredi 3 avril avant minuit par la plateforme jalon.
Les présentations en personne seront le :
- jeudi 16 avril à partir de 14h : salle M.3.4
Vous êtes nombreux, on ne peut pas prendre de retard. Le temps est décompté de la manière suivante :
- 2 minutes pour le changement et l'installation
- 7 minutes de présentation et démonstration
- 1 minute de question
Pour votre présentation qui devra se faire sous forme de présentation de type "powerpoint", les logiciels OpenOffice et acrobatReader (format pdf) sont à disposition. La définition de l'écran est de 800x600px. Vous devrez avoir votre présentation sur une clé usb (si possible sous plusieurs formats) ou sur votre propre ordinateur.
Vous trouverez de nombreux conseils trés utiles sur le web pour réussir cette épreuve. La grille d'évaluation est disponible ici pour vous guider.
Le rapport est maintenant disponible ici. haut
Emploi du temps
10 séances de cours et TP :
- cours : lundi de 13h à 15h, Amphi Physique 2
- tp (gr A) : lundi de 8h à 10h, PV 212 et 213
- tp (gr B) : lundi de 10h15 à 12h15, PV 212 et 213
dernière modification : 20 avril 2009