Logo ÉTS
Session
Cours
Responsable(s) Abdelmoumène Toudeft

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

  • La première période de trois heures sert aussi à présenter le plan de cours, l’approche pédagogique utilisée et les différents modèles d’évaluation. 
  • Notez que l'ordre de présentation peux varier selon l'enseignant·e.

 

Unité

MATIÈRE

      1 - 5

  • Environnement Java.
  • Programmation de base en Java.
    • Types primitifs (variables et littéraux), variable, constantes, transtypage (typecasting), opérateurs (+, -, *, >=, <=, …), instructions de contrôle (if-else, while,  do-while), entrées/sorties (Scanner(), System.out), programme principal (main()).
  • Normes de programmation
  • Philosophie du programmeur : Le moins couteux en temps machine, en espace mémoire et en répétition de code sans nuire à sa clarté. 

   

  • Introduction aux méthodes (procédures et fonctions), aux classes (attributs à accès privé) et aux objets.
  • Les paquetages (package) java.lang et java.util de Java
    • Classes de Java : String, Arrays et Math
  • Les API de Java

 

  • Programmation de base en Java.
    • Collection de base en Java
      • Les tableaux statiques
        • Boucle for
      • Tableaux
        • De données de type primitif
        • D’objets (référence)
    • Algorithmes de Tris : sélection, insertion et bulles
    • Algorithme de fouilles : linéaire, linéaire ordonnée et binaire (ou dichotomique)

   

  • Défintion dans le paradigme orientée-objet 
    • Définitions
      • Surcharge (overload) et redéfinition (override).
      • Modificateur accès (public et private)
      • Constructeur
      • this()
      • Classes immuables et accesseurs (get),
      • Classes mutables et mutateurs (set)
      • Constantes  static
      • Commentaire Javadoc
  • Collection
    • Types de données abstraits (TDA) à implémentation statique
      • Pile (LIFO)
      • File (FIFO)
      • Liste
    • Levée (throws et throw) et gestion d’exception (try-catch).
Examen 1 (1h30)  Semaines 1 à 5.

   6 - 9

  • Classe interne (inner class)
  • Classes enveloppeurs (wrapper) Integer, Double, ... et conversion automatique (autoboxing et unboxing).
  • Collection (suite)
    • Chaînage dynamique simple
      • Liste (implémentation : chaînage dynamique simple)
        • Avec position numérique en paramètre (comme un tableau);
        • Avec position_courante (comme un fichier)
        • Chaînage dynamique double (un exemple)

 

  • Ajout de comportement à une classe
    • Par héritage (classe ou interface)
      • Utilité 
      • Retour sur la redéfinition (overide)
      • Syntaxe (extends, super)
      • Compatibilité parent-enfant
    • Par composition
  • Introduction aux enregistrements (attributs à accès public),
  • Généralisation/spécialisation (un exemple)
  • Polymorphisme dynamique (late binding)

Examen 2 (2H00)

 Semaines 6 à 9.

10-13

Les interfaces graphiques Swing sont présentées comme prétexte d'utilisation des trois concepts orientés-objet soit : Encapsulation, héritage et polymorphisme dynamique.

  • GUI (Graphical User Interface)
    • Composants Swing
      • JFrame, JPanel, JButton JTextField, JMenuBar, JMenu, JMenuItem,  Layout Manager, …
    • Gestion d’évènements (bas et haut niveau).

 Examen final

 Cours 6 à 13.

 

Laboratoires et travaux pratiques

Laboratoires :

  • Chaque semaine des exercices sont proposés pour comprendre la théorie de la semaine en vue de la réalisation des travaux pratiques. Les laboratoires ne sont pas à remettre mais nous supposons que l'étudiant·e les réalise. Nous pouvons les utiliser en référence dans les cours, les examens et/ou dans les travaux pratiques.