Source: http://asr.telecom-sudparis.eu/asr/formation/contenu
Timestamp: 2017-11-21 00:23:08+00:00

Document:
Organisation et contenu des modules d'enseignement
Les objectifs pédagogiques ainsi que le contenu de ces UVs est accessible ci-dessous (cliquer sur une UV pour en savoir plus).
CSC 4508 - Conception et programmation des systèmes centralisés (4 ECTS)
- Maîtriser les interactions entre les programmes et le système d'exploitation
- Maîtriser les principes de base de la traduction/compilation de langages informatiques
- Concepts des Systèmes d’exploitation et mise en œuvre sous Linux
. Interactions entre système multi-tâche et processus
. Gestion de la mémoire
. Entrées-sorties
. Communications inter-processus (IPC)
. Synchronisation entre processus
. Architecture d'un logiciel serveur et optimisation
- Notions sur la compilation/traduction, applications informatiques
. Notions de vocabulaire, de grammaire
. Analyses lexicale et syntaxique
. Expressions régulières
. Automates à états finis
. Principes algorithmiques de reconnaissance
Ordonnancement, threads, architecture d'un logiciel serveur, compilation/traduction
Algorithmique (notions), Architectures matérielles (notions), Langage C (bonne pratique), Unix utilisateur (bonne pratique)
CSC 4509 - Algorithmique et communications des applications réparties (4 ECTS)
À l'issue du module, les étudiants seront capable, dans le cadre du développement d’une application répartie de petite taille, mais réaliste, et dont le cahier des charges est fourni, de :
CSC 5001 - Systèmes Hautes Performances (ASR 5) (4 ECTS)
À l'issue du module CSC5001, les étudiants sont capables de :
- Expliquer les enjeux, les contraintes et les exigences du Calcul Hautes Performances
- Concevoir une application parallèle performante sur une architecture cible (grappes de machines, machines multicœurs, machines hétérogènes intégrant CPU et GPU) à partir de sa version séquentielle en utilisant les outils classiques du parallélisme (par exemple OpenMP, MPI, CUDA)
- Analyser les performances d'une application parallèle pour proposer des pistes d'amélioration, et présenter la démarche et les résultats sous la forme d'une présentation orale
- Les fondamentaux du parallélisme
- Principes, concepts, intérêt…
- Architectures matérielles
- Solutions et tendance
- Algorithmique parallèle :
- Parallélisme de données / Parallélisme de tâches
- Les grappes de calcul
- OpenMP : Principes, API, Compilation, exécution, tuning, développement d'une application parallèle
- MPI : Principes, API, Compilation, exécution, tuning, développement d'une application parallèle
- GPU : Principes, API CUDA, Compilation, exécution
- Programmation hybride: MPI + OpenMP
- Micro-projet
Grappes,OpenMP, MPI, GPU, HPC
- Algorithmique (bonne connaissance), langage C (bonne pratique), Unix (bonne pratique utilisateur), Threads (bonne pratique)
CSC 5002 - Middleware pour applications réparties (ASR 6) (4 ECTS)
- Connaître les patrons de conception des intergiciels pour les applications réparties
- Connaître les différentes techniques logicielles de conception et de structuration d’applications réparties : requêtes synchrones, requêtes asynchrones, architecture 3 tiers, persistance des services, Architectures Orientées Service (SOA), Assemblage de composants, orchestration de services, informatique en nuage (cloud computing)
- Maîtriser les technologies de production d’applications réparties en entreprise : Web Services, MOM/JMS, Java EE
- Produire des applications réparties en entreprise
- Les fondamentaux des intergiciels
- Survol des solutions de construction (Architectures, SOA) et des intergiciels pour applications réparties (RMI, Java EE, Services Web, REST)
- Patrons et canevas pour construire des intergiciels pour la répartition
- Intergiciels pour appels synchrones (RMI, Web Services)
- Étude d’intergiciels pour appels synchrones
- Bases pour la programmation de serveurs d’application
- Intergiciels orientés messages (bus de messages, MOM, système distribué basé événement (DEBS))
- Étude d’un intergiciel orienté messages (JMS)
- Intergiciels orientés composant avec Java EE
- Présentation générale des concepts associés aux composants (conteneurs, propriétés extra-fonctionnelles)
- Propriétés extra-fonctionnelles et services pour intergiciels illustrés avec Java EE (services d’annuaire, de notification, de transactions, de persistance, de sécurité)
- Composants EJB
- Introduction à l'informatique en nuage (cloud computing)
- Développement et déploiement d'applications en nuage (cloud)
- Réalisation d’un micro-projet
- Conférences par des intervenants extérieurs
Intergiciel/middleware, application répartie, service, composant, Services Web, informatique en nuage/cloud computing
- Modélisation d’applications avec UML, programmation Java, Bases de données, Fondamentaux sur les applications, et algorithmique répartie
CSC 5003 - Web sémantique et infrastructures pour le big data (ASR 7) (4 ECTS)
- Découvrir les langages du Web sémantique
- Comparer Linked Data et Big Data
CSC 5004 - Infrastructures pour le Cloud ( ASR 8) (4 ECTS)
This course studies in detail the new infrastructures that sustain the Cloud.
We first examine the principles of resources virtualization and how to deploy and orchestrate clusters of virtual machines and containers.
In a second part, we review some fundamentals of large-scale distributed systems.
These ideas are then applied in a third part to the construction of modern distributed data stores.
Such stores run on commodity servers and are able to deliver the massive performance needed by the Cloud computing services.
We study some key notions such as data consistency, data distribution, replication and indexing, and we learn how to think for scalability and fault-tolerance, two fundamentals requirements of modern distributed services.
Cloud computing, Virtualization, Containers Orchestration, Large-scale infrastructure, Distributed data storage, Service oriented architecture, Availability, Fault-tolerance, Data Distribution, Data replication & consistency.
CSC500x, CSC400x, CSC310x.
CSC 5005 - Projet (ASR Projet) (8 ECTS)
- Se familiariser avec des méthodes de gestion de projet informatique
- Utiliser des compétences acquises au cours de la scolarité pour la réalisation d'un projet d'envergure
- Comprendre les besoins d'un client, faire des choix d'architecture, évaluer une réalisation
- Savoir présenter à l'oral et à l'écrit
Le projet de la voie d’approfondissement ASR est réalisé sur la totalité du semestre 5. Chaque étudiant doit réaliser un projet en binôme ou trinôme. Des plages sont programmées dans l’emploi du temps afin d’être dédiées à ce projet. Des rencontres avec l’encadrant du projet ont lieu toutes les deux semaines environ.
Trois types de projet sont proposés aux étudiants : des projets d’expérimentations, des projets d’études pour le compte d'entreprises ou de collectivités et des projets de recherche.

References: CSC 

CSC 

CSC 

CSC 

CSC 

CSC 

CSC