v2.11.0 (5932)

Enseignement scientifique & technique - CSC_4SE05_TP : Programmation concurrente (Concurrent programming)

Domaine > Informatique.

Descriptif

Le cours abordera la conception d'applications concurrente : modèles de concurrence, politiques d'ordonnancement, mécanismes de synchronisation. Ces concepts seront illustrés par la mise en œoeuvre de l'interface de programmation C/POSIX et par celle du modèle objet Java. Le cours portera également sur des patrons de conception pour la programmation concurrente ainsi que la vérification d'applications concurrentes.

Objectifs pédagogiques

Acquis d'apprentissage
À l'issue de l'UE, l'élève sera capable de:
- Décrire les architectures multi-coeurs et les problématiques posées par les systèmes concurrents modernes.
- Développer des programmes simples en langages concurrents notamment en C/POSIX en se conformant aux bonnes pratiques de programmation.
- Expliquer les principaux mécanismes et patrons de conception nécessaires à la conception de systèmes concurrents.
- Mettre en œuvre les primitives fournies par les bibliothèques et les langages de programmation concurrente.

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 : Mettre en œuvre les primitives fournies par les bibliothèques et les langages de programmation concurrente.
- BC8.2 – Modéliser et déterminer l'architecture logicielle et matérielle en intégrant des technologies, des composants matériels et logiciels avec différentes configurations; Justification : Développer des programmes simples en langages concurrents notamment en C/POSIX en se conformant aux bonnes pratiques de programmation.
- BC6.1 – Identifier et caractériser les éléments et les fonctions d’un système d’information, d’un réseau ou d’un système de communication; Justification :

24 heures en présentiel (16 blocs ou créneaux)
réparties en:
  • Leçon : 12
  • Travaux Pratiques : 10.5
  • Contrôle de connaissance : 1.5

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

Diplôme(s) concerné(s)

Parcours de rattachement

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

Programmation en langages C et Java (cours de 1eA)

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 :

Chaque cours magistral s’accompagne d’un travail pratique. Comme l’UE s’appuie sur la programmation de systèmes concurrents, une part importante de l’UE porte sur la programmation de systèmes concurrents lors de TP ou plutôt de mini-projets. Ces projets sont notés pour un quart de la note. L’examen reprend des éléments des TP pour valoriser l’implication dans la réalisation des TP ou mini-projets. Par ailleurs, deux QCM en contrôle continu permettent de vérifier la compréhension au cours de l’UE. Note = 5/20TP +2/20QCM + 13/20CC

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 :

Chaque cours magistral s’accompagne d’un travail pratique. Comme l’UE s’appuie sur la programmation de systèmes concurrents, une part importante de l’UE porte sur la programmation de systèmes concurrents lors de TP ou plutôt de mini-projets. Ces projets sont notés pour un quart de la note. L’examen reprend des éléments des TP pour valoriser l’implication dans la réalisation des TP ou mini-projets. Par ailleurs, deux QCM en contrôle continu permettent de vérifier la compréhension au cours de l’UE. Note = 5/20TP +2/20QCM + 13/20CC

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é

 

Mots clés

modèles de concurrence, patron de conception, interface de programmation

Méthodes pédagogiques

Chaque cours magistral s’accompagne d’un travail pratique. Comme l’UE s’appuie sur la programmation de systèmes concurrents, une part importante de l’UE porte sur la programmation de systèmes concurrents lors de TP ou plutôt de mini-projets. L’UE propose d’implanter de manière différentes les mêmes exemples de systèmes concurrents classiques.
Veuillez patienter