Informatique S3

Code UE : USSI6G

  • Cours + travaux pratiques
  • 7 crédits

Responsable(s)

Giorgio RUSSOLILLO

Contenu

Positionnement : Semestre 3UE : InformatiqueECTS : 7
Nombre d'heures : 143.5h
Modalité : Présentiel (100%)
 L'UE Informatique est constituée de 4 éléments constitutifs d'UE :  
  • Cloud Computing et Technologies Distribuées
  • Electronique des objets
  • Java avancé : Conception Avancée et Architecture Logicielle
  • Langage Python – S3
 
La note finale associée à cette UE est calculée en pondérant les notes des 4 ECUE avec les coefficients associés.
ECUE 1 : Cloud Computing et Technologies Distribuées (Coef : 2) - 59,5h (Cours, TD, TP) - 15h (Estimation temps de travail personnel)
 
Objectifs : 
  • L'objectif de ce cours et ses applications est d'acquérir les connaissances générales sur les systèmes distribués et les intergiciels pour l'urbanisation des systèmes d'information distribués, pour la conception d'applications distribuées large échelle. 
  • Compréhension des mécanismes sous-jacents du Cloud Computing. 
  • Être capable de différencier les avantages et inconvénients des systèmes distribués vs les systèmes « centralisés ».

Contenu :
  • Systèmes distribués : principes théoriques de fonctionnement
         a. Rappels sur les processus dans les systèmes centralisés : mécanismes de synchronisation, exclusion mutuelle, multi- threads, ordonnancement des processus, mémoire.
         b. Exigences des systèmes distribués et principes généraux.
         c. Gestion du temps : horloges logiques, ordre causal.
         d. Algorithmes utilisés dans les systèmes distribués : exclusion, synchronisation, élection, terminaison, coupure, état global, … (Quelques exemples)
         e. Gestion partagée des données : désignation/ transparence, cohérence mémoire, localisation, P2P, …
  • Architectures des systèmes distribués
         a. Infrastructures : data centers, multi-coeurs, clustering, architectures mémoires NUMA, UMA, …
         b. Méthodes de virtualisation et de containerisation.
         c. Exemple de l'écosystème Hadoop et de HDFS
  • Tolérance aux pannes dans les systèmes distribués :
         a. Définitions : pannes, erreurs, , sureté de fonctionnement, types de pannes, pannes byzantines, mécanismes de réplication : redondances matérielles, mécanismes de recouvrement, …
         b. Introductions aux bases NoSQL et à MongoDB
         c. Etude de cas et exemple de tolérance aux pannes avec MongoDB et Hadoop-HDFS
  • Architectures de type Cloud computing
         a. Notions de PaaS, SaaS …
         b. Exemples Google, Microsoft, AWS.
  • Traitements parallèles de masse - Map -reduce
         a. Paradigme Map reduce
         b. Exemple de programmation map reduce avec MongoDB et Hadoop HDFS -YARN
         c. Evolution du modèle Map reduce – Exemple de Apache Spark 

Compétences visées : 
A l'issue du cours, l'apprenti est capable de :
  • utiliser Map reduce sur MongoBD,
  • gérer la tolérance aux pannes dans les systèmes distribués,
  • passer à l'échelle sur le Cloud (AWS).
 
Modalités d'évaluation : Contrôle continu (rendus de TP) 
ECUE 2 : Electronique des objets (Coef : 1) - 31,5h (Cours, TP, Projet) - 10h (Estimation temps de travail personnel)
 
Objectifs : Apprendre à utiliser les éléments de base du langage Arduino.
 
Contenu :  
  • Introduction générale
    • Présentation du matériel, des composants et vue d'ensemble des cartes
    • Schéma d'une platine Arduino et exploration des différentes broches
    • Explication de la platine d'expérimentation
    • Installation de l'environnement de programmation IDE et des pilotes
  • Introduction à la programmation Arduino
    • Présentation de l'environnement de la programmation IDE
    • Structure d'un programme : entête déclarative, setup() et loop()
    • Les différents types de variables et leur impact sur la mémoire
    • Incrémentation d'une variable et conditions de sorties de boucles
  • Les fonctions du langage Arduino
    • Utilisation des sorties analogiques (PWM) 
    • Pilotage des entrées et sorties numériques (protection par résistances) 
    • Les entrées analogiques 
    • Les fonctions de temps et de conversion (Mappage) 
    •  Le potentiomètre 
  • Communication entre des capteurs, des actionneurs et différents afficheurs
    • Les protocoles de communication UART et I2C
    • Contrôle et pilotage de servos moteurs
    • Acquisition de données provenant de différents capteurs (température – humidité), visualisation par led, afficheur LCD
    • Envoi et réception des données
  • Objets connectés via ESP8266 et visualisation sur terminal mobile
    • Description de la carte électronique ESP8266
    • Création d'objets connectés (IOT) et visualisation sur terminal mobile
  • Concevoir et réaliser des projets créatifs (Station météo, Oscilloscope, …)
  • Animer et construire des robots à base d'Arduino (mBot, Zumo, OTTO, …)
 
Compétences visées : 
A l'issue de la formation, l'apprenant sera capable de : 
  • Connaitre les bases de la programmation Arduino 
  • Mettre en œuvre des capteurs et des actionneurs
  • Réaliser un projet Arduino
  • Acquérir des données et les enregistrer en temps réel sur un tableur 
  • Afficher ces données sur une tablette ou un smartphone
 
Modalités d'évaluation : Contrôle continu sous forme de TP
ECUE 3 : Java avancé : Conception Avancée et Architecture Logicielle (Coef : 1) - 31,5h (Cours, TP, Projet) - 10h (Estimation temps de travail personnel)
 
Objectifs : Ce cours est la suite de l'ECUE Informatique générale – Programmation algorithmique de première année. Ses objectifs sont de :
  • Apprendre à mettre en place un projet JAVA complexe avec la gestion de dépendances correspondante.
  • Maîtriser les concepts avancés de la programmation et conception objet en JAVA.
 
Contenu :  
  • Les bases
  • Les entrées/sorties
  • Gestion du cycle de vie des applications
  • Tests unitaires
  • Réflexion
  • Concurrence
  • Modélisation OO
 
Compétences visées : 
  • Maîtriser le langage Java et les concepts objets avancés cités dans le programme.
  • Pouvoir analyser et faire évoluer un projet JAVA existant. 
 
Modalités d'évaluation : Contrôle continu. Tous les TP (un par sujet) sont notés avec un coefficient différent selon la complexité.
ECUE 4 : Langage Python – S3 (Coef : 1) - 21h (TP) - 10h (Estimation temps de travail personnel)
 
Objectifs :
  • Présentation des besoins d'intelligence artificielle dans le monde privé. 
  • Gérer un projet en Python sur un sujet d'IA.
 
Contenu :  
  • Proposition de projet : un projet doit traiter au moins une des thématiques suivantes
    • Machine Learning 
    • Deep Learning N
    • LP (Natural Language Processing) 
    • Computer Vision 
  • Identification des objectifs et problématiques correspondantes 
  • Rédaction d'un plan de travail pendant 5 séanc

Modalité d'évaluation

  • Contrôle continu
  • Projet(s)
  • Mémoire
  • Examen final

Cette UE apparaît dans les diplômes et certificats suivants

Chargement du résultat...
Patientez

Contact

Cnam Nouvelle Aquitaine
2 Avenue Gustave Eiffel Téléport 2
86960 Chasseneuil Futuroscope
Tel :05 49 49 61 20
naq_info@lecnam.net

Voir le calendrier, le tarif, les conditions d'accessibilité et les modalités d'inscription dans le(s) centre(s) d'enseignement qui propose(nt) cette formation.

Enseignement non encore programmé