v2.11.0 (5932)

Enseignement scientifique & technique - CSC_4SL01_TP : Programmation Avancée et Gestion de Projet (en Java)

Domaine > Informatique.

Descriptif

Ce cours introduit les notions de base pour comprendre et développer des applications distribuées (axées sur la programmation Java). Il introduit la notion de middleware, qui facilite le développement et la gestion de systèmes distribués. Il fournit ensuite deux exemples concrets de différents types de middleware : basés sur des invocations de méthodes à distance et des modèles de communication orientés message.

 

Programme : Ce cours comprend les matières suivantes :

- Notions avancées de programmation distribuée (basées sur Java) : threads, synchronisation, sérialisation d'objets, entrées/sorties et sockets ;

- Introduction au middleware et à deux technologies concrètes pour l'invocation de méthodes à distance et la communication basée sur des messages ;

- Des travaux pratiques illustreront l'application concrète des notions théoriques

Objectifs pédagogiques

Acquis d'apprentissage
À l'issue de l'UE, l'élève sera capable de:
- Expliquer le rôle et le fonctionnement général des plates-formes middleware, à base de différents modèles de distribution (ex : appel de méthode à distance, envoi de message, publication/souscription)
- Développer des applications répartis à base des technologies exemplifiées en cours
- Comparer et analyser différentes types de middleware afin d'identifier leurs points forts et faibles. Déterminer par conséquent leur applicabilité au contexte d'application souhaité.

Compétences de rattachement (et justification)
- BC8.3 – Concevoir et développer des solutions technologiques en s’appuyant sur un paradigme de programmation spécifique ou en concevant des architectures matérielles et logicielles spécifiques; Justification : L'UE amènes les élèves à utiliser des technologies et des concepts du middleware pour la programmation répartie
- BC1.3 – Elaborer une ou plusieurs solutions technologiques, en s’appuyant sur la modélisation théorique et la méthode scientifique de manière à faire ressortir la pertinence desdites solutions permettant une prise de décision; Justification : L'UE montre plusieurs modèles de communication au sein des systèmes répartis ; et met en avant des axes permettant leur comparaison afin de faciliter des choix adaptés cas-par-cas.

24 heures en présentiel (16 blocs ou créneaux)

12 heures de travail personnel estimé pour l’étudiant.

Diplôme(s) concerné(s)

Parcours de rattachement

Pour les étudiants du diplôme Echange international non diplomant

Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)

Pour les étudiants du diplôme M2 PDS - Parallel and Distributed Systems

Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)

Pour les étudiants du diplôme M1 PDS - Parallel and Distributed Systems

Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)

Pour les étudiants du diplôme Diplôme d'ingénieur

Une bonne compréhension de la Programmation Orientée-Objet (de préférence en Java)

 

Format des notes

Numérique sur 20

Littérale/grade européen

Pour les étudiants du diplôme Echange international non diplomant

Vos modalités d'acquisition :

un contrôle écrit permettra d'évaluer les acquis théoriques
le développent des exercices en TD/TP sera également évalué (directement ou indirectement)
le projet pratique permettra d’estimer labilité des étudiants à appliquer leur connaissances via une application concrète

L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2.5 ECTS

La note obtenue rentre dans le calcul de votre GPA.

Pour les étudiants du diplôme M2 PDS - Parallel and Distributed Systems

Vos modalités d'acquisition :

un contrôle écrit permettra d'évaluer les acquis théoriques
le développent des exercices en TD/TP sera également évalué (directement ou indirectement)
le projet pratique permettra d’estimer labilité des étudiants à appliquer leur connaissances via une application concrète

L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2.5 ECTS

La note obtenue rentre dans le calcul de votre GPA.

Pour les étudiants du diplôme M1 PDS - Parallel and Distributed Systems

Vos modalités d'acquisition :

un contrôle écrit permettra d'évaluer les acquis théoriques
le développent des exercices en TD/TP sera également évalué (directement ou indirectement)
le projet pratique permettra d’estimer labilité des étudiants à appliquer leur connaissances via une application concrète

L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2.5 ECTS

La note obtenue rentre dans le calcul de votre GPA.

Pour les étudiants du diplôme Diplôme d'ingénieur

Vos modalités d'acquisition :

un contrôle écrit permettra d'évaluer les acquis théoriques
le développent des exercices en TD/TP sera également évalué (directement ou indirectement)
le projet pratique permettra d’estimer labilité des étudiants à appliquer leur connaissances via une application concrète

L'UE est acquise si Note finale >= 10
  • Crédits ECTS acquis : 2.5 ECTS
  • Crédit d'UE électives acquis : 2.5

La note obtenue rentre dans le calcul de votre GPA.

L'UE est évaluée par les étudiants.

Programme détaillé

Cette UE traite des points suivants :

- Threads Java, synchronisation, sérialisation d'objet, entrées/sorties et sockets ;

- gestion de versions via git avancé (ex : branches gestion de conflits, outil SmartGit) ; 

- automation de la compilation, de l’archivage et de l’exécution du code avec l'outil Apache ANT ou Maven ;

- introduction à la méthode agile (ex : Scrum) pour le développent des projets informatiques

Mots clés

distributed systems, middleware, threads, sockets, remote method invocation, message-oriented communication, distributed objects

Méthodes pédagogiques

Les concepts principaux sont présentés en cours magistral et mis en application en TD et/ou en TP.
Un projet sera également assigné (travail à la maison) afin d'approfondir ces notions via un développement d'application moins encadré.
Veuillez patienter