Introduction à Java et à l'algorithmique

L1 MASS - 2012 / 2013

Chez moi ?

L'installation de Processing chez vous

Année passée

site web 11/12

Questions ?

Contactez moi

News

Les dernières news (par ordre chronologique) :

  • 25/05/13: Les notes de projet sont disponible sur jalon.
  • 25/05/13: Correction disponible du contrôle terminal
  • 22/05/13: Pas de TP informatique le vendredi 24 mai
  • 21/05/13: Certains projets de la promotion sont disponibles
  • 07/05/13: Oral projet: déposez votre présentation au format pdf dans la boite de dépot jalon avant le 16 mai 23h55.
  • 07/05/13: Contrôle terminal vendredi 24 mai de 11h30 à 13h en amphi M.
  • 07/05/13: TP pour tous les étudiants le Vendredi 17 mai de 8h à 9h en PV.213.
  • 03/04/13: L'énoncé complet du projet est disponible.
  • 25/03/13: De nouvelles réalisations sont disponibles dont les effets sont garantis...
  • 14/03/13: Séance de révision organisée par le BDE MASS mardi 19 à partir de 17h (salle voir affiche amphi M).
  • 07/03/13: Le TP du groupe B avec R. Lecat en PV213 de vendredi 8 mars de 9h45 à 11h15 est reporté au lundi 11 mars en PV213 de 16h45 à 18h15.
  • 03/03/13: Rappel : Parcours ESD, devoir surveillé le mercredi 6 mars 2013 entre 11h30 et 12h en amphi M.
  • 22/02/13: La correction du TP 03 est disponible.
  • 15/02/13: La correction du TP 02 est disponible.
  • 14/02/13: Première réalisation de la promotion.
  • 13/02/13: Corrections, cours, fiche TP sont disponibles.
  • 24/01/13: Premier CM vendredi 01/02/13 de 11h30 à 13h, Amphi M.
  • 24/01/13: Premiers TP vendred 08/02/13 de 8h à 11h15, cf horaire.
  • 24/01/13: Welcome : site est ouvert !

haut

But

Poursuivre l'apprentissage de l'algorithmique et introduire à la programmation objet

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 donner une dimension multimédia au programme.

haut

Equipe enseignante


Vous pouvez nous contacter pour tout ce qui concerne cet enseignement et votre orientation.

haut

Evaluation

Les modalités d'évaluation sont :

  • Parcours SEMS (4 ECTS) :
    • Un devoir surveillé (30%) : vendredi 22 mars 2013, entre 11h30 et 13h,
    • Un projet (25%) : commencant le 22 mars et finissant le vendredi 3 mai 2013 (extension jusqu'au dimanche 5 mai), soutenance le 17 mai 2013,
    • Un controle terminal (40%) : vendredi 24 mai de 11h30 à 13h en amphi M,
    • Présences et participation (5%) : présences obligatoires et participation aux synthèses et réalisations.
  • Parcours ESD (2 ECTS) :
    • Un devoir surveillé (30%) : le mercredi 6 mars 2013, entre 11h30 et 12h, amphi M (aucun support de cours ou de TP n'est autorisé pendant l'épreuve),
    • Un controle terminal (65%) : vendredi 22 mars 2013, entre 11h30 et 13h,
    • Présences et participation (5%) : présences obligatoires et participation aux synthèses et réalisations.
Enoncé et correction du premier devoir surveillé du parcours ESD.

Enoncé et correction : code pdf du devoir surveillé du parcours ESD et SEMS.

Enoncé et correction : code pdf du contrôle terminal du parcours SEMS.

Retrouver les devoirs de l'année 2012.

haut

PROJET

Sujet

Les informations concernant le projet sont dans ce document.

Quelques projets de la promotion :

Et voilà après de longs efforts, les projets sont enfin réalités :

Rendre le projet

Le projet était à rendre le dimanche 5 mai avant 23h55 par la plateforme jalon.

Oral

Les présentations en personne ont lieu le :
  • Vendredi 17 mai de 9h30 à 13h00 (cf. ordre de passage) salle PV.302.
L'ordre de passage est donné par cette liste.

A FAIRE: vous devez déposer votre présentation au format pdf dans la boite de dépot jalon avant le 16 mai 23h55.

Vous êtes nombreux, il n'est pas possible de prendre du 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 indiquerai 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 (de préférence au format pdf) 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.

haut

Objectifs

Liste des objectifs de l'enseignement sur lequel repose les évaluations :

  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. Savoir utiliser "this" en Processing
  46. Savoir utiliser la classe ArrayList
  47. Savoir utiliser un héritage simple entre classes en Processing
  48. Ecrire un algorithme récursif avec un seul test
  49. Etablir le lien entre définition par récurrence et algorithme récursif
  50. Recherche dichotomique d'un élément dans un tableau

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.
Un très bon manuel d'utilisation est d'installation en français ici.
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 (avec le code source des exemples), des émoncés des TP, et le code source des corrections.

Séance Titre cours Ex. TP cor.
01 Introduction à l'algorithmique et à JAVA cours tp cor
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
07 Séparation de code, classes et objets cours part1 part2 tp cor
08 Créer ses propres classes et objets cours ex tp cor
09 Compléments sur les objets cours part1 part2 ex tp cor
10 Recherche et dénombrement dans les tableaux cours ex tp exo1 cor
11 Algorithmes récursifs cours tp cor
12 Modélisation et Simulation cours tp cor

haut

Vos réalisations

Voici quelques réalisations de la promotion :

  • Auteur : Arnaud Cadas
    Petit commentaire de l'auteur : "Voici un petit exemple que j'ai fait avec processing, c'est un monstre comme on devait faire dans le TD 1 mais on peut aussi le déplacer avec la souris (je me suis inspiré de votre exemple avec le point que vous déplaciez avec la souris dans le cours n°2)."
    Le Monstre à télécharger
  • Auteur : Thomas Tridon
    Un autre monstre à surgir un peu plus tard
    Le Monstre à télécharger
  • Auteur : Mariama Barry
    Une mystérieuse colonie de bêtes rouges se déplace en coeur sur le sable
    Animation à télécharger
  • Auteur : Anaïs Dos Santos
    Une pluie d'étoiles du plus bel effet !
    télécharger
  • Auteur : Celine Maniscalco
    Petit commentaire de l'auteur : "un programme que j'ai crée qui consiste à afficher sur l'écran soit un cercle soit un rectangle dont les positions, les tailles et les couleurs sont des nombres pris au hasard."
    J'ajouterai que l'effet "ambiance boite de nuit" n'est pas loin...
    télécharger
  • Auteur : Myriam Fakir
    Une nouvelle espèce de fleurs pivotantes
    télécharger
  • Auteur : Rémi Kaeffer
    Un tapis de petits cercles multicolores glissants vers l'infini
    télécharger
  • A venir...

haut

Emploi du temps

  • Parcours SEMS (4 ECTS) : 12 CM et 12 TP
  • Parcours ESD (2 ECTS) : 6 CM et 6 TP
Les séances ont lieu : L'emploi du temps du second semestre pdf.

haut

dernière modification : 5 mars 2013