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.

haut

But

Poursuivre l'apprentissage de l'algorithmique et de la programmation avec le langage JAVA

haut

Descriptif

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.

haut

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%
Cette option compte pour 4 crédits ECTS.

Devoirs passés :

haut

Objectifs

Ils sont mis à jour régulièrement :

  1. Connaitre des algorithmes historiques
  2. Connaitre une définition d'algorithme
  3. Connaitre l'environnement Processing
  4. Editer et commenter un code java avec processing
  5. Savoir afficher un texte
  6. Savoir afficher des formes graphiques simples
  7. Ecrire un algorithme avec des affectations
  8. Ecrire un algorithme qui echange la valeur de deux variables
  9. Savoir utilisés les entrées de la souris avec Processing
  10. Ecrire un algorithme avec des tests simples
  11. Ecrire un algorithme avec un test multiple
  12. Ecrire des programmes java avec des tests simples ou multiples
  13. Ecrire un algorithme avec une itération de type "pour"
  14. Ecrire un algorithme avec des itérations imbriquées de type "pour"
  15. Ecrire un algorithme avec des l'itérations de type "tant que"
  16. Contrôler les événements clavier avec Processing
  17. Ecrire un algorithme correct d'au moins 8 lignes
  18. Connaître le principe de séparation de code
  19. Ecrire correctement une méthode java
  20. Comprendre et calculer le résultat d'un algorithme donné
  21. Modifier un algorithme donné
  22. Utiliser une partie d'algorithme donné
  23. Corriger un algorithme donné
  24. Lire et enregistrer une valeur dans un tableau
  25. Recherche des valeurs extrémales d'un tableau
  26. Utilisation d'un accumulateur pour réaliser un calcul dans un tableau
  27. Savoir concevoir un jeu de tests pour un algorithme
  28. Savoir inspecter les valeurs de certaines données d'un algorithme
  29. Faire la différence entre aléatoire et pseudo-aléatoire
  30. Simuler un nombre pseudo-aléatoire entier ou flottant entre 2 bornes données
  31. Ecrire un algorithme utilisant un générateur pseudo-aléatoire
  32. 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
  33. Connaitre une définition d'objet et classe
  34. Savoir déclarer un objet d'une classe donnée
  35. Savoir utiliser les champs et les méthodes
  36. Savoir utiliser la documentation de l'API de Java,
  37. Connaitre les classes String, Point et Random
  38. Savoir définir une méthode toSTring
  39. Connaitre la notion de références d'objet
  40. Savoir déclarer une classe (champs, contructeurs, et méthodes)
  41. Recherche itérative d'un élément dans un tableau
  42. Recherche dichotomique d'un élément dans un tableau
  43. Dénombrement d'un élément dans un tableau
  44. Dénombrement d'un élément dans deux tableaux en parallèle
  45. Ecrire un algorithme récursif avec un seul test
  46. Etablir le lien entre définition par récurrence et algorithme récursif
  47. Recherche dichotomique d'un élément dans un tableau
  48. Savoir utiliser la classe ArrayList
  49. Connaitre la différence entre static et public

haut

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.

haut

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

haut

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
L'ordre de passage est donné par cette liste. Pour toute modification répondant à un impératif, veuillez m'envoyer un courriel en indiquant la personne avec qui vous permuttez.

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
Je vous indiquerez lorsqu'il vous restera plus qu'une minute de présentation.

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 :

L'emploi du temps provisoire du second semestre pdf.

haut

dernière modification : 20 avril 2009