Code Apogée Ancien code Apogée etat Nature element Libellé court Libellé long ects_min ects_max heures_cm heures_td heures_tp heures_prj sem_stage effectif_cm effectif_td effectif_tp anglais distanciel responsable1 responsable2 cnu1 cnu1_prct cnu2 cnu2_prct resp1_alt_email resp1_alt_remplace resp2_alt_email resp2_alt_remplace Prérequis TEXTE Compétences TEXTE Programme TEXTE
INF1001P+ Création UE Analyse de l'informatio Analyse de l'information ouverte, structurée et textuelle 6 0 10 70 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 75 07 25 0 0

A l’issue de cette UE, les étudiants sont capables de recherche, traiter et analyser l’information, scientifiques et techniques. Ils aborderont les techniques de fouilles textuelles, d'indexation ainsi que les différents formats de la production scientifique numérique. Les étudiants acquièreront également des connaissances en records management et sur les techniques d'écriture scientifique. Cette UE aborde également les modèles de données et les langages de description.
INF1002P+ Création UE Recherche d'information Recherche experte de l'information scientifique et technique 6 0 10 60 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 75 27 25 0 0

A l’issue de cette UE, les étudiants sont capables de rendre disponibles et exploitables à travers des outils informatiques les ressources et informations produites en entreprise (documents, données, connaissances, etc.) en réalisant des produits et/ou services documentaires (p.ex. inventaires, portails, systèmes de veille, etc.) adaptés aux pratiques des usagers et aux contraintes de l’environnement (p.ex. en restant en cohérence avec les systèmes d’information existants).
Ils mobiliseront des cadres théoriques et méthodologiques des environnements de recherche d'information documentaire.
Ils connaîtront les modèles de la recherche d'information. Ils aborderont l'IST d'un point de vue épistémologique et seront formés à la veille scientifique et technique.
INF1003P+ Création UE Information et Données Circulation et libre accès de l'information et des données 6 0 10 50 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 100 0 0 0
Cette UE donne aux étudiants les connaissances sur le traitement de l'information et des données. Elle aborde les modèles ouverts et collaboratifs de l'information scientifique et technique.
Cette UE s'intéresse à la mesure de la science, de ces lois, des modèles et de ces indicateurs bibliométriques. Elle traite également de la circulation du savoir dans l'entreprise et de la sociologie des organisation. Un cours portera spécifiquement sur les archives analogiques et archives numériques.
INF1004P+ Création UE Plateformes numériques Plateformes numériques, collaboratives et documentaires 6 0 20 50 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 75 27 25 0 0
A l’issue de cette UE, les étudiants sont capables de rendre disponibles et exploitables à travers des outils informatiques les ressources et informations produites en entreprise (documents, données, connaissances, etc.) en réalisant des produits et/ou services documentaires (p.ex. inventaires, portails, systèmes de veille, etc.) adaptés aux pratiques des usagers et aux contraintes de l’environnement (p.ex. en restant en cohérence avec les systèmes d’information existants).
L'UE abordera les logiciels et outils du document ainsi que des espaces numériques. C'est dans cette UE que les savoirs autour des bases de données, de l'informatique et des standards et technologie de l'Internet sont étudiés.

INF1005P+ Création UE Transformation Numérique Société de l'information et Transformation Numérique 6 0 10 50 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 75 27 25 0 0
A l’issue de cette UE, les étudiants sont capables de mobiliser des cadres théoriques et méthodologiques des sciences de l’information et de la communication et dem aîtriser les environnements de la recherche scientifique.
Cette UE propose des cours sur :
  • l’informatique générale (codage, langages, matériels, etc.) et la culture scientifique et technologique;
  • les réseaux numériques et sociaux;
  • la connaissance des systèmes d’information documentaire (p.ex. la GED collaborative, portail documentaire, SAE, etc.);
  • la mise en place, l’usage et l’administration d’un système de gestion de bases de données (SGBD);
     le cadre normatif et la propriété industrielle.
  
   
   
INF1010L INF1010L Renouvellement UE LIFAPI Algorithmique programmation impérative, initiation 6 0 12 24 24 0 0 210 35 18 0 0 elodie.desseree m.lefevre 27 100 0 0 0
1 Identifier les données utiles au fonctionnement d’un logiciel
2 Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser
3 Comprendre et exécuter un cahier des charges
4 Utiliser des composants logiciels existants et les intégrer dans un développement
5 Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
6 Intégrer les problématiques de tests, de robustesse, de qualité et de sécurité dans l’architecture d’un logiciel
7 Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML
8 Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
9 Lire et analyser une spécification, en tirer une réalisation
10 Analyser et décomposer une tâche pour concevoir un algorithme
11 Identifier et manipuler les représentations des données en machine
12 Choisir une structure de données pertinente
13 Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
14 Concevoir un algorithme itératif ou récursif adapté à une structure de données
15 Dérouler un algorithme
16 Programmer un logiciel implémentant une spécification fonctionnelle et technique
17 Résoudre un problème logiciel (erreur à la compilation, à l’exécution)

L’UE LIFAP1 proposée aux étudiants de première année de Licence Math / Info permet d’acquérir des connaissances de base en algorithmique. Une fois la syntaxe algorithmique assimilée, la traduction se fera dans un langage impératif. Ainsi, le programme de l’UE peut se subdiviser en deux grandes parties :

1- Algorithmique
           syntaxe algorithmique
           écriture d'algorithmes
           structures de contrôle : itérations, conditions
           sous-programmes (fonctions / procédures)

           mode de passage des paramètres dans des sous programmes
            tableaux / chaînes de caractères
            structures
           
2- Programmation impérative

Traduction dans un langage de programmation adapté des notions algorithmiques étudiées (fonction/ procédure, alternative, séquence, structures, tableaux, chaînes de caractères, …)

INF1011L INF1011L Renouvellement UE LIFAMI Applications en mathématiques et informatique 6 0 6 18 36 0 0 210 35 18 0 0 alexandre.meyer elodie.desseree 27 100 0 0 0
Avoir suivi INF1010L  : LIFAPI
1 Identifier les données utiles au fonctionnement d’un logiciel
2 Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser
3 Identifier et manipuler les représentations des données en machine
4 Utiliser des composants logiciels existants et les intégrer dans un développement
5 Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
6 Intégrer les problématiques de tests, de robustesse, de qualité et de sécurité dans l’architecture d’un logiciel
7 Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML
8 Produire une interface utilisateur adéquate et pertinente
9 Planifier les étapes d’un développement
10 Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
11 Lire et analyser une spécification, en tirer une réalisation
12 Analyser et décomposer une tâche pour concevoir un algorithme
13 Identifier et manipuler les représentations des données en machine
14 Choisir une structure de données pertinente
15 Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
16 Concevoir un algorithme itératif ou récursif adapté à une structure de données
17 Dérouler un algorithme
18 Programmer un logiciel implémentant une spécification fonctionnelle et technique
19 Lire et analyser une spécification, en tirer une réalisation
20 Établir un jeu de tests répondant à une spécification et le mettre en œuvre
21 Identifier, utiliser et choisir les différents paradigmes de programmation, au moins les classiques : fonctionnelle, procédurale, orientée objet, évènementielle, logique
22 Résoudre un problème logiciel (erreur à la compilation, à l’exécution)
23 Savoir illustrer la bonne exécution d’un programme en programmant les bonnes sorties issues de bons jeux de tests
24 Résoudre des problèmes élémentaires en mathématiques et en informatique fondamentale
25 Employer les notions de base en mathématiques : vecteurs et opérations, calculs matriciels, transformations géométriques et problèmes associés, nombres complexes, dérivées, intégrales, arithmétique
26 Employer les notions d’analyse complexe
27 Appliquer les techniques d’analyse de fonction et d’analyse matricielle, calcul différentiel, méthode d’optimisation, algorithmique numérique et des outils logiciels (solvers, outils d’intégration numérique) pour résoudre les problèmes classiques
28 Utiliser les propriétés algébriques, analytiques et géométriques des espaces R, R2, R3
29 Résoudre des équations (linéaires, algébriques, différentielles) de façon exacte et par des méthodes numériques
30 Utiliser les concepts de base des langages de programmation
31 Interpréter (à la main et via un programme) un code écrit dans un langage

L’objectif de cette UE est de se réapproprier des notions de mathématiques et d'informatique au travers d’applications concrètes à l'interface de plusieurs disciplines scientifiques : mécanique, biologie, physique, économie, etc. Les étudiants apprennent ainsi à raisonner et à manipuler ces notions en ayant une application pratique en cible. Cette application comportant un résultat visuel souvent en mouvement a pour but de motiver l'apprentissage.

Organisation

Plusieurs grands thèmes sont proposés dans le format suivant.

  • 1 cours magistral présente globalement les aspects théoriques (mathématiques / physiques / informatiques / …) nécessaires à l’élaboration et à la compréhension du thème.
  • 2 séances de TD permettent une analyse plus approfondie et une formalisation du problème.
  • 3 séances de TP permettent de finaliser le travail et d’aboutir à une application opérationnelle.

Les notions de mathématiques utilisées à travers des applications sont : calcul vectoriel, notion de dérivée/intégrale/gradient, nombre complexe, interpolation, discret/continu, dénombrement, notions de géométrie, etc.

Les notions d'informatique utilisées sont : algorithme de recherche, de stockage dans des structures de données simple (tableau 1D, 2D), voisinage ; gestion d'une première interface avec une boucle d'évènements ; algorithme d'optimisation; calcul discret, différence finie, etc.

Des exemples de thèmes
  • Nombre complexe pour calculer les transformations du plan : translation, changement d'échelle, rotation
  • Mécanique du point pour des particules en mouvement : calcul vectoriel et loi de Newton pour le calcul des positions, vitesses et forces (cinématique et dynamique). Applications visuelles telles que courses de bateau, balles rebondissantes, voire des fluides avec introduction de la notion du gradient discret.
  • Biologie : mutations génétique, variante autour du jeu de la vie : évolution de la chaine alimentaire, simulation d’un écosystème, modélisation et interaction cellulaires appliquées par exemple à la production de motifs de fourrures (tâches, rayures), etc. 
  • Physique : propagation de la chaleur dans une grille discrète, optique/lancer de rayons, etc.
  • Economie : équation différentielle d'évolution de prix, simulation d'interaction entre vendeur/acheteur (loi de Hotelling), etc.
Les thèmes sont adaptés chaque année en fonction du public, ou dans le cadre du miniprojet final.
INF1012L INF1012L Renouvellement UE LIFAPR Algorithmique et programmation récursive 3 0 7.5 7.5 15 0 0 210 35 18 0 0 m.lefevre nathalie.guin 27 100 0 0 0
Il est préférable d'avoir suivi une première UE d'algorithmique et programmation avant de suivre LIFAPR.
Par exemple LIFAPI (Algorithmique programmation impérative, initiation) pour les étudiants de l'UCBL.
Identifier et utiliser le paradigme de programmation fonctionnelle
Concevoir un algorithmique récursif pour résoudre un problème
Manipuler des structures de données récursives, comme les listes et les arbres
Analyser et décomposer une tâche pour concevoir un algorithme
Dérouler un algorithme
Utiliser un nouveau langage de programmation 
Établir un jeu de tests répondant à une spécification et le mettre en œuvre
Évaluer la complexité algorithmique d’une solution / d’un algorithme proposé
De manière complémentaire à l’UE «LIFAPI Algorithmique programmation impérative, initiation» qui traite de la programmation impérative et itérative, cette UE permet d’aborder la récursivité, afin que les étudiants puissent dans la suite des UE d’algorithmique et programmation (LIFAPSD, LIFAPCD) choisir entre une approche impérative et une approche récursive pour résoudre un problème. Le choix d’un langage fonctionnel permet également d’aborder un autre paradigme de programmation que la programmation impérative abordée en LIFAPI.

Notions : fonction, récursivité, mémorisation, récursivité profonde
Structures de données : listes, arbres
Algorithmes : parcours de listes, tris, parcours d'arbres
INF1013L INF1013L Renouvellement UE LIFUNIX Unix 3 0 1.5 0 24 0 0 210 35 18 0 1 thierry.excoffier 27 100 0 0 0
Application :
  • Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur
  • Manipuler les expressions rationnelles
Notion :
  • Travailler sur une machine distante
  • Décrire les éléments constitutifs d’un ordinateur et de son système d’exploitation (Unix et Windows)
  • Dérouler un algorithme

Après une séance de présentation d'Unix et de l'outil interactif utilisé pour acquérir les connaissances, les autres séances peuvent être faites de manière autonome. Un enseignant est présent pour répondre aux questions pendant les horaires de TP.

Voici les points abordés :
  • La notion de système de fichiers et d'utilisateur.
  • La syntaxe du langage shell.
  • Les expressions régulières.
  • Les commandes de manipulation de fichier.
Pour plus d'information, visitez la page web de l'UE.
INF1014L INF1014L Renouvellement UE LIFIRW Introduction aux réseaux et au web 3 0 12 0 18 0 0 210 35 18 0 0 olivier.gluck 0 0 0 0
Aucun
Compétences spécifiques principales :
Expliquer le fonctionnement d'Internet et ses principales applications
Concevoir une page web contenant un formulaire ainsi que sa mise en forme, y associer un traitement côté client et générer des contenus dynamiques côté serveur
Décrire ce qu'il se passe sur Internet quand un navigateur web demande une page à un serveur web
Décrire le fonctionnement d'Internet, ses principales applications et protocoles
Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur
Travailler sur une machine distante
Gérer les droits d’accès standard des utilisateurs
Définir et mettre en œuvre l’architecture d’un réseau d’entreprise
Identifier et classifier les principaux protocoles et normes des réseaux
Identifier et utiliser les équipements d’interconnexion des réseaux
Administrer un ou plusieurs réseaux d'ordinateurs interconnectés
Envoyer des requêtes simples à un serveur Web ou DNS et interpréter leurs réponses
Configurer un commutateur/routeur
Configurer et dépanner un réseau
Connecter un réseau à Internet
Lire, comprendre, dépanner, optimiser une table de routage
Capturer et analyser les traces d’un réseau
Lire les fichiers de configuration des équipements réseaux

Compétences spécifiques complémentaires :
Identifier et manipuler les représentations des données en machine
Utiliser des composants logiciels existants et les intégrer dans un développement
Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
Lire et analyser une spécification, en tirer une réalisation
Identifier et manipuler les représentations des données en machine
Concevoir un algorithme itératif ou récursif adapté à une structure de données
Dérouler un algorithme
Programmer un logiciel implémentant une spécification fonctionnelle et technique
Lire et analyser une spécification, en tirer une réalisation
Établir un jeu de tests répondant à une spécification et le mettre en œuvre
Résoudre un problème logiciel (erreur à la compilation, à l’exécution)
Présenter un ensemble d’informations à l’utilisateur à travers une interface (Web, client lourd)
Analyser et interpréter les résultats produits par l'exécution d’un programme
Interpréter (à la main et via un programme) un code écrit dans un langage

Lien vers les supports de cours : http://perso.univ-lyon1.fr/olivier.gluck/supports_enseig.html#LIFASR2

Objectifs :
Vous faire découvrir les réseaux informatiques et le fonctionnement d’Internet et ses applications 
Vous faire comprendre tout ce qui se passe quand un navigateur web demande une page web à un serveur web
Vous faire comprendre comment fonctionne votre connexion à Internet chez vous
Vous initier à la programmation web
Vous initier à la configuration d’un réseau informatique
Vous donner des éléments pour résoudre des pannes simples du type « Internet ne marche pas ! »

Les cours :
CM1 : Internet, les réseaux et le web
CM2 : Pages HTML et feuilles de styles CSS
CM3 : Web interactif, formulaires, pages dynamiques et PHP
CM4 : Protocole HTTP, méthodes GET et POST
CM5 : Les applications d’Internet : le web, le mail, la connexion à distance, la résolution de noms...
CM6 : La couche transport : les protocoles TCP et UDP 
CM7 : Le protocole IP
CM8 : Les protocoles Ethernet, ARP et ICMP. Synthèse des échanges entre un client et serveur Web

Les TP :
TP1 et TP2 : programmation du jeu 2048
TP1 : concevoir une page statique simple en HTML/CSS, comprendre les interactions avec le serveur Web via un formulaire et l’exécution d’un petit programme PHP
TP2 : programmation du jeu côté serveur en PHP, apprendre à debugger un programme PHP grâce à un fichier de logs
TP3 et TP4 : programmation d’un réseau social
TP3 : concevoir la partie cliente grâce à des formulaires, gestion d’un répertoire partagé, écriture dans des fichiers avec des métadonnées
TP4 : concevoir l’affichage du réseau social par un tri et une lecture des fichiers stockés dans le répertoire partagé, faire des feuilles de styles CSS pour personnaliser l’affichage
TP5 et TP6 : initiation aux réseaux informatiques
Mettre en place une architecture réseau permettant des échanges entre un navigateur web et un serveur web
Concevoir dans un émulateur de réseaux une architecture composée d’un PC client avec navigateur web, d’une box, de deux routeurs intermédiaires, d’un serveur web et d’un serveur DNS
Configurer les équipements : adressage des cartes réseaux, routage, NAT, DNS
Tester la configuration et le bon fonctionnement de l’architecture
Observer les échanges HTTP, DNS, TCP, IP, ARP, Ethernet et être capable de les analyser
Observer la différence entre HTTP et HTTPS

Compétences techniques acquises :
Savoir se connecter au serveur par ssh pour y stocker sa page web
Savoir faire une copie de fichiers à distance avec scp
Savoir gérer l'emplacement des fichiers sur le serveur web
Savoir utiliser les commandes Unix suivantes : ls, mv, mkdir, cp, echo, cat, touch, pwd, rm
Savoir écrire le code HTML d'une page web simple contenant un formulaire
Savoir inclure une feuille de styles dans une page web
Savoir ajouter quelques éléments de styles pour améliorer l'affichage
Savoir imbriquer des blocs div pour les positionner, leur appliquer un style
Savoir afficher les éléments reçus par le serveur après soumission d'un formulaire
Savoir inclure un fichier de fonctions PHP dans une page HTML
Savoir écrire du code PHP imbriqué dans du code HTML/CSS et vice-versa
Savoir définir et appeler une fonction en PHP avec ou sans passage de paramètres
Savoir écrire des conditions simples (avec if ou switch), des boucles simples (avec for, foreach, while)
Savoir utiliser/manipuler les tableaux et les chaines de caractères en PHP
Savoir écrire/lire dans un fichier texte côté serveur
Savoir utiliser les fonctions PHP suivantes : explode, file, date, file_put_contents, file_get_contents, empty, rand, array_fill
Savoir gérer un compteur stocké dans un fichier texte côté serveur
Savoir transmettre une variable d'une page à une autre soit avec un champ caché dans un formulaire, soit en stockant la variable dans un fichier côté serveur
Savoir observer les échanges entre le client et le serveur avec Firebug
Savoir visualiser les styles qui s'appliquent avec Firebug
Savoir ce qu'est une adresse IPv4, un sous-réseau, un masque de sous-réseau, une table de routage
Savoir écrire/convertir le masque en notation / ou décimale pointée (Exemple : /8 ou 255.0.0.0)
Savoir faire des conversions binaire/décimal/hexadécimal
Savoir calculer la première/dernière adresse IP pour une machine dans un sous-réseau donné (Exemple : 192.168.10.1 et 192.168.10.14 dans 192.168.10.0/28)
Savoir calculer l'adresse de diffusion dans un sous-réseau donné (Exemple : 192.168.10.15 dans 192.168.10.0/28)
Savoir calculer le nombre maximum de machines dans un sous-réseau donné (Exemple : 2^4-2=14 dans 192.168.10.0/28)
Savoir calculer l'adresse du sous-réseau d'une machine à partir de son adresse IP/masque (Exemple : 192.168.10.16/28 pour la machine 192.168.10.21/28)
Savoir calculer une liste de sous-réseaux dans un réseau donné (Exemple : 4 sous-réseaux dans 10.0.0.0/8 donne 10.0.0.0/10, 10.64.0.0/10, 10.128.0.0/10, 10.192.0.0/10)
Savoir décrire l'encapsulation d'une requête HTTP, DNS, ICMP c'est à dire donner le format de la trame Ethernet en indiquant dans l'ordre tous les protocoles encapsulés avec leur taille

INF1015L INF1015L Renouvellement UE LIFBAP Bases de l'architecture pour la programmation 3 0 7.5 10.5 12 0 0 210 35 18 0 0 hamid.ladjal 0 0 hamid.ladjal@univ-lyon1.fr 0 0
1 Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser
2 Comprendre et exécuter un cahier des charges
3 Utiliser des composants logiciels existants et les intégrer dans un développement
4 Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel


6 Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
7 Lire et analyser une spécification, en tirer une réalisation
8 Analyser et décomposer une tâche pour concevoir un algorithme
9 Identifier et manipuler les représentations des données en machine
10 Choisir une structure de données pertinente
11 Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
12 Décrire les éléments constitutifs d’un ordinateur et de son système d’exploitation (Unix et Windows)
13 Décrire les principes d’un système d’exploitation en termes de gestion de ressources (mémoire, processus, …)
14 Se servir des bases de la logique pour organiser un raisonnement, construire et rédiger de manière synthétique et rigoureuse
15 Concevoir des architectures matérielles
16 Expliquer le modèle d'exécution élémentaire en architecture (Von Neumann)
17 Manipuler les fonctions booléennes (tables de vérité, de Karnaugh, expressions booléennes et calcul booléen...)
18 Concevoir un circuit dédié à une fonctionnalité logique ou calculatoire

L'UE bases de l'architecture pour la programmation "LIFBAP" est une UE destinée aux étudiants de L1 de licence Sciences et Technologies "Licence Math / Info". L'objectif de ce cours est de présenter les principes fondamentaux et les concepts essentiels sur la notion d'ordinateur, de codage, de fonctionnment interne et de programme et d'instruction au niveau machine. Ces concepts de base sont nécessaires aux enseignements Algorithmique Programmation Impérative, Initiation (LIFAPI) et par la suite aux enseignements Architecture des ordinateurs et Systèmes (LIFAOS).

Contenu de l'UE Bases de l'architecture pour la programmation LIFASR3

  • L'algèbre de Boole, fonctions logiques et combinatoires
    • L'algèbre de Boole, opérations de base
    • Propriétés et les fonctions combinatoires
    • Simplification des fonctions logiques : méthodes algébriques et les méthodes graphiques (tableaux de Karnaugh)
    • Les chronogrammes et schéma d'un circuit logique (Logigramme)
  • Circuits combinatoires et circuits séquentiels
    • Inverseurs, Multiplexeur et Démultiplexeur, Encodeur et Décodeur, Transcodeur, Additionneur, Comparateur...
    • Bascules de base RS, JK et D, compteurs et décompteur...
  • Représentation et codage des données
    • Systèmes de numération : décimal, binaire, octal, hexadécimal, conversion d'une base à une autre base, opérations
    • Représentation de l’information: nombres entiers non signés et signés, complément à 1 et à 2, les nombres réels, caractères 
INF1087M INF1087M Renouvellement UE M1if01 Gestion de projet Gestion de projet et génie logiciel 3 0 15 3 12 0 0 210 35 18 0 0 matthieu.moy 27 100 0 0 0
- Connaissance du langage Java
- Commandes de base avec Git (commit, push, pull, etc.)
- Utilisation de la ligne de commande (bash) pour les opérations de base
Méthodologiques :
- Spécifier un logiciel avec des outils comme les user-stories et les cas d'utilisations
- Organisation d'une équipe avec Scrum
- Conception logiciel avec les design-patterns
- Démarche de test logiciel

Techniques :
- Outillage pour le développement logiciel : outil de build Maven, gestion de versions avec Git, la forge GitLab
- Test unitaires avec JUnit
- Application des design-patterns en Java, en particulier MVC
Méthodes de gestion de projet d’un point de vue organisationnel et technique.
Les objectifs du module sont d’offrir aux étudiants les moyens de :
Gérer un projet informatique : du cahier des charges aux livrables, mais aussi en utilisant des approches agiles.
Capturer et synthétiser les besoins des clients et des utilisateurs.
Maitriser les outils de gestion de code et de travail collaboratif.
Modéliser des systèmes pour la conception ou l’analyse.
Analyse et implémentation de code, utilisation des patrons de conception, développement dirigé par les tests.
Plus précisément, on abordera les caractéristiques, activités et phases des processus de conception objet, à la fois les approches classiques basées sur des enchainements définis, mais aussi les méthodes agiles comme Scrum.
Pour la spécification des besoins fonctionnels, nous nous appuierons sur la méthode d’expression de besoins fonctionnels par les cas d’utilisation, en insistant sur leur dimension textuelle et les bonnes pratiques de rédaction.
Tout au long du cours, nous travaillerons sur les systèmes d’information au sens large, on rappellera les différents diagrammes du langage UML permettant d’en représenter des éléments variés. Mais aussi les bonnes pratiques de programmation comme les patrons de conceptions, ou le développement dirigé par les tests.
Ceci servira à introduire les patrons de conception les plus classiques, Au niveau développement, on insistera sur les patterns GRASP (General Responsability Assignement Software Pattern) et les design-patterns les plus classiques. Nous aborderons enfin l’utilisation des tests à différents niveaux : tests unitaires, tests d’intégration, tests d’utilisation.
INF1088M INF1088M Renouvellement UE M1if23 Prog avancée Programmation avancée 3 0 15 0 15 0 0 210 35 18 0 0 raphaelle.chaine 0 0 0 0
Cette UE s'appuie sur les compétences en algorithmique et programmation abordées en Licence. Elle suppose la maîtrise des notions suivantes :
  • conteneurs de base et leur implantation efficace : tableaux, tableaux dynamiques, listes chaînées, ensemble, tables et dictionnaires,
  • conception d'algorithmes itératifs simples à base de boucles,
  • conception d'algorithmes récursifs simples,
  • notion de pile d'appels de fonction et de tas pour l'allocation dynamique de mémoire.
Du point de vue pratique, les travaux pratiques se feront en C++. Une maîtrise de base de ce langage et de sa compilation est nécessaire :
  • Connaissance des différentes étapes de la compilation d'un programme,
  • compilation d'un programme décrit sur plusieurs fichiers,
  • structures de données en C++ : types primitifs, tableaux, adresses (pointeurs), références,
  • allocation dynamique, construction et destruction des structures de données,
  • récupération et analyse des erreurs de compilation simples (erreurs de syntaxe, de typage),
  • récupération et analyse des erreurs d'exécution simples (erreur de segmentation, boucle infinie).
Cette UE apporte des compétences pour la conception et la mise en œuvre d'algorithmes efficaces dans un contexte de Calcul Haute Performance. Ceci est particulièrement important dans des contextes de simulations physiques et numériques.
  • retour sur les différents paradigmes de programmation vus en Licence en se posant la question de leur mise en oeuvre et de leur coût dans un langage de programmation compilé, 
  • savoir ne recourir à un mécanisme de programmation que s'il est véritablement utile, pour plus d'efficacité des traitements,
  • comprendre les traitements faits par le compilateur C++, ainsi que les traitements qu'il est envisageable de lui confier, y compris la génération automatique de morceaux de code (introduction à la méta-programmation).



Le but de ce module est d'introduire la question de la généricité et de la méta-programmation dans le développement logiciel de librairies orienté performance (noyau de framework en système, IA, simulation, etc.). Les librairies génériques doivent permettre la mise en place d'applications efficaces et robustes, dans des domaines multiples et variés.

Pour mettre en œuvre de telles librairies, le langage C++ offre un certain nombre d'outils comme l’identification dynamique de type mais aussi les templates, dont le mécanisme statique sera expliqué en détail. Ce cours introduit également la notion de value-ness (lvalue, rvalue, xvalue) et son exploitation pour économiser la construction d'objets temporaires dans des applications efficaces.

Le C++ s’accompagne notamment d’une bibliothèque standard, la Standard Template Library (STL) qui offre un certain nombre de patrons (classes conteneurs, algorithmes, itérateurs) correspondant aux structures de données et aux algorithmes classiquement utilisés en Informatique. Nous rappellerons comment une telle librairie peut être utilisée, mais aussi comment mettre en place des librairies s'appuyant sur le même paradigme de programmation générique. En particulier, nous ferons référence au projet Boost qui correspond à un référentiel pour les évolutions futures du langage C++ et de ses normalisations.

Par ailleurs, le langage JAVA est le second langage à objets majoritairement utilisé par l’industrie, et ce cours reviendra sur les différences fondamentales de ce langage avec C++, avec toutes les conséquences en terme de philosophie de conception et style de programmation. Malgré leurs ressemblances superficielles, les programmes obtenus avec ces deux langages peuvent en effet avoir des comportements complètements différents. 

INF1089M INF1089M Renouvellement UE M1if03 Web Conception d'applications Web 3 0 10.5 0 19.5 0 0 210 35 18 0 0 lionel.medini 27 100 0 0 0
- Langages de création de pages Web (HTML, CSS)
- Fonctionnement de base des réseaux (modèle OSI, IP, TCP...)
- Une expérience en programmation Web côté serveur, éventuellement dans d’autres langages (PHP, Python)
- Programmation orientée-objet (en particulier en Java) et design patterns
- Programmation côté client (JavaScript)
- Mettre en place et sécuriser une infrastructure de déploiement continu pour une application Web
- Mener une démarche de conception pour une application Web
- Appliquer et mettre en place les principaux design patterns liés au Web (MVC, Observer...)
- Réaliser une Web API en s'appuyant sur les principes de l'approche ReST
- Concevoir et réaliser une Single-Page Application à l'aide de mécanismes de requêtage asynchrone
- Mesurer et commencer à optimiser les performances d'une application Web
Cette UE se concentre sur les grands principes de conception et de développement d'applications Web. Le parti pris est de considérer le Web comme un medium d'interaction avec les applications complexes, à la fois en termes d'interface et de style de programmation.
Elle comporte deux grandes parties :
  • Technologies côté serveur
    • Infrastructure : configuration serveur, intégration / déploiement continus
    • Programmation côté serveur (PHP, servlet, JSP)
    • Initiation aux services Web (REST)
  • Technologies côté client (JavaScript)
    • API DOM
    • AJAX (XmlHttpRequest) / Fetch API
    • Outils de templating (Mustache)
    • Requêtage cross-domaine (CORS)
INF1090M INF1090M Renouvellement UE M1if24 BD NoSQL Bases de données non relationnelles 3 0 12 9 9 0 0 210 35 18 0 0 emmanuel.coquery 0 0 0 0
  • Savoir faire des requêtes SQL
Pré-requis technique:
  • Savoir programmer en Java, ou en Python avec des classes
Spécifiques:
  • Interroger des données non-relationnelles
  • Identifier les différents constructions de langages de requêtes (logiques, par chemin, par motif)
  • Savoir passer d'un modèle de données à un autre
  • Identifier les points communs entre les mécanismes d'évaluation de requêtes des différents langages
On fera un tour d'horizon de différents modèles de données non-relationnelles, leurs schémas et leur langages d'interrogation. On fera le cas échéant le lien avec le modèle relationnel pour apprécier les différence et les points communs entre ces modèles. Plus précisement, on abordera:
  • Les correspondances modèle objet/modèle relationnel (ORM)
  • Les données en arbre, illustrées à travers JSON et/ou XML
  • Les données graphes
  • La généralisation de l'algèbre relationnelle aux algèbres de collections
INF1091M INF1091M Renouvellement UE M1if05 Réseaux Réseaux 3 0 12 12 6 3 0 210 35 18 0 0 isabelle.guerin 27 100 0 isabelle.guerin-lassous@ens-lyon.fr 0 0
Savoir faire des conversions d'unités.
Compétences spécifiques :
- Maîtrise des concepts fondamentaux des réseaux
- Maîtrise des raisons et des principes fondateurs qui ont guidé les choix des technologies et protocoles actuels
- Compréhension des facteurs qui peuvent altérer un réseau ou une application distribuée
- Savoir analyser les performances d'un réseau
- Principes des réseaux et architecture de l'Internet
- Couche physique 
- Réseaux d'accès (services de la couche liaison de données - tramage, accès au médium- avec un focus sur le Wi-Fi)
- Couche réseau (adressage IP et routage dynamique)
- Couche transport (services, principes du transfert fiable et du contrôle de congestion, UDP & TCP)
INF1092M INF1092M Renouvellement UE M1if06 Bases de l'IA Bases de l'intelligence artificielle 3 0 12 7.5 10.5 0 0 210 35 18 0 0 m.lefevre 27 100 0 0 0
  1. les bases communes à toute formation plus spécialisée en intelligence artificielle,
  2. la capacité à modéliser un problème,
  3. la capacité à utiliser le raisonnement logique pour résoudre des problèmes ou découvrir des connaissances,
  4. le langage Prolog et son utilisation pour résoudre des problèmes via des raisonnements logiques.

L’objectif général du cours est de permettre aux étudiants d’acquérir les notions de base de l’intelligence artificielle.

Le cours commence par une présentation de l’histoire de l’intelligence artificielle : de ses débuts dans les années 50 à son omniprésence de nos jours, avec la présentation des différentes facettes de l’IA, des mythes et de la réalité.

La modélisation de problème et la recherche de solutions sont abordées en étudiant comment un problème peut être modélisé pour permettre sa résolution. Il faut pour cela définir la notion de « problème » et de principe de modélisation en fonction de la méthode de résolution que l’on veut lui appliquer.

Différentes techniques de recherche de solutions sont présentées (recherche dans un graphe d’états, décomposition du problème, etc.) puis la résolution à partir de raisonnements logiques est détaillée (inférences augmentées d’heuristiques).

Le cours se conclut par la présentation de la notion de systèmes à base de connaissances, de leur architecture, et des exemples.

Des Travaux Pratiques permettent d’illustrer et de prendre en main différentes notions présentées dans le cours : le raisonnement logique et sa programmation à l’aide du langage Prolog.

INF1093M INF1093M Renouvellement UE M1if07 Algo optimisation Algorithmique pour l'optimisation 3 0 15 15 0 0 0 210 35 18 0 0 christophe.crespell 0 0 0 0
Le cours s’intéresse aux méthodes d'optimisation combinatoire, qui est la partie de la recherche opérationnelle qui traite des problèmes d'optimisation dans un domaine discret et en l'absence d'incertitude. Il s'agit alors de trouver une solution optimale parmi un nombre fini mais très grand de solutions, ce qui rend ces problèmes difficiles du point de vue de la complexité des calculs.

Nous abordons plusieurs techniques algorithmiques pour faire face à cette complexité de calcul: algorithmes probabilistes, algorithmes d'approximation, algorithmes exponentiels exacts (par la méthode du branching ou de la programmation dynamique), complexité paramétrée ainsi que programmation linéaire et en nombres entiers.

Nous donnons des exemples de mise en œuvre de ces techniques sur des problèmes classiques d'optimisation combinatoire qui servent à modéliser et résoudre de nombreux problèmes rencontrés en pratique: flot maximum, coupe minimum, stable maximum dans les graphes, voyageur de commerce, équilibrage de charges, sac à dos, sélection de k centres, couverture par les sommets des arêtes d'un graphe.
INF1094M INF1094M Renouvellement UE M1if08 Compilation Compilation / traduction des programmes 3 0 7.5 7.5 15 0 0 210 35 18 0 0 matthieu.moy 27 100 0 0 0
- Notions de théorie des langages (grammaires, expressions régulières)
- Compétences de base en programmation, capacité à apprendre un nouveau langage rapidement ou connaissance préalable du langage Python
- Connaître les étapes de transformations d'un compilateur (analyse lexicale et syntaxique, typage, génération de code, allocation de registres)
- Comprendre les mécanismes permettant l'exécution d'un programme (interprétation, compilation)
- Savoir raisonner de manière abstraite avec des programmes (spécifier, transformer)
- Savoir écrire des programmes en langage Python
Rappels sur la théorie des langages et grammaires,
Les différentes phases d'analyse : lexicale, syntaxique, sémantique
Les actions à réaliser pour la traduction de programme
Optimisations locales
Allocation de registres et génération de code.
Réalisation d'un compilateur
Site web de l'UE : https://compil-lyon.gitlabpages.inria.fr/compil-lyon/
INF1095M INF1095M Renouvellement UE M1if09 Modèles de calcul Modèles de calcul et complexité 3 0 15 15 0 0 0 210 35 18 0 0 xavier.urbain 27 100 0 0 0
Le cours décrit trois grands modèles de calcul que sont les machines de Turing, les fonctions récursives et enfin les lambda-calculs.
On s'intéresse d'abord à l'aspect très opérationnel, syntaxique et impératif des machines de Turing. Ce modèle permet de définir des notions de calculabilité : ce qu'il est possible de faire, et de complexité : à quel coût ? Le cours aborde ensuite la description algébrique du comportement des fonctions avec les fonctions récursives de Gödel. La troisième partie est enfin consacrée aux lambda-calculs et aux familles de langages de programmation qui en descendent. Ces trois modèles sont montrés équivalents du point de vue de l'expressivité : bien que très différents, ils décrivent le même ensemble de programmes.

L'un des objectifs est d'acquérir une compréhension de l'objet à programmer et donc indépendance et adaptabilité vis-à-vis des langages disponibles. C'est au travers de la notion de réduction que sont perçus les coûts et contraintes entraînés par l'utilisation de bibliothèques ou solutions externes pour résoudre un problème.
  • Machines de Turing, simplifications
  • Problèmes de décision, réductions
  • Complexité, classes P et NP, complétude
  • Fonctions récursives
  • Lambda-calcul pur, lambda-calculs typés
INF1096M INF1096M Renouvellement UE M1if10 Projet MultiMif Projet transversal de master informatique 3 0 3 6 21 0 0 210 35 18 0 0 aurelien.tabard 0 0 0 0
Bases de la programmation Web (HTML, CSS).
Bases du génie logiciel (modélisation)
Travail en groupe
- planifier et coordonner les efforts
- identifier les blocages techniques ou humain
- gérer les conflits
- évaluer son travail et celui de ses pairs
- formuler un besoin d'aide

Communiquer sur son travail
- documenter son travail
- communiquer via les canaux appropriés au message
- présenter son travail et ses limites
Mettre en pratique les techniques vues dans le M1 :
- Programmation avancée
- Génie Logiciel
- Programmation Web
- Gestion de données

L'UE est structurée autour d'un projet en groupe réalisé sur un semestre. Le projet est réalisé en autonomie.
Serons abordés:
- Outils gestion de projet (git, gitlab, gestion de tâches)
- Outils d'intégration continue (CI, VM, gitlab, sonarqube)
- Analyse des besoins et spécifications fonctionnelles
- Test et suivi qualité

INF1097M+ Création UE M1if11 Projet recherche Ouverture à la recherche 3 0 0 0 30 0 0 210 35 18 0 0 sylvain.brandel 0 0 0 0
Choix du parcours M2, orientation entre industrie et recherche ;

Confrontation au monde de la recherche après une première expérience du monde de l'entreprise en fin de licence, ceci afin d’alimenter les réflexions des étudiants sur leur orientation.

Au cours du premier semestre, les étudiants choisissent un projet proposé et encadré par les enseignants-chercheurs du département informatique, selon leurs choix entre recherche et industrie :
    - Soit un projet orienté recherche : recherche bibliographique, synthèse d'articles scientifiques, développements dans le cadre d'un projet scientifique ;
    - Soit un projet orienté développement pour les étudiants se destinant au monde de l’entreprise.

Les étudiants travaillent sur le sujet choisi, seul ou en binôme, tout au long du second semestre.

La fin du travail aboutit à la rédaction d'un rapport de projet, la réalisation d'une vidéo de vulgarisation du travail et d'un poster qui est affiché et présenté par l'étudiant lors d'une demi-journée d'échange avec les membres du département informatique.
INF1098M+ Création UE M1if04 Apprentissage Apprentissage et analyse de données 3 0 15 6 9 0 0 210 35 18 0 0 ELGHAZEL HAYTHAM haytham.elghaze saida.bouakaz 27 0 26 0 0 0

 Des connaissances de base en programmation Python et des notion en mathématiques/statistiques

Objectifs :

Ce module est composé de parties au sommet de la chaîne de traitement des données qui visent le même objectif de production de connaissances, typiquement pour les décideurs, à partir des données. Il vise à :

●       Permettre aux étudiants d’appréhender les enjeux méthodologiques, technologiques et économiques d’un projet de traitement de données

●       Expérimenter ces enjeux à travers des exemples concrets et pratiques.

●       Assimiler les objectifs du Machine Learning et connaître ses techniques et outils de classification, de régression, de clustering et de sélection de variables.

Plan de l'UE :

●       Tour d’horizon des problèmes & types d’apprentissage (supervisé/non supervisé, classification/régression, single/multi output, statistiques ou non, etc.).

●       Principaux modèles et algorithmes d’apprentissage supervisé (modèles linéaires, réseaux de neuronnes, arbres de décision, Bagging, Random Forest, Boosting) et d’apprentissage non  supervisé (K-means, clustering hiérarchiques, etc.)

●       Les concepts importants préparation de données, critères de performance, overfitting, dilemme biais-variance, validation croisée, données déséquilibrées, données manquantes, ingénieurie des variables, etc.

●       Sélection de variables

●       Text Mining : Préparation de données, TF-IDF, SVD, etc.

●       Mise en pratique sur des jeux de données avec scikit-learn sous Python sur des cas d'études réels.

                             

 

INF1099M INF1099M Renouvellement UE M1if12 Algo distribuée Algorithmique distribuée 3 0 12 9 9 0 0 210 35 18 0 0 elise.jeanneau 27 0 0 0 0
  • Comprendre et maitriser les challenges inhérents aux systèmes distribués
  • Savoir gérer le temps dans un système distribué
  • Savoir lire un algorithme distribué et savoir proposer un algorithme distribué
  • Savoir passer de l'algorithmique à la programmation
  • Savoir tester un programme distribué
  • Savoir intégrer la notion de panne
  • Principes de fonctionnement généraux des systèmes distribués
  • Gestion du temps dans les systèmes distribués (synchronisation et gestion du temps logique)
  • Modèles d'exécution des algorithmes distribués
  • Algorithmes distribués sur les graphes
  • Algorithmes distribués d'élection de leader
  • Consensus dans les systèmes distribués en présence de pannes
INF1100M INF1100M Renouvellement UE M1if13 Web avancé Web avancé et web mobile 3 0 15 0 15 0 0 210 35 18 0 0 lionel.medini 27 100 0 0 0
Enseignements des UEs M1IF01 et M1IF03
  • Spécifier et documenter une Web API
  • Gagner en efficacité de développement via l'utilisation d'outils de haut niveau (frameworks, stack JS)
  • Exploiter les mécanismes "bas niveau" du navigateur en tant que couche d'abstraction standardisée de l'OS
  • Frameworks Web : côté serveur (Spring) et côté client (Vue)
  • Stack JS : outils de gestion de projet, de test, de build...
  • API JS HTML5 et mobiles : capteurs, actionneurs, interactions cross-documents, web workers, Web Assembly
  • Requêtage cross-domaine
  • Applications Web installables et offline
INF1101M INF1101M Renouvellement UE M1if14 BD déductives Bases de données déductives 3 0 15 6 9 0 0 210 35 18 0 0 angela.bonifati angela.bonifati 27 100 0 0 0

L’objectif de l’UE est de fournir aux étudiants les clés pour comprendre les aspects fondamentaux des bases de données déductives, lesquelles trouvent des applications directes pour les raisonnement et l'inférence de connaissances à partir de faits comme nécessaire dans l'intelligence Artificielle Symbolique. 


Partie A : Bases de données déductives


-        Datalog, fondements logiques de l'interrogation de données


-        Sémantiques d'évaluation de règles Datalog  


-        Réécriture de requêtes pour l’optimisation


- Les systèmes de bases de données utilisant Datalog comme langage d'interrogation


Partie B : Transformations entre modèles de données


- Le Data Exchange pour la transformation de données ayant des schémas différents: définition, problème, complexité et algorithmes pour calculer les solutions


INF1102M INF1102M Renouvellement UE M1if15 Réseaux pratique Réseaux par la pratique 3 0 3 0 27 0 0 210 35 18 0 0 isabelle.guerin 27 100 0 isabelle.guerin-lassous@ens-lyon.fr 0 0
Bases des réseaux IP (principes principaux de la pile TCP/IP).
Compétences spécifiques :
- Savoir configurer des réseaux IP
- Savoir analyser les problèmes dans les réseaux IP
- Savoir tester le déploiement d'un protocole dans les réseaux IP 
Cette UE porte sur des notions avancées en réseau abordées sous un angle expérimental :
- adressage IP (IPv4 et IPv6, DHCP, NAT)
- routage statique et routage dynamique
- réseaux locaux (spanning tree,VLANs)
-  sécurité (sécurité sur les ports, firewall)

Il est possible de passer des certifications CISCO CNA lors de cette UE.
 
INF1103M INF1103M Renouvellement UE M1if16 Technique d'IA Technique de l'intelligence artificielle 3 0 18 0 12 0 0 210 35 18 0 0 mathieu.lefort nadia.kabachi 27 100 0 nadia.kabachi@univ-lyon1.fr 0 nadia.kabachi@univ-lyon1.fr 0
Les bases d'intelligence artificielle.

MIF 16 constitue une ouverture vers les techniques de l'Intelligence Artificielle (IA) les plus récentes. L’objectif est de faire découvrir aux étudiants au moins trois techniques d’IA.

  • Réseaux de neurones - Vue générale et présentation rapide du Deep Learning : avoir une idée du domaine (des neurosciences à l'IA), savoir choisir le bon modèle par rapport au problème posé, avoir quelques bases en apprentissage machine, maîtriser le modèle de Kohonen (projection / visualisation de données).
  • Modélisation et simulation à base d’agents – ABMS (Agent Based Modeling and Simulation) : montrer comment utiliser les agents (cognitifs ou réactifs) pour modéliser et simuler des systèmes complexes. Familiariser les étudiants avec l’Ingénierie des SMA et les plateformes de simulation (Jade, MadKit, Zeus, Manta, OpenStarlogo , Netlogo,…).
  • Présentation des domaines de l’Ingénierie de la Connaissance et de l’Ontologie (dans le contexte du Web sémantique).

Mais le contenu peut évoluer selon les années et inclure d’autres techniques.

INF1104M INF1104M Renouvellement UE M1if17 Analyse d'image Analyse d'image 3 0 15 7 8 0 0 210 35 18 0 0 saida.bouakaz saida.bouakaz 27 100 0 0 0
UE recommandé M1if02 : Informatique graphique et image

Ce cours fait suite au cours « Informatique graphique et image ». Dans le schéma général de la vision par ordinateur, on y aborde d’étape de l’analyse.

 Le syllabus du cours :

  • Introduction et bref retour sur segmentation : approche probabiliste markovienne versus déterministes
  • Opérateurs morphologiques, transformée de hough
  • Opérateurs de convolution : définition propriétés ; opérateurs différentiels (Détecteurs de points d'intérêt ou de "coins"), histogramme de gradients orientés, transformation de caractéristiques invariantes à l'échelle, caractéristiques robustes accélérées, saillance.
  • Initiation à l’apprentissage en analyse d’image : après une brève présentation générale des concepts, cette partie sera abordé sous la forme d’une étude de cas.
  • Mise en application : réalisation d’un projet  (réalisation sous python) qui portera sur l’extraction des descripteurs de caractéristiques visuel et une initiation à l’apprentissage automatique et application à la classification et la reconnaissance d’objets.
INF1105M INF1105M Renouvellement UE M1if18 Systèmes avancés Systèmes avancés 3 0 10.5 0 19.5 0 0 210 35 18 0 0 gregoire.pichon 27 100 0 0 0
processus, threads, notions en systèmes d'exploitation
  • Mesurer les performances d'un système (script...) 
  • Comprendre les stratégies mises en place dans un système généraliste et dans un système embarqué
  • Comprendre les différences entre processus et thread (coût, performance...)
  • Programmer un ordonnanceur simple avec accès à des ressources partagées
  • Créer un système minimaliste, comprendre les enjeux de l'embarqué
  • Appréhender les différences entre virtualisation et conteneurisation
  • Mémoire virtuelle: fonctionnement, défauts de page, performances
  • Virtualisation, conteneurisation
  • Entrées/sorties: attente active, attente passive, DMA
  • Ordonnancement Linux
  • Systèmes embarqués
INF1106M INF1106M Renouvellement UE M1if19 Eval des perf Evaluation des performances des systèmes 3 0 12 6 12 0 0 210 35 18 0 0 alexandre.aussem 27 100 0 alexandre.aussem@univ-lyon1.fr 0 0
Méthodologies et des techniques permettant de dimensionner une infrastructure informatique et d’anticiper ses performances.
Compétences spécifiques : Analyse Opérationnelle, chaînes et processus de Markov, files d'attente, simulation de processsus aléatoires.
 

 * Panorama des méthodologies et des techniques permettant de dimensionner une infrastructure informatique et d’anticiper ses performances

*  Présentation des méthodes de modélisation : Analyse Opérationnelle, chaînes et processus de Markov, files d'attente. 
* Introduction aux problématiques de dimensionnement et de Qualité de Service.(QoS) .
* Initiation aux techniques de simulation. et mise en pratique en TP avec le simulateur NS2


INF1107M INF1107M Renouvellement UE M1if20 Projet innovant Projet transversal innovant 3 0 2 0 28 0 0 210 35 18 0 0 erwan.guillou 27 100 0 0 0
Contenu :
    L'objectif de l'UE est de tirer parti des concepts vus dans les différentes UEs de la formation afin de les mettre en oeuvre au sein d'un projet alliant IA, Image, Réseau, ...
    Le projet s'appuie sur les plateformes robotique et réalité virtuelle du département informatique afin de permettre aux étudiants d'aborder les problématiques de la mise en oeuvre d'un projet dans un contexte pratique où il est nécessaire de s'adapter à des containtes physiques fortes.
Objectifs pédagogiques :
    Mise en place de projet en groupes
    Rechercher et mettre en oeuvre les algorithmes les mieux adaptés en vue de la réalisation d'un problème complexe
    Combiner les concepts et méthodes vus dans les autres UEs au sein d'un même projet
    Tirer partie des compétences de chaque membre du groupe pour optimiser l'affectation des tâches au sein du projet
INF1109M INF1109M Renouvellement UE M1if22 Parallélisme Parallélisme 3 0 12.5 7.5 10 0 0 210 35 18 0 0 laurent.lefevre 27 100 0 laurent.lefevre@inria.fr 0 0
Contenu :
- Présentation des enjeux et solutions associés aux architectures parallèles et à la programmation parallèle.
- Algorithmique parallèle, échanges de données, modèles de parallélisation
- Métriques et évaluation de performances (facteur d'accélération, extensibilité, performance énergétique)
- Manipulation des deux principaux modèles de programmation parallèle  (échanges de messages, mémoire partagée) et leur implémentation (MPI, OpenMP).
- TP développement d'applications parallèles hybrides, évaluation et analyse de leurs performances
Objectifs pédagogiques
- Permettre aux étudiants d'appréhender et mesurer les performances d'infrastructures parallèles (matérielles et logicielles)
- Mise en pratique du parallélisme avec utilisation des deux principaux modèles de programmation parallèle  (échanges de messages, mémoire partagée) et leur implémentation (MPI, OpenMP).
INF1112M INF1112M Renouvellement UE M1if25 Traitement signal Traitement du signal et communications numériques 3 0 15 6 9 0 0 210 35 18 0 0 florent.dupont Florence Denis 0 0 0 0
Méthodologiques :
Maîtriser les différents types de signaux et leurs représentations.
Maîtriser les transformations et traitements de base des signaux numériques (son, image...).
Appréhender une chaîne de communication numérique.

Techniques :
- Générer, analyser, traiter des signaux numériques avec Matlab ou Octave.

Nous étudions dans cette UE les bases du traitement du signal qui sont nécessaires à la compréhension de toute chaîne de traitement de signaux analogiques et numériques. L’acquisition, la représentation, le traitement et la transmission de données sont abordés avec des applications utiles pour les spécialités "Image" et "Réseau".

Définition, représentation, traitement analogique

- signal, chaîne d'acquisition et de traitement

- transformées, bases pour l'analyse spectrale des signaux

- corrélation, convolution, amplification, densité spectrale

- rapport signal à bruit

Numérisation des signaux et traitement numérique

- échantillonnage des signaux, filtre anti-repliement

- quantification linéaire et non-linéaire, bruit de quantification associé

- chaîne d'acquisition et de traitement numérique

- transformée de Fourier discrète

Applications : traitement numérique de l'image et du son

Transmission et diffusion de l'information

- chaîne de transmission de l'information

- modulation analogique et numérique

- multiplexage des signaux (temporel ou fréquentiel)

INF1113M INF1113M Renouvellement UE M1if26 Théorie des jeux Théorie des jeux 3 0 15 6 9 0 0 210 35 18 0 0 gerald.gavin 27 100 0 gavin@univ-lyon1.fr 0 0

Notions élémentaires de théorie des graphes (graphes orientés/non-orienté, chemins, circuits)

Notions élémentaires de probabilités

Optimisation linéaire (méthode du simplexe)

 

 

Compétences méthodologiques :

Représenter des jeux sous forme de graphes

Utiliser l’optimisation linéaire pour déterminer un équilibre de Nash dans les jeux à somme nulle à deux joueurs

Appliquer l’algorithme de Kuhn

 

Compétences techniques :

Appliquer la méthode  du simplexe pour déterminer des équilibres de Nash sur des exemples concrets.

L’objectif de l’UE est de se familiariser avec des notions simples mais fondamentales de théorie des jeux, principalement l’équilibre des Nash.

Quelques exemples introductifs de jeux non-coopératifs

Théorie de l’utilité / théorème de Morgenstern – Von Neumann

Représentation des jeux : forme extensive vs forme normale

Concepts de solutions basiques : élimination des stratégies dominées / stratégies prudentes

Equilibre de Nash

Stratégies mixtes / théorème de Nash

Théorème Minmax

Equilibres en sous-jeux parfaits / Algorithme de Kuhn

Introduction aux jeux coopératifs

 

INF1114M INF1114M Renouvellement UE M1if27 Synthèse d'image Synthèse d'image 3 0 15 0 15 0 0 210 35 18 0 0 vincent.nivoliers 0 0 0 0
  • algèbre linéaire et géométrie élémentaire : points, vecteurs, produit scalaire et vectoriel, normale, rotations, translations, projections, applications linéaires et matrices, barycentres, calcul d'aires et de volumes de formes simples
  • programmation en C++ : adresses, références, classes, héritage, compilation de projets complexes impliquant de multiples fichiers et se liant à des bibliothèques externes
  • structures de données classiques pour la représentation d'objets 3D : maillages, surfaces implicites, voxels
  • algorithmes classiques pour le parcours de structures de données : parcours en profondeur et en largeur, graphes
  • manipuler des maillages et leur attacher des données (interpoler dans des faces des données aux sommets, normales sur les sommets, paramétrisation et placage de textures)
  • décomposer des problèmes géométriques en requêtes simples (calcul d'intersections, lancer de rayons, recherche de point le plus proche)
  • accélérer les requêtes géométriques via la création et l'exploitation de hérarchies de volumes englobants (kd-trees, bvh)
  • simuler la circulation de la lumière dans une scène pour des modèles simples : caméra pinhole, éclairage ponctuel et directionnel, matériaux simples
Cette option aborde la chaîne de traitements qui part d'objets 3D décrits via les structures de données usuelles (maillages en particulier) pour produire une image de ces objets observés depuis un point de vue donné. Nous verrons comment manipuler ces structures de données leur attacher des attributs (normales, texture, matériaux), puis comment définir simplement un point de vue. Une fois le point de vue défini, nous verrons les traitements géométriques pour déterminer les objets qui sont visibles, et calculer pour chaque pixel de l'image la couleur qu'il doit contenir (prise en compte du matériau et de l'éclairement, ombrage simple). Nous aborderons enfin le principe des structures de données accélératrices pour répondre efficacement à cette problématique.
INF1115M INF1115M Renouvellement UE M1if28 Logiciel éducatif Logiciels éducatifs 3 0 15 0 15 0 0 210 35 18 0 0 stephanie.j-daubias 27 100 0 0 0
UE accessible après un L3 d'informatique
Ne nécessite pas de pré-requis spécifiques.
Dans certains cas particuliers, master MEEF notamment, cette UE peut être suivie même si l'étudiant n'a pas effectué de licence d'informatique.

- Concevoir, réaliser et évaluer un logiciel éducatif
- Identifier les fonctionnalités à mettre en place pour concevoir des logiciels éducatifs pertinents (différents modules nécessaires, en particulier pour la personnalisation de l'apprentissage)
- Identifier des spécificités des méthodes de conception et d'évaluation de logiciels éducatifs

- Initiation au domaine des logiciels dits éducatifs /pédagogiques (EIAH : Environnements Informatiques pour l'Apprentissage Humain)
- Types de logiciels éducatifs
- Fonctionnalités pour des logiciels éducatifs intelligents
- Personnalisation de l’apprentissage
- Formation à distance
- Conception et évaluation des logiciels éducatifs, outils auteurs

Le cours est illustré de nombreux exemples et est appliqué dans un projet où les étudiants conçoivent et réalisent entièrement un logiciel éducatif.
Le contenu du projet est adaptable selon l'orientation des étudiants (aspects graphiques dans un serious game, gestion statistique des données d'apprentissage, apprentissage automatique, etc.).

http://liris.cnrs.fr/stephanie.jean-daubias/enseignement/LogEdu/
INF1116M INF1116M Renouvellement UE M1if29 Cryptographie Cryptographie et sécurité 3 0 15 5 10 0 0 210 35 18 0 0 fabien.laguillaumie 27 100 0 0 0

Arithmétique modulaire (fonction d’Euler, théorème de Fermat-Euler)

 


Compétences méthodologiques :

Comprendre les enjeux et les limites de la cryptographie

Découverte de quelques primitives cryptographiques (cryptosystèmes à clés publiques, signature numérique)

Elaborer et analyser des protocoles simples de calculs multi-parties

 

Compétences techniques :

Implémenter des primitives cryptographiques ainsi que des protocoles simples de calculs multi-parties

 


L’objectif de l’UE est de comprendre les enjeux et les limites de la cryptographie. Il s’agira aussi de comprendre en détail quelques primitives cryptographiques  

Présentation générale de la cryptographie 

                Cryptographie vs sécurité informatique

Cryptographie symétrique vs cryptographie à clé publique

Définition de la notion de sécurité sémantique

Cryptographie à clé publique basée sur la factorisation

-          RSA

-          Cryptosystème de Paillier

Signature numérique

                Schéma de signature basée sur RSA

Cryptosystèmes homomorphes : applications au calcul-multi-parties

Elaboration et analyse de quelques exemples simples de protocoles.

INF1117M INF1117M Renouvellement UE M1if37 Animation Animation en synthèse d'image 3 0 12 0 18 0 0 210 35 18 0 0 alexandre.meyer 27 100 0 0 0
- Bonne notion d'algorithmique et de programmation
- Connaissance du langage C++
- Connaitre les bases de la synthèse d'images est un plus.

L'objectif de l'UE est d'aborder l'animation en synthèse d'images sous différents aspects. 

La première partie de l’UE présente l’emploi de modèles physiques pour simuler des phénomènes naturels tels que les fluides, le mouvement d’objets 2D déformables (comme des tissus) ou 3D qu’ils soient déformables ou rigides.

La seconde partie de l’UE concerne l’animation de personnages sous deux approches : l’animation basée donnée et l’animation basée physique. L’animation basée donnée est essentiellement issue de capture de mouvements pour permettre des animations de personnages réalistes. L’animation basée physique présente l’animation de personnages virtuels par contrôle d’un corps articulé plongée dans une simulation physique. 

Les cours théoriques seront illustrés par des TP réalisés essentiellement en C++/OpenGL, complétés éventuellement par une présentation d’un moteur d’animation tel que généralement présent dans les moteurs de jeu.

Notions abordées en cours et/ou TPs

Animation d'objets par modèles physiques :

- Rappel des concepts physiques de base (forces, lois de Newton, etc.)

- Méthodes d'intégration numériques

- Animation d'objets déformables

- Dynamique des objets rigides

- Détection et traitement des collisions entre les objets de la scène


Animation basée donnée pour des personnages :

- Rappel sur l’animation basée squelette et skinning/blendshape

- Présentation des technologies de Capture de Mouvement

- Graphe d'animation


Animation de personnage par contrôle dans une animation physique :

- Rappel sur les fondamentaux de l’animation interactive basée-physique

- Contrôleur de mouvement en boucle fermée

- Régulateur proportionnel et dérivateur

- Maintien de l’équilibre et suivi de mouvement

INF1151M Renouvellement UE BDBIO Bases de données pour la bioinformatique 3 0 10.5 7.5 12 0 0 210 35 18 0 0 fabien.duchateau
INF1152M+ Création UE M1if21 Stage Stage 18 0 0 0 0 0 0 210 35 18 0 0 lionel.medini 27 100 0 0 0
Aucun
Cette UE est une UE destinée aux alternants. Elle leur permettra de capitaliser les crédits liés à leur présence en entreprise. Ces crédits sont soumis aux modalités de validation définis dans le contrat d'alternance des étudiants.
Dépendantes du stage choisi
INF1158M INF1158M Renouvellement UE IMST 1 Information, communication, médiations 6 0 10 45 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0

Cette UE vise à délivrer aux étudiants une connaissance critique des principaux cadres théoriques sur lesquels reposent les modèles de l’information et de la communication et leur prise avec les problématiques contemporaines du numérique. Ce panorama critique mettra au cœur des analyses la question de la médiation, à travers une perspective diachronique qui permet d’en situer la filiation technique, scientifique et médiatique.

L’UE abordera de manière approfondie, à partir d’une approche SIC, élargie aux sciences humaines et sociales, la pluralité des enjeux et des implications de la médiation numérique. Outre la présentation des auteurs historiques identifiés à cette notion, les recherches les plus récentes sur cette question seront présentées de manière à pointer les avancées les plus significatives sur l’épistémologie des concepts mobilisés.
Enfin, l’UE prépare les étudiants aux fondamentaux de la méthodologie de la recherche en sciences sociales et les initie aux problématiques de la propriété intellectuelle (Droit d’auteur, Copyright, Creative Commons…) et de la RGPD.

L’UE s’appuie à un recueil de textes lus et commentés, des interventions de chercheurs experts et de case studies étudiés en cours.

Modalités de contrôle de connaissance : CCI

Bibliographie indicative
Bougnoux, D. (1995). La communication contre l’information. Paris: Hachette. Retrieved from citeulike-article-id:13230768
 Gardiès, C., & Fabre, I. (2012). Définition et enjeux de la médiation numérique documentaire. In X. Galaup (Ed.), Développer la médiation documentaire numérique. Villeurbanne: Presses de l’enssib, Collection Boîte à Outils.
Miège, B. (2015). Contribution aux avancées de la connaissance en Information - Communication. INA Editions.
Miège, B. (2004). L’information-communication, objet de connaissance. Bruxelles: de Boeck.
INF1159M INF1159M Renouvellement UE IMST 2 Textualité numérique 3 0 6 21 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 75 07 25 0 0
La documentation technique et le traitement automatique des langues ont une longue tradition (Bernhard, P. Traitement automatique des langues et documentation [s.n.], 1979) avec des applications en IST (Falcao de Almeida Souza, R. Le traitement automatique des langues et le traitement de l'information en médecine ENSB, 1990). Cela implique également la recherche d’information (Jacquemin, C. Traitement automatique des langues pour la recherche d'information ATALA-Hermès sciences publ., 2000) et la compréhension des différents modèles mis en œuvre.

Le cours porte sur la maîtrise des formats et techniques d’encodage de documentation techniques textuelles et autres supports numériques. A travers les nombreux formats mis en œuvre, un état de l’art présentera l’historique des formats d’encodage et des études de cas avec la mise en œuvre de solution technique pour le parsing et l’exploitation des données provenant de l’IST. Nous pouvons citer par exemple Unicode - https://home.unicode.org/ -, le format XML et plus spécifiquement le Journal Article Tag Suite (JATS) - https://jats.nlm.nih.gov - qui est utilisé pour la description de la littérature scientifique. Elle repose sur la norme Z39.96-2012 tel que proposée par le American National Standards Institute. Enfin, ce cours abordera le champ des humanités numériques et plus spécifiquement les recommandations pour l’encodage de documents textuels avec La Text Encoding Initiative - https://tei-c.org/ .

Les compétences développées sont une maîtrise de la structure textuelle et documentaire mise en œuvre dans le champ de l’IST avec une connaissance théorique de base sur les modèles et technologies mises en œuvre ; prise en main d’outils de lexicométrie ; développer un esprit de synthèse quant au techniques et outils mis en œuvre.

1 – Le document textuel Historique et contexte
2 – XML et JATS : un format structurel du document
3 – La TEI : quelle finalité ?
4 – Le traitement Automatique des langues : Histoire et Principaux Modèles
5 – Panorama des outils de fouilles textuelles
6 – Présentation d’Iramuteq et TXM
7 – Les principaux algorithmes de la Recherche d’Information
8 – R et l’exploitation textuelle
9 – Les mathématiques de la donnée textuelle

Modalités de contrôle de connaissance : CCI

Bibliographie indicative

-    Bernhard, P. Traitement automatique des langues et documentation [s.n.], 1979
-    Falcao de Almeida Souza, R. Le traitement automatique des langues et le traitement de l'information en médecine ENSB, 1990
-    Jacquemin, C. Traitement automatique des langues pour la recherche d'information ATALA-Hermès sciences publ., 2000
-    Iana Atanassova, Marc Bertin. Semantic Facets for Scientific Information Retrieval. Valentina Presutti; Milan Stankovic; Erik Cambria; Iván Cantador; Angelo Di Iorio; Tommaso Di Noia; Christoph Lange; Diego Reforgiato Recupero; Anna Tordai. Semantic Web Evaluation Challenge. SemWebEval 2014, 475, Springer, pp.108-113, 2014, Communications in Computer and Information Science, 978-3-319-12023-2.
INF1160M INF1160M Renouvellement UE IMST 3 Données de la sciences 6 0 10 45 0 0 0 210 35 18 0 0 l.joly1 cherifa.boukacem 71 100 0 0 0
Cette UE propose un cadre d’analyse des données de la science pluridisciplinaire, mettant l’accent de leur exploitation dans les modalités contemporaines de la pratique scientifique. Le premier apport de cette UE est de donner une culture historique, anthropologique et disciplinaire du statut de la donnée scientifique dans l’histoire de la pratique scientifique. Le second apport vient ensuite présenter le cycle de vie de la donnée scientifique avec un développement autour du cycle de vie numérique de la données en prenant pour exemple plusieurs domaines, relevant des sciences de la vie et des sciences humaines et sociales. Le troisième et dernier versant de cette UE abordera les questions de descriptions, de traitement et de représentation dans un environnement numérique seront abordées à partir des principaux travaux rattachés au 4ème paradigme de la science et de ses standards technologiques. Les cadres politiques européens autour des données, notamment leur partage et leur réutilisation (FAIR) seront présentés en détails de manière critique pour en souligner les avantages et les limites.

Le dernier versant de L’UE s’attachera aux aspects des pratiques sociales qui permettent de révéler la distorsion entre les cadres normatifs, notamment ceux attachés aux données ouvertes, et la résistance des pratiques disciplinaires qui trouvent leur explication dans la nature des objets de recherche ou la dimension compétitive de la recherche.  De même, des exercices permettront aux étudiants de mettre en pratique les apprentissages du cours en vue de la mise en place d’un plan de gestion de données, auprès d’un collectif de chercheurs, ou d’un projet.

Modalités de contrôle des connaissances : CCI

Bibliographie indicative
-    Borgman, C. L., Wallis, J. C., & Enyedy, N. (2007). Little Science Confronts the Data Deluge: Habitat Ecology, Embedded Sensor Networks, and Digital Libraries. International Journal on Digital Libraries, 7(1–2), 17–30. https://doi.org/10.1007/s00799-007-0022-9
-    Borgman, C. (2015). Big Data, Little Data, No Data. The MIT Press.
-    Mongeon, P., Robinson-Garcia, N., Jeng, W., & Costas, R. (2017). Incorporating data sharing to the reward system of science: Linking DataCite records to authors in the Web of Science. Aslib Journal of Information Management, 69(5), 545–556. https://doi.org/10.1108/AJIM-01-2017-0024
-    Pryor, G. (2012). Managing Research Data.
INF1161M INF1161M Renouvellement UE IMST 4 Ingénierie des savoirs scientifiques et techniques 6 0 10 45 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
Cette UE permet aux étudiants d’acquérir les connaissances fondamentales en informatique (langage web et langages de programmation) leur permettant la gestion, le traitement et la curation des connaissances scientifique (documents, données, brevets). A partir de connaissance théoriques, méthodologiques et computationnelles, le cours permet aux étudiants d’acquérir la maîtrise des dispositifs techniques et numériques (BDD relationnelles, plateformes, systèmes d’information, infrastructures numériques) info-documentaires tout en leur donnant une connaissance approfondie des besoins et des pratiques des usagers et des modes de management associés. Cette UE combinera de manière inédites les savoirs faire techniques et managériaux de la mise en place des chaînes documentaires avec les principes de l’architecture de l’information ancrée dans des environnements numériques qui détermine une typologie des classifications de contenus en vue d’une meilleure utilisabilité et une meilleure expérience usager (UX). Enfin, cette UE prend en charge les questions actuelles autour de la transitions bibliographiques dont les enjeux techniques et socio-économiques reposent sur l’exploitation des métadonnées.

Modalités de contrôle des connaissances : CCI

Bibliographie indicative

-    Glushko, Robert (2013). The disicpline of organizing. MIT Press

-    Salaün, Jean-Michel, Habert, Benoît (2015). Architecture de l’information : méthodes, outils, enjeux. De Boeck. ADBS.
INF1162M INF1162M Renouvellement UE IMST 5 Recherche et veille stratégique de l'info. scient. numérique 6 0 10 45 0 0 0 210 35 18 0 0 pascal.bador cherifa.boukacem 71 100 0 0 0

Cette UE vise à donner aux étudiants les connaissances les plus récentes quant aux sources spécialisées (bases de données, moteurs de recherches, outils de gestion de références bibliographiques) pour la recherche de contenus scientifiques (documents, données, brevets) spécialisés ainsi que les méthodologies de recherche expertes associées. L’UE octroie aux étudiants la maitrise des techniques de veille scientifiques numériques, fondées sur des dispositifs collaboratifs, permettant de partager et de valoriser les produits de la veille collectée.

INF1163M INF1163M Renouvellement UE IMST 6 Anglais spécialisé 3 0 0 30 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
L’objectif du cours est d’acquérir le vocabulaire de l’anglais professionnel afin d’être en confiance avec ses pairs. Entraînement aux fonctions rhétoriques de la communication orale et écrite afin de pouvoir communiquer lors de situations professionnelles en France ou à l’étranger. Mises en situation.

Connaissances et compétences acquises par les étudiants :

Travail sur les bases grammaticales et lexicales ainsi que l’acquisition de connaissances et compétences en anglais visant les points suivants :

    Travail sur CV, lettre de motivation et simulation d’entretien
    Anglais des affaires : savoir mener et/ou intervenir lors d’une réunion avec ses pairs
    Rédaction de mémos, e-mails professionnels et/ou articles, minutes de colloques
    Discussions professionnelles (in situ, Skype etc)
    Expression et compréhension orales à partir d’un travail d’analyse sur des vidéos et participation à des congrès
    Présentation de stage et missions
    Travail en parallèle des cours de spécialité sur la circulation de la connaissance scientifique dans la société
    Debating Society construite sur le modèle anglophone où les étudiants apprennent à débattre en spontané


Bibliographie indicative  

    Understanding Intercultural Communication by Stella TING-TOOMEY & Leeva CHUNG Ed Oxford University Press
    Business English Idiompedia : A Handbook of Conversational Expressions for French Learners of Business English by Emmanuel ESE
    How To Write Effective Business English : Excel at E-Mail, Social Media and All Your Professional Communications Ed Fiona TALBOT
    Coaching across Cultures : New Tools For Leveraging National, Corporate and Professional differences Ed Philippe ROSINSKI


INF1164M INF1164M Renouvellement UE IMST 7 Communication scientifique et diffusion ouverte des savoirs 6 0 10 45 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0

Cette UE dresse un cadre d’analyse de la communication scientifique et de la diffusion des savoirs dans leurs mutations vers des modalités numériques et ouvertes.  Les modèles du Libre accès et de la science ouverte seront au cœur de cette UE.
Les étudiants feront l’acquisition des connaissances théoriques, conceptuelles et technologiques des environnements pluriels de la recherche, de l’innovation et de la communication scientifique. De manière corollaire, la présentation des nouveaux modèles de communication de la science ouverte seront exposés de manière critique pour en souligner les enjeux les plus débattus et ceux qui véhiculent des questions éthiques pour la pratique scientifique. L’approche développée est pluridisciplinaire (histoire et sociologie des sciences, SIC, informatique, politique et éthique). Le cours apportera aux étudiants une maitrise avancée des concepts, des théories, des environnements numériques, des standards technologiques et des cadres d’analyse de la communication scientifique et de la diffusion ouverte des savoirs.

Modalités de contrôle de connaissance : CCI

Bibliographie indicative
-    Bush, V. (1945). As We May Think. The Atlantic, 112–124.
-    Fyfe, A., Coate, K., Curry, S., Lawson, S., Moxham, N., & Røstvik, C. M. (2017). Untangling Academic Publishing: A History Of The Relationship Between Commercial Interests, Academic Prestige And The Circulation Of Research. https://doi.org/10.5281/zenodo.546100
-    Gingras, Y., & Gemme, B. (2006). L’emprise du champ scientifique sur le champ universitaire et ses effets. Actes de La Recherche En Sciences Sociales, (164), 50–60.
-    Latour, B., & Wooglar, S. (2003). La vie de laboratoire: la production des faits scientifiques. Nature Sciences Sociétés, 5(4), 82–83. https://doi.org/10.1016/s1240-1307(97)87727-8
-    Meadows, J. (1998). Communicating research. Academic Press.
-    Nowotny, H., Scott, P., & Gibbons, M. (2001). Re-thinking Science. Knowledge and the Public in an Age of Uncertainty. Cambridge: Polity Press.
-    Suber, P. (2012). Open Access. MIT Press. Essential knowledge series.
INF1165M INF1165M Renouvellement UE IMST 8 Communication professionnelle appliquée  3 0 0 30 0 0 0 210 35 18 0 0 aurelie.olivesi cherifa.boukacem 71 100 0 0 0
Le cours vise à donner aux étudiants la maitrise des techniques de communication professionnelle écrite et orale, principalement numérique, en prenant appui à des situations professionnelles, issues des projets des étudiants. Les étudiants mobiliseront les acquis du cours pour produire individuellement et/ou collectivement des documents écrits et des présentations orales. Le cours permettra de distinguer les différents modes de communication, et les nuances de leur déploiement, dans le milieu de l’entreprise ou des organismes publiques. 

INF1166M INF1166M Renouvellement UE IMST 9 Insertion professionnelle 3 0 0 30 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
L’UE prépare les étudiants à la maitrise des techniques de recherche de stage, de mise en média de leurs CV sur les plateformes numériques spécialisées, et aux méthodes de networking leur permettant d’intégrer des réseaux de compétences. L’UE permet aux étudiants d’acquérir une connaissance de l’univers du travail (réglementation, droit du travail, éthique et déontologie…). Enfin, grâce à des simulations et des mises en situation filmées, les étudiants perfectionneront leur maitrise des techniques d’entretien.



INF1167M INF1167M Renouvellement UE IMST 10 Gestion de projet 3 0 0 30 0 0 0 210 35 18 0 0 pascal.bador cherifa.boukacem 71 100 0 0 0

Cette UE vise à donner aux étudiants la maitrise des fondamentaux de la gestion de projet. En s’appuyant à un contexte professionnel réel (commanditaire et projet), les étudiants encadrés par le responsable de l’UE déploient une maitrise d’ouvrage et maitrise d’œuvre autour d’un projet dimensionné pour les besoins pédagogiques du Master. Durant ce projet, les étudiants mobiliseront l’ensemble des connaissances et des compétences acquises dans les autres UE afin de réaliser leur travail.

INF1168M INF1168M Renouvellement UE IMST 11 Mémoire stage / Alternance 15 0 0 0 0 0 12 210 35 18 0 0 cherifa.boukacem marc.bertin 0 0 0 0


Le mémoire de stage ou d’alternance rend compte du travail réalisé individuellement par l’étudiant ou l’étudiante durant la réalisation de leur mission en milieu professionnel. Il traite d’une problématique définie en accord avec ses tuteurs (professionnel et universitaire) pour laquelle l’étudiant ou l’étudiante mobilisent l’ensemble des acquis d’apprentissages de leur formation. Le mémoire témoigne donc de la capacité des étudiants à opérationnaliser leurs connaissances et leurs compétences au profit de la réalisation des tâches associées à leur mission en entreprise ou en organisme public.
Le mémoire fait l’objet d’une note et d’une soutenance évaluée et qui à l’instar du mémoire fait également l’objet d’une note.


INF1180M+ Création UE M1if02 Image Informatique graphique et image 3 0 15 0 15 0 0 210 35 18 0 0 eric.galin saida.bouakaz 0 0 0 0

L’objectif de cette UE est d'acquérir les fondamentaux en synthèse d’image et analyse d’image.

Synthèse

Outils mathématiques fondamentaux, modélisation d’objets tridimensionnels, représentation des matériaux, modèles de visualisation et algorithmes de rendu temps réel et de synthèse d’image réaliste.

  • Outils mathématiques : vecteurs, matrices, transformations solides par compositions de matrices homogènes, fonctions de bruit.
  • Modélisation : objets surfaciques (maillages, objets définis par révolution, extrusion, carte de hauteurs), objets volumiques (surfaces implicites, voxels)
  • Rendu : modèle d’éclairement, visualisation temps réel et synthèse d’image réaliste, lancer de rayon

Analyse
Cette partie du cours propose une introduction aux domaines du traitement d’images. Il est complété par un cours proposé en option dans cette même formation. Dans ce cours, on aborde du principe de l’acquisition d’une image, de la notion de bruit et de son filtrage. On y introduit l’interprétation au sens du signal ainsi que le principe mathématique qui est à la base de ces méthodes. Le programme englobe :

  • Introduction et rappels de quelques définitions et vocabulaire : discrétisation et outils fondamentaux (représentation d’une image niveaux de gris/couleur/texture, distance, connexité, …)
  • Opérateurs de filtrage : bref rappel des transformations à base d’histogramme (seuillage, amélioration d’image, rehaussement de contraste),opérateur de convolution
  • Segmentation d’images :  On visitera les 2 méthodes les plus connues : Division/fusion (split & merge) et la méthode d’agglomération de régions (Region growing). L’accent sera mis sur la complexité et le choix des structures de données adéquat. La partie travaux pratique permettra aux étudiants d’appréhender la sensibilité de chacune des méthodes en fonction du type de l’image.
Mise en application : TP sous la forme d'un projet pour une application industrielle ou médicale (réalisation sous OpenCv en python ou C++)
INF1181M+ Création UE M1if30 Prog mobile Programmation d'applications mobile 3 0 10 0 20 0 0 210 35 18 0 0 sylvain.brandel 0 0 0 0
Ce cours introduit les techniques de conception et développement d'applications informatiques pour les appareils mobiles (smartphones, tablettes tactiles, etc.).
L'accent est mis sur la mobilité : géolocalisation, objets connectés, bases de données embarquées, synchronisation avec des BDD distantes, mise en oeuvre du Cloud.
En pratique, conception et développement d'un projet mobile sur plateformes iOS et Androïd.

INF1182M+ Création UE M1if31 Insertion pro Insertion professionnelle 3 0 0 30 0 0 0 210 35 18 0 0 sylvain.brandel 0 0 0 0
- Conception d'un CV et d'une lettre de motivation
- Préparation à un entretien d'embauche
- Préparation de CV et de lettres de motivation
- Simulation d'entretiens d'embauche
- Gestion de conflits
- Compréhension du monde de l'entreprise
- Savoir-être en entreprise
INF1183M+ Création UE M1if32 Prog fonctionnelle Programmation fonctionnelle avancée 3 0 9 9 12 0 0 210 35 18 0 0 xavier.urbain
INF1184M+ Création UE M1if33 Stage optionnel Stage optionnel 0 0 0 0 0 0 0 210 35 18 0 0 sylvain.brandel
INF2001M Renouvellement UE INFO-Stage Stage d'application professionnelle ou de recherche 21 0 0 0 0 0 0 210 35 18 0 0 jacques.bonneville saida.bouakaz
INF2001P+ Création UE Professionnalisation Communication et environnements professionnelles 9 0 0 80 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 100 0 0 0

L’objectif de cette UE est de faire acquérir aux étudiants une identité et une culture professionnelle (savoirs, savoir-faire, aptitudes, méthodes, techniques, outils, etc.) leur permettant de mieux s’orienter dans leur futur milieu professionnel et dans l’environnement politique, économique et institutionnel de la Société de l’Information. Il s’agira également de leur donner les fondamentaux pour mieux gérer l’information scientifique et numérique dans un cadre professionnel, et mieux comprendre le discours des professionnels (ingénieurs, chercheurs….).

Cette UE comprend des enseignements sur :

  • les acteurs, du vocabulaire spécialisé (français et anglais), les lieux de rencontre et d’échange de la profession de l’information et de la documentation ;
  • les dispositions et procédures légales relatives à l’activité d’information et documentation, notamment en matière de propriété intellectuelle (droit d’auteur, droit de propriété industrielle, etc.) ;
  • les techniques d’expression orale et écrite de la communication interpersonnelle et institutionnelle (en français et en anglais).
INF2002P+ Création UE Projet tutoré Projet tutoré 6 0 20 0 0 0 0 210 35 18 0 0 marc.bertin cherifa.boukacem 71 100 0 0 0

Il s’agit de permettant à l’étudiant de mettre en pratique de manière collective des compétences acquises durant les trois premiers mois de la formation. Les étudiants travaillent dans des conditions réelles sur une commande professionnelle émanant d’un commanditaire réel, dans le domaine de gestion de l’information scientifique et technique. Ils doivent analyser une situation professionnelle, choisir et mobiliser les méthodologies ou outils les mieux adaptés pour répondre à la mission qui leur est confiée et proposer une solution adaptée à la situation professionnelle concernée. 

Chaque projet tuteuré est conduit par une équipe projet (constitué de 3 à 4 étudiants), entre fin décembre et fin avril à raison d’une journée par semaine. Les équipes projet rendent compte de l’avancée de la mission et de la mise en œuvre des actions dont ils ont la charge lors de réunions régulières avec leur enseignant référent et le commanditaire du projet. Le travail de chaque équipe projet donne lieu à la rédaction de divers documents écrits (p.ex. lettre de mission, cahier de charges, rapport d’expérience, etc.), à des présentations orales (p.ex. lors de comités de pilotage ou de réunions avec le commanditaire du projet, etc.) et à la réalisation des livrables (p.ex. base de données, portail documentaire, etc.). Le projet tuteuré est évalué à travers à un livrable final, un rapport écrit, et à une soutenance publique devant un jury.

Le travail des étudiants sera accompagné de cours sur la méthodologie de gestion de projet.
INF2003P+ Création UE Stage en entreprise Stage ou activité en entreprise 15 0 0 0 0 0 12 210 35 18 0 0 marc.bertin cherifa.boukacem 71 100 0 0 0

Il s’agit d’un stage individuel en entreprise de 12 semaines minimum et 16 semaines maximum, à partir de début avril permettant à l’étudiant de mettre en pratique des compétences acquises durant la formation en participant à la réalisation d’un projet en lien avec la gestion de l’information et de la documentation scientifique et technique (p.ex. réorganisation intellectuelle ou physique de la documentation, mise en place de système de veille ou de GED, déploiement de portail documentaire, etc.) dans tout organisme public ou privé : grandes ou petites entreprises, associations, collectivités territoriales, administrations centrales, organismes consulaires, etc.

L’étudiant en stage est suivi par deux encadrants : un tuteur universitaire choisi dans l’équipe pédagogique de la licence selon ses compétences par rapport aux sujets proposés et un responsable de stage dans l’organisme d'accueil, membre du personnel compétent sur la mission proposée.

Le stage donne lieu à la rédaction d’un rapport de stage d’une quarantaine de pages ainsi qu’à une soutenance orale de trente minutes devant un jury composé de deux assesseurs universitaires et du tuteur professionnel.
INF2012L INF2012L Renouvellement UE LIFGRAPHIQUE Introduction à l'Informatique graphique 3 0 9 6 15 0 0 210 35 18 0 0 eric.galin florence.zara 7 100 0 eric.galin@liris.cnrs.fr 0 florence.zara@liris.cnrs.fr 0
Il est recommandé d'avoir suivi les UE INF1010L et INF2025L.
Cette UE permet d'acquérir les notions fondamentales en Informatique Graphique, dont la modélisation d'objets 3D, leur visualisation et les principes d'animation. 

L’objectif de cette UE est d’aborder et d'acquérir les fondamentaux en Informatique Graphique : image discrète et représentation des espaces de couleur, outils mathématiques fondamentaux, modélisation d’objets tridimensionnels, représentation des matériaux, modèles de visualisation et algorithmes de rendu temps réel et de synthèse d’image réaliste, modèles simples d’animation.

Notion traitées en cours

  • Outils mathématiques : vecteurs, matrices, transformations solides par compositions de matrices homogènes.
  • Modélisation : maillages, objets définis par révolution, extrusion, carte de hauteurs.
  • Rendu : modèle d’éclairement, visualisation temps réel et synthèse d’image réaliste.
  • Matériaux : texture, transparence, imposteurs.
  • Animation : modèle par poses clefs et interpolation.

Notion traitées en TP

  • Modélisation de maillages à l’aide de primitives géométriques, surfaces de révolution.
  • Affichage d'objets représentés par un maillage.
  • Rendu temps réel : shading temps réel et modèles d’éclairement locaux.
INF2013L INF2013L Renouvellement UE LIFprolog Programmation logique 3 0 12 0 18 0 0 210 35 18 0 0 nathalie.guin 27 100 0 0 0
Il est recommandé d'avoir suivi l'UE LIFAPR : Algorithmique et programmation récursive
Bases de logique des propositions et des prédicats
Bases de la programmation logique
Premières techniques d'Intelligence Artificielle : recherche dans un graphe d'états, résolution de problèmes de satisfaction de contraintes
Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
Lire et analyser une spécification, en tirer une réalisation
Analyser et décomposer une tâche pour concevoir un algorithme
Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
Concevoir un algorithme récursif adapté à une structure de données
Dérouler un algorithme
Établir un jeu de tests répondant à une spécification et le mettre en œuvre
Identifier et utiliser le paradigme de programmation logique
Utiliser un nouveau langage de programmation
Évaluer la complexité algorithmique d’une solution / d’un algorithme proposé
Évaluer en pratique les performances d’une solution
Manipuler les fonctions booléennes
Cette UE propose une initiation à l'Intelligence Artificielle à travers la découverte du langage de programmation Prolog.


Programme :
- Rappels de logique des propositions
- Logique du premier ordre : calcul des prédicats, principe de résolution, unification, réfutation
- Programmation en PROLOG : manipulation d'atomes et de listes, bouclues mues par l'échec, points de choix et coupure
- Applications en Intelligence Artificielle : jeux logiques (par exemple sudoku), cryptarithmétique, résolution de problèmes d'IA

Notes de cours : http://liris.cnrs.fr/nathalie.guin/Prolog/index.html
INF2014M INF2014M Renouvellement UE INFO-Droit Droit de l'informatique et de l'internet 3 0 30 0 0 0 0 210 35 18 0 0 alexandre.aussem raphaelle.chaine 0 0 0 0
  1. Protection des logiciels

  2. Protection des données

    • Les informations nominatives (Loi Informatique et Liberté)

    • La protection des bases de données

  3. Fraudes Informatiques

    • Vol d’informations

    • Messagerie rose

    • Pédophilie

    • Atteintes aux systèmes de traitement automatisé de données

  4. Un droit pour l’Internet

    • Le site Internet et la loi informatique et libertés

    • Les atteintes au droit d’auteur

    • Les infractions de presse

    • La loi applicable a l’Internet

    • La responsabilité des hébergeurs et des fournisseurs d’accès

    • Les noms de domaines

INF2015L INF2015L Renouvellement UE LIFAPCD Conception et développement d'applications 6 0 9 12 39 0 0 210 35 18 0 0 alexandre.meyer nicolas.pronost 27 100 0 0 0
Il est recommandé d'avoir suivi l'UE LIFAPI de première année et l'UE LIFAPSD du semestre 3.
Les compétences, savoirs et savoirs-faire principaux développés dans cette UE sont les suivants :
  • Compétences :
    • Programmer un logiciel implémentant une spécification fonctionnelle et technique
  • Savoirs :
    • Identifier et manipuler les représentations des données en machine
    • Savoir illustrer la bonne exécution d’un programme en programmant les bonnes sorties issues de bons jeux de tests
  • Savoirs-faire :
    • Analyser pour préciser le besoin client et produire un cahier des charges
    • Identifier les données utiles au fonctionnement d’un logiciel
    • Comprendre et exécuter un cahier des charges
    • Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
    • Intégrer les problématiques de tests, de robustesse, de qualité et de sécurité dans l’architecture d’un logiciel
    • Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML
    • Produire les documentations d’un logiciel (interne et externe)
    • Planifier les étapes d’un développement
    • Lire et analyser une spécification, en tirer une réalisation
    • Analyser et décomposer une tâche pour concevoir un algorithme
    • Choisir une structure de données pertinente
    • Concevoir un algorithme itératif ou récursif adapté à une structure de données
    • Dérouler un algorithme
    • Lire et analyser une spécification, en tirer une réalisation
    • Résoudre un problème logiciel (erreur à la compilation, à l’exécution)
    • Utiliser les outils de diagnostic (debug à l'exécution, diagnostic mémoire, évaluation de performance)

L’UE «Conception et Développement d’Applications » se trouve dans l’ensemble des UE d’algorithmique et de programmation de la licence STS mention Informatique. L’objectif de cette UE est de donner une première expérience de développement d’une application informatique de taille assez conséquente pour des étudiants ayant suivi déjà 3 UE d’algorithmique et de programmation avant.

Nous abordons essentiellement trois domaines de compétences.

  • Conception de l’architecture d’un logiciel : programmation modulaire, diagramme de dépendances des classes, boucle d’évènements, utilisation de librairies externes, multiplateforme ;
  • Outils d’aide à la mise au point de programme : débogueur, documentation du code, analyse de performances, makefile, gestion de version de code (git).
  • Gestion de projet : cahier des charges, diagramme de Gantt, documentations, rapport, démo, présentation.
Une part importante de cette UE est consacrée à la conception et au développement d’une application durant les TP, par groupe de 2 ou 3 étudiants.
INF2016L Renouvellement UE LIFTER Informatique TER en Informatique 3 0 0 0 0 25 0 210 35 18 0 0 elodie.desseree
INF2025L INF2025L Renouvellement UE LIFAPSD Algorithmique, programmation et structures de données 6 0 18 18 24 0 0 210 35 18 0 0 nicolas.pronost 27 100 0 0 0
Il est recommandé d'avoir suivi l'UE LIFAPI de première année.

Les pré-requis pour cette UE sont les suivants :
  • Savoir écrire un algorithme simple en langage algorithmique
    • Manipuler des variables de type booléen, entier, réel, caractère
    • Manipuler des tableaux et chaînes de caractères
    • Connaître les structures de contrôle (tests, boucles, ...)
    • Savoir découper un programme en fonctions et procédures
    • Connaître les modes de passage des paramètres
    • Etre familier avec l’organisation de la mémoire
  • Savoir implémenter tout ceci dans le langage C/C++
Les compétences, savoirs et savoirs-faire développés dans cette UE, avec leurs niveaux d'acquisition, sont les suivants :
  • Compétences :
    • Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser (Notion)
    • Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates (Notion)
    • Programmer un logiciel implémentant une spécification fonctionnelle et technique (Notion)
    • Assurer la pertinence, la fiabilité et la qualité d’une solution algorithmique / logicielle (Notion)
  • Savoirs :
    • Identifier et manipuler les représentations des données en machine (Notion)
    • Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes (Notion)
    • Reproduire, décrire la chaîne d’interprétation ou de compilation et savoir interpréter/compiler une application avec les systèmes de build standards des langages standards (Notion)
  • Savoirs-faire :
    • Lire et analyser une spécification, en tirer une réalisation (Application)
    • Dérouler un algorithme (Application)
    • Résoudre un problème logiciel (erreur à la compilation, à l’exécution) (Application)
    • Identifier les données utiles au fonctionnement d’un logiciel (Notion)
    • Comprendre et exécuter un cahier des charges (Notion)
    • Utiliser des composants logiciels existants et les intégrer dans un développement (Notion)
    • Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel (Notion)
    • Intégrer les problématiques de tests, de robustesse, de qualité et de sécurité dans l’architecture d’un logiciel (Notion)
    • Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML (Notion)
    • Analyser et décomposer une tâche pour concevoir un algorithme (Notion)
    • Choisir une structure de données pertinente (Notion)
    • Concevoir un algorithme itératif ou récursif adapté à une structure de données (Notion)
    • Lire et analyser une spécification, en tirer une réalisation (Notion)
    • Évaluer la complexité algorithmique d’une solution / d’un algorithme proposé (Notion)
    • Évaluer en pratique les performances d’une solution (Notion)
    • Utiliser les outils de diagnostic (debug à l'exécution, diagnostic mémoire, évaluation de performance) (Notion)

Le programme de l'UE est le suivant :

  • Manipulation des principales structures de données utilisées en informatique
    • Types primitifs: entier, réels, caractères, booléens, pointeurs
    • Types agrégés: tableaux et structures
    • Gestion des entrées-sorties: standard et fichier
    • Structures dynamiques: tableaux, piles, files, listes, arbres, fichiers
  • Introduction à la programmation orientée objet
    • Membre, spécificateur d’accès, surcharge d’opérateur
    • Type de données abstrait et programmation modulaire
  • Algorithmique
    • Algorithmes de tri (sélection, insertion, fusion)
    • Introduction à la notion de complexité algorithmique
INF2026L+ INF2026L Création UE LIFPF Programmation fonctionnelle 3 0 9 9 12 0 0 210 35 18 0 0 emmanuel.coquery 27 100 0 0 0
  • Savoir utiliser un éditeur de code
  • Savoir utiliser la ligne de commande Linux/MacOSX (bash)
  • Avoir une connaissance d'un langage de programmation
Spécifiques:
  • Comprendre et exécuter un cahier des charges
  • Utiliser des composants logiciels existants et les intégrer dans un développement
  • Choisir une structure de données pertinente
  • Identifier, utiliser et choisir les différents paradigmes de programmation, au moins les classiques : fonctionnelle, procédurale, orientée objet, évènementielle, logique
L'UE programmation fonctionnelle aborde la notion de fonction comme étant une valeur au même titre que des valeurs plus simples. Cela facilite la généralisation des traitements et la paramétrisation des comportements (comme dans le cadre de certaines pratique de programmation concurrente). On y aborde plus particulièrement les points suivants:
  • lambda-calcul: le langage fonctionnel théorique fondamental
  • typage: types de bases et types paramétrés
  • retour sur la récursivité et lien avec les types de structures
  • ordre supérieur
  • fonctions pures et non-pures, fermetures
  • généralisation des traitements sur les collections
  • introduction à la programmation asynchrone
Ces notions seront mises en pratique à travers un langage de programmation fonctionnelle fortement typé.
INF2028L INF2028L Renouvellement UE LIFBDW Bases de données et programmation web 6 0 19.5 18 22.5 0 0 210 35 18 0 0 fabien.duchateau said.hacid 0 0 0 0
Introduction aux réseaux et au web (INF1014L) :
https://offre-de-formations.univ-lyon1.fr/front_fiche_ue.php?UE_ID=16361
Algorithmique programmation impérative, initiation (INF1010L) :
https://offre-de-formations.univ-lyon1.fr/front_fiche_ue.php?UE_ID=16357
Identifier et manipuler les représentations des données en machine
Utiliser des composants logiciels existants et les intégrer dans un développement
Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
Concevoir et implémenter une base de données relationnelle à partir d’un cahier des charges
Lire et analyser une spécification, en tirer une réalisation
Identifier et manipuler les représentations des données en machine
Lire et analyser une spécification, en tirer une réalisation
Présenter un ensemble d’informations à l’utilisateur à travers une interface (Web, client lourd)
Concevoir une page web contenant un formulaire ainsi que sa mise en forme, y associer un traitement côté client et générer des contenus dynamiques côté serveur
Exploiter une base de données relationnelle : utiliser le langage SQL et coupler la base de données avec le logiciel
Introduction aux Systèmes de Gestion de Bases de Données (SGBD) relationnels.
Modélisation d'une base de données relationnelle (Merise).
Découverte du langage d'interrogation SQL.
Programmation web (HTML, CSS, PHP).
Réalisation d'un projet de création d'un site web avec base de données.
INF2029L INF2029L Renouvellement UE LIFARCHI Architecture des ordinateurs 6 0 18 18 24 0 0 210 35 18 0 0 sylvain.brandel sylvain.brandel 0 0 0 0
Il est recommandé d'avoir suivi l'UE de L1 Bases de l'architecture pour la programmation.
- Différentes architectures d'ordinateurs
- Codage des données en machine (entiers, nombres rationnels)
- Bases de la logique propositionnelle
- Circuits combinatoires (logique anarchique, structurée, en tranche)
- Circuits séquentiels (bascules, registres, compteurs, automates, RAM)
- Un exemple de langage d'assemblage
- Fonctionnalités d'un processeur
- Mémore cache, pipelines
L'objet de ce cours est de présenter les principes fondamentaux d'architecture des ordinateurs et des systèmes d'exploitation :

Après quelques bases de logique propositionnelle, nous étudierons la composition matérielle d'un ordinateur et la façon dont celui-ci fonctionne. Nous partirons des fondamentaux : portes, logique anarchique, puis évoluerons via la logique en tranches et circuits séquentiels jusqu'à la construction d'une carte mère et à l'exécution des programmes.

Nous aborderons donc les aspects purement matériels, les notions d'architecture et de jeu d'instructions, pour remonter ensuite vers le langage d'assemblage pour LC3.

Cette étude nous amènera à regarder la structuration mémoire, en particulier les mécanismes de cache et leurs conséquences sur les algorithmes, et les mécanismes usuels d'optimisation de code (déroulage de boucles, pipeline, etc.).

Programme :
-  Circuits de base : circuits logiques élémentaires,  unité arithmétique et logique, circuits mémoires.
-  Micro-architecture : notions sur l'organisation des processeurs, chemin de données.
-  Architecture et principes des jeux d'instructions : exemple, le processeur LC3
-  Programmation bas niveau : programmation LC3 avancée (récursion, E/S)
-  Assemblage, et lien avec la compilation.

Les TP illustreront tous les concepts du cours : un logiciel de simulation de circuit, Logisim, sera utilisé pour expérimenter la construction de circuits et construire une partie d'un processeur. Un simulateur-LC3 sera utilisé pour la programmation assembleur.
INF2108M INF2108M Renouvellement UE CCI-TC-CSI-GL Conception des systèmes d'information, Génie logiciel 3 0 15 15 0 0 0 210 35 18 0 0 parisa.ghodous 27 100 0 0 0
- Capable de modéliser un système d'information organisationel d'une entreprise
- Capable de modéliser les données, les activités et l'organisation
- Capable de modéliser les logiciels

L’UE se décompose en deux parties :

 

-     Modélisation Merise

 

Le but est de présenter aux étudiants, d'un point de vue pratique, les différents formalismes pour la modélisation des données et des activités. Ceci est concrétisé par l'apprentissage de l'Atelier Génie Logiciel (AGL) Graphtalk.

 

Le TD présente l'étude des différents formalismes : Entités Association (MCD), Diagramme flux de données (MCT), Diagramme Organisationnel de traitement (MOT), Modélisation Logique de Données (MLD), Modélisation Physique de Données (MPD)

 

Le TP est composé des parties suivantes :

- Etude des fonctionnalités générales de GraphTalk comme outil de modélisation

- Etude des extensions des méta-modèles prédéfinis

- Construction des modèles de données et des modèles de traitement

- Construction du méta-modèle des données et des traitements

 

- Modélisation UML

 

La partie UML a pour objectif d’initier les étudiants à la modélisation UML. Après un bref historique sur UML, ce cours présente : les principaux diagrammes utilisés en UML. Afin de voir concrètement l’utilisation de ce modèle de représentation, une étude de cas est proposée aux étudiants. Cette étude servira de fil conducteur au TD et TP associés à cette partie de l’UE (Logiciel Rose).


INF2129M INF2129M Renouvellement UE CCI-TC-Algo/Prog Algorithmique et Programmation 6 0 30 0 30 0 0 210 35 18 0 0 behzad.shariat eric.galin 0 0 0 eric.galin@liris.cnrs.fr 0
Module Algorithmique
L'objectif de ce module est double :
Présenter les structures algorithmiques classiques : listes, piles, files, arbres, ainsi que les algorithmes classiques les concernant.
On mettra en valeur les démarches récursives. On insistera sur la modélisation de ces structures par des tableaux ou des listes chaînées et sur la notion de types de données abstraits permettant ensuite de bien aborder la programmation objet.
Donner des méthodes efficaces pour concevoir des algorithmes complexes et les développer. En particulier on insistera sur la conception et la décomposition d'un algorithme en sous parties plus simples. Le cours et les travaux dirigés seront synchronisés avec le module de programmation.
Module programmation
En parallèle au module d'algorithmique :
  • Présentation de la syntaxe d'un langage procédural couramment utilisé dans l'industrie, le langage C/C++.
  • Étude des différentes implémentations possibles des structures de données et des algorithmes classiques vus dans le module « algorithmique ».
  • Méthodologie de programmation.
INF2163M INF2163M Renouvellement UE SRS-RA Réseaux Avancés 3 0 20 3 7 0 0 210 35 18 0 0 thomas.begin thomas.begin 0 0 0 0
  • Commutation de paquets
  • Adressage IPv4
  • Encapsulation
  • Configuration d'une interface réseau, d'un commuateur et d'un routeur
  • Architecture d'un réseau
  • Segmentation d'un VLAN
  • Routage dynamique
  • Adressage IPv6
  • Généralités (Réseaux de coeur, réseaux d'accès, retards et pertes de paquets, architecture)
  • Couche Application (communication partagée, Socket, Connexion à distance, FTP, Mail, HTTP)
  • Couche Transport (Multiplexage, TCP, UDP)
  • Couche IP (Routage intra-AS et inter-AS, IPv6)
  • Couche Liaison (CSMA, Ethernet, VLAN)
  • SDN/NFV
INF2166M INF2166M Renouvellement UE SRS-ASR Administration des Systèmes et des Réseaux 3 0 9 0 21 0 0 210 35 18 0 0 olivier.gluck olivier.gluck 0 0 0 0
  • Comprendre le fonctionnement des applications d’Internet.
  • Concevoir une application communicante sur un réseau local ou Internet.
  • Mettre en œuvre, installer et configurer les applications d’Internet permettant l’administration d’un réseau local, la gestion des utilisateurs et de leurs fichiers, le nommage des machines, la messagerie électronique.
  • Savoir installer et administrer un réseau local avec les services classiques associés à la gestion des utilisateurs et de leurs fichiers avec les systèmes Unix et Windows.
  • Savoir mettre en place la redondance dans ces systèmes et en comprendre les mécanismes.
  • Etre capable d’identifier les limites d’une solution dans un contexte de production.
Nous présenterons les concepts liés au fonctionnement des applications réseaux, celles d’Internet en particulier. L’objectif est d’une part de comprendre ce qu’est une application réseau, les concepts qui sont associés, les différentes façons de les concevoir, et d’autre part d’étudier le fonctionnement des principales applications d’Internet : connexions à distance, transfert et partage de fichiers, gestions des utilisateurs, des noms de machines, du courrier électronique...
Les étudiant.es seront confrontés aux problématiques du métier d’administrateur systèmes et réseaux avec un volume important de travaux pratiques sur des plates-formes Unix et Windows. Il s’agit en particulier d’installer, configurer et étudier par la pratique les principaux services qui sont répandus sur Internet et dans les entreprises équipées d’un réseau informatique. Elle permet d'aborder l'installation et la configuration d'un parc de machines utilisant plusieurs systèmes d'exploitation (Windows et Linux). 

En particulier, les services suivants seront abordés : 
  • Accès à des fichiers distants (NFS, SMB)
  • Gestion d'utilisateurs distants, des noms de machines... (LDAP et Active Directory)
  • Les serveurs de noms (DNS)
  • Le courrier électronique (POP, IMAP, SMTP, WebMail)
Concernant les environnements Windows, les points suivants seront abordés :
  • Active Directory : Gestion multi sites, Relation d'approbation , Gestion des réplications, GPO, Gestion des ACL (dans AD / ntfs), Durcissement de la sécurité (application d'une politique multi Tiers), Scripting en powershell, Radius (configuration de swicth en 802.1x) 
  • Environnement Remote Desktop Services (RDS) : Politique de gestion de l'environnement, Mise en ferme, Sécurité avec (AppLocker) 
  • Cluster Haute Disponibilité : Service DHCP, Serveur de Fichier 
  • Interopérabilité (Linux) : Kerberos / LDAP / NFS
INF2178M INF2178M Renouvellement UE INFO-Métier Connaissance métier 3 0 0 30 0 0 0 210 35 18 0 0 cherifa.boukacem 0 0 0 0

Méthodologiques :
Cette UE vise à faire réflechir les étudiants sur la démarche scientifique et à leur fournir des outils pour son application dans la vie courante et dans les activités de recherche.

Techniques :
Les principaux contenus pédagogiques de l'UE sont: les fondements théoriques de la démarche scientifique (qu'est ce qui est scientifique et pourquoi), le paysage de la recherche publique et privée (organismes, financements, métiers, ...), les processus de publication (bibliométrie, paysage de la publication, méthodes pour la bibliographie et la présentation, ...), les bases des méthodes statistiques pour l'évaluation (pourquoi et comment évaluer empiriquement un phénomène)

Pratiques :
Simulation d'entretiens d'embauche, préparation de cv et de lettre de motivations
Gestion de conflits

L'UE est articulée autour des thématiques suivantes :

- fondements théoriques de la démarche scientifique (principes, applications, ...)

- le paysage de la recherche publique et privée (organismes, financements, métiers, ...), les processus de publication (bibliométrie, paysage de la publication, méthodes pour la bibliographie et la présentation, ...)

- l’éthique de la recherche

- compréhension du monde de l'entreprise


L'UE pourra se décliner différemment suivant les parcours de master avec une part plus ou moins importante accordée à chacune des thématiques.

INF2233M+ Création UE CCI-TC-SGBD Systèmes de Gestion de Bases de Données 6 0 40 0 20 0 0 210 35 18 0 0 parisa.ghodous 27 100 0 0 0
- Capable de communiquer les avantages et les inconvenients d'utilisation d'une base de données
- Capable de communiquer les différents types de unité de stockage
- Capable de choisir un type de base de données pour son domaine d'étude
- Capable de conçevoir une base de données relationnelle
- Capable de faire des requêtes sur une base de données relationnelle avec le langage SQL
  • Présentation des concepts principaux des Bases de données
  • Comparaison des différents types de bases de données
  • Présentation des concepts principaux des bases de données relationnelles
  • Algèbre relationnel
  • Normalisation d’une base de données relationnelle
  • Applications et exemples de création et manipulation d’une base de données relationnelle
  • Présentation de SQL d’un point de vue théorique
  • Illustration de SQL/ORACLE d’un point de vue pratique aussi bien pour l’utilisateur final que pour le développeur d’applications
  • Utilisation de SQL FORMS
  • Utilisation de SQL dans un programme C, C++, Java
INF2245M INF2245M Renouvellement UE CCI-TC-SER Systèmes d'exploitation et Réseaux 3 0 15 0 15 0 0 210 35 18 0 0 jean-patrick.gelas nicolas.louvet 0 0 0 0
Cette UE propose une prise en main du système d'exploitation GNU/Linux (commmandes de base; rédaction de scripts shell simple), ainsi qu'une initiation au fonctionnement des systèmes d’exploitation et des réseaux.
INF2300+ 0 0 0 0 0 0 0 0 0 0 0 0
INF2308M INF2308M Renouvellement UE SRS-RSFM Réseaux Sans Fil et Mobiles 6 0 35 10 15 0 0 210 35 18 0 0 florent.dupont isabelle.guerin 0 0 0 0
Maîtrise des principes de la transmission sans fil.
Compréhension des aspects techniques sous-jacents aux normes actuelles en réseauw Wifi et en réseaux mobiles.

L’enseignement proposé vise à connaître les architectures et les principes techniques liés aux communications sans fil et communications mobiles. Les enjeux de sécurisation, de mobilité mais aussi les enjeux économiques sont également abordés.

Mots clés :

Principes des transmissions sans fil, propagation des ondes radio, architecture cellulaire, gestion de la mobilité, partage du canal, généralités sur la couche liaison de données dans les réseaux sans fil, réseaux cellulaires (2G, 3G, 4G, 5G), Réseaux Wifi (802.11a/b/g/n/ac), communication dans l’internet des objets

INF2309M INF2309M Renouvellement UE SRS-SS Sécurité Systèmes 3 0 15 0 15 0 0 210 35 18 0 0 yves.caniou yves.caniou 0 0 0 0
Une assez bonne connaissance d'Unix et de la ligne de commande est souhaitable, ainsi que des bases en administration système telles que la gestion des utilisateurs, des droits, l'installation de logiciels et leur configuration, la gestion des services.
Cryptographie, fonctions de hachage, chiffrement symétrique et asymétrique, signatures et certificats, méthodes de sécurisation système (gestion paquets, PAM, services, chiffrement de données), protocoles et outils de sécurité (dont ssh, gpg), filtrage réseau (iptables), transfert réseau chiffré (IPSec, VPN), architectures SSO.
L’objectif de cet enseignement est de placer les étudiants dans le contexte de la sécurisation système et
réseau, en cernant d’abord les nombreux enjeux, puis en distinguant les problèmes de filtrage, de chiffrement, et de leurs utilisations et du déploiement de leurs implantations.
L’enseignement proposé vise à connaitre les moyens de sécurisation système et réseau utilisés dans la
plupart des infrastructures actuelles. Les aspects plus théoriques sont directement injectés dans les
techniques et outils vus en TP. Les enjeux de sécurisation, dont les enjeux économiques, sont également
abordés dans cette UE.
INF2310M INF2310M Renouvellement UE SRS-CSV Cloud, Stockage et Virtualisation 3 0 10 0 20 0 0 210 35 18 0 0 jean-patrick.gelas jean-patrick.gelas 0 0 0 0
Système et Réseau de M1 Informatique.
Techniques :
  • Comprendre les spécificités d’un environnement de Cloud computing.
  • Acquérir une solide culture de la virtualisation des systèmes.
  • Valider la composante stockage en terme de performance d’accès et de robustesse dans une grande infrastructure.

Le but de cette UE est de présenter les principes de la virtualisation et du stockage dans les systèmes informatiques. Ces problématiques seront abordées sous l’angle du cloud computing où les ressources (stockage et calcul) sont souvent nombreuses et distantes.

Les principaux thèmes abordés seront les suivants :

  • Introduction au Cloud computing en se focalisant sur la couche de service infrastructure (IaaS).
  • Les principes et technologies de virtualisation (ex : translation binaire, paravirtualisation et virtualisation par assistance matérielle)
  • Ecosystème de la virtualisation : hyperviseurs, machines virtuelles, containers, technologies de migrations,  switchs virtuelles.
  • Les infrastructures de stockage : étude des technologies FC (Fiber Channel) et iSCSI mais aussi des systèmes de stockage distribués tel que Ceph.
  • Les solutions (hyper)convergées (systèmes combinant serveurs, baies de stockage et équipements réseau en une référence produit unique). 

Mots-clés : Virtualisation, Stockage, IaaS, Cloud computing.

INF2315M INF2315M Renouvellement UE IM-TC-MG Modélisation géométrique 3 0 20 0 10 0 0 210 35 18 0 0 eric.galin behzad.shariat 27 100 0 eric.galin@univ-lyon1.fr 0 behzad.shariat@univ-lyon1.f 0

Présentation des modèles géométriques fondamentaux utilisés en informatique graphique, et des algorithmes permettant leur manipulation :

  • Modèles volumiques : surfaces implicites (arbres de construction, signed distance fields, blobs), représentations par voxels
  • Modèles surfaciques : formes paramétriques à pôles (Bézier, B-Splines, NURBS), surfaces de révolution et d’extrusion
  • Déformations : déformations de formes libres, déformations à partir de courbes de contrôles
  • Méthodes numériques pour la modélisation (interpolation, approximation de points dans l’espace)
  • Fonctions de bruit, bruit par convolution de noyaux, bruit de Gabor
INF2316M INF2316M Renouvellement UE IM-TC-GAM Maillage et géométrie algorithmique 3 0 20 0 10 0 0 210 35 18 0 0 raphaelle.chaine 27 70 61 30 0 0
Cette UE s'appuie sur les compétences en algorithmique abordées en Licence et en Master 1 (structures de données efficaces, compétences en algorithmique des graphes), en programmation (maitrise du C++) ainsi qu'en optimisation. Des connaissances de base en géométrie euclidienne sont également indispensables.
  • Acquisition d'un socle de compétences en génération, transmission, simplification et raffinement de maillages.
  • Notion de calcul géométrique en informatique.
  • Géométrie algorithmique
  • Domaines applicatifs : modélisation de formes pour le calcul et la simulation numérique, Vision par ordinateur
La popularisation des techniques de numérisation 3D a entraîné l’essor des techniques de modélisation numérique des objets. Il est en effet indispensable de bénéficier de traitements efficaces et rapides pour obtenir, transmettre, éditer et déformer des modèles de qualité, à partir de données brutes (nuages de points) parfois très bruitées et redondantes. Le but de cet enseignement est d’introduire la notion de calcul géométrique utile à la modélisation numérique des formes. On approfondira en particulier la question de la génération de maillage comme discrétisation de la géométrie d’une forme 2D ou 3D et on présentera les approches de la Géométrie Algorithmique pour les générer, simplifier, raffiner et manipuler, en s’appuyant sur des structures géométriques aux propriétés particulières.

Maillages :
  • Définitions, structures de données et codage 
  • Génération de maillages de surfaces et de volumes
  • Reconstruction 3D à partir de nuages de points (CRUST, Cocone, Power Crust) 
  • Simplification et raffinement de maillages 
  • Amélioration de maillages (2D, surfaciques et volumiques)
  • Propriétés différentielles sur un maillage
  • Paramétrisation optimale
Calcul Géométrique et Géométrie Algorithmique :
  • Notions élémentaires de GA en 2D (cartes planaires, graphes, triangulation, enveloppe convexe)
  • Construction de l'enveloppe convexe en 2D: algorithme optimal (en diviser pour régner)
  • Algorithmes incrémentaux
  • Triangulation de Delaunay en 2D et 3D (et dual: diagramme de Voronoï) : 
                     - définitions générales, propriétés, 

                     - algorithme optimal de construction de la triangulation de Delaunay (diviser pour régner)
                     - intégration de contraintes
    -Diagrammes de puissances

Aspects logiciels : programmation en C++, recours à QT (interface graphique)



INF2317M INF2317M Renouvellement UE IM-TC-SI3D Synthèse d'image 3D 3 0 20 0 10 0 0 210 35 18 0 0 jean-claude.iehl 0 0 0 0
Une part importante de cette UE est consacrée à des TPs (C++, écriture de shaders).
Le but de cette UE est de présenter de manière approfondie les approches existantes pour plonger un objet virtuel dans un environnement lumineux.
  • pipeline graphique, opengl 4 et shaders
  • introduction lumière, matière et interactions
  • introduction lancer de rayons
  • structures accélératrices pour le lancer de rayons
  • introduction simulation réaliste / méthodes de Monte Carlo
  • méthodes de réduction de variance, estimateurs Monte Carlo efficaces
INF2318M Renouvellement UE IM-TC-TCI Traitement et compression d'image 6 0 24.5 0 35.5 0 0 210 35 18 0 0
INF2319M INF2319M Renouvellement EC IM-TC-ATIV Analyse, traitement d'image et vision 3D 4 0 20 0 20 0 0 210 35 18 0 0 saida.bouakaz 27 100 0 0 0
Pas de pré-requis, mais UE recommandée : M1if17 Analyse d'image (UE dispensée en M1 informatique)

L'objet de ce cours est de donner aux étudiants les concepts et les principales approches pour aborder les problèmes fondamentaux de l’analyse d'images et la vision 3D, y compris l'acquisition d'images et les modèles radiométriques de formation d'images, la formation d'images dans la caméra, les concepts de traitement d'images et les concepts avancés comme l'estimation et le suivi du mouvement, la classification d'images, la compréhension de scènes, la classification et le suivi d'objets, la fusion d'images et le recalage d'images, etc.

L'objet de ce cours est de donner aux étudiants les concepts et les principales approches pour aborder les problèmes fondamentaux de l’analyse d'images en général avec un focus sur la vision 3D. Les sujets abordés comprennent les modèles de caméra, la géométrie multi-vues, la reconstruction. Afin d’aborder des algorithmes portant sur des tâches de vision de haut niveau (reconnaissance/classification, reconstruction 3D, …), sans exiger de prérequis, le cours englobera quelques méthodes d’extraction de caractéristiques.

Le syllabus ci-dessous donne un aperçu du programme qui sera abordé. cours consacrés à chacun d'entre eux :

Partie : Vision et apprentissage/réseaux de neurones : reconnaissance et traitement

  • Introduction à la vision 3D : formation de l'image / géométrie projective coordonnées homogènes, transformations géométriques
  • Modèle de caméra (modèle pinhole) / calibrage de caméra
  • Géométrie épipolaire et mise en correspondance
  • Reconstruction de la 3ème dimension monoculaire/multi-vue
    • Stéréoscopie/ par projection de silhouettes (Shape from Silhouette)/ par creusage (space curving)

Partie : Vision et apprentissage/réseaux de neurones : reconnaissance et traitement

  • Apprentissage et vision : quelques méthode et modèles de réseaux de neurones
  • Mouvement et flux
  • Reconnaissance d’entité d’expression/de mouvement/

Application : chacune des parties comporte un projet qui sera à réaliser en python/C++  ; avec des logiciels et des outils support : OpenCV, Tensorflow/Pytorch.

INF2320M INF2320M Renouvellement EC IM-TC-CTC Codage, transmission, compression d'image et de vidéos 2 0 4.5 0 15.5 0 0 210 35 18 0 0 thierry.excoffier 27 100 0 0 0

  • Codage des entiers, flottants, caractères, dates, arbres, sons, images, vidéo, 3d…
  • Théorie de l'information, égalisation de probabilités, Shannon-Fano, Huffman, codage arithmétique..
  • Compression de données sans pertes, LZ77, LZ78, LZW, Block Sorting, LZMA2
  • Compression de signaux : son, image et vidéo.
  • DCT, Ondelettes, fractale (IFS).
  • Compression et décompression progressive.
  • Applications à la stéganographie et aux marquages des signaux.
INF2321M INF2321M Renouvellement UE IM-TC-ACAMP Animation, corps articulés et moteurs physiques 3 0 17 0 13 0 0 210 35 18 0 0 alexandre.meyer florence.zara 27 100 0 0 0
- Bonnes notions en algorithmique et programmation
- Connaissance du C++
- Base de la synthèse d'images

L'objectif de l'UE est d'aborder l'animation en synthèse d'images sous différents aspects : de l'animation basée donnée (essentiellement issues de capture de mouvements, permettant des animations de personnage de grande qualité) à l'animation basée sur des modèles physiques (permettant la simulation de phénomènes réels tels que les fluides, le feu, le mouvement de tissus, etc.).  Les cours théoriques seront illustrés par des réalisations pratiques.


Notions abordées en cours et/ou TP

Animation par modèles physiques
  • Dynamique des particules : rappel de cinématique (position, vitesse, accélération), systèmes de particules, lois de Newton, forces (friction, ressort, gravité, équilibre).
  • Moteur physique : méthodes d'intégration numérique (Taylor, Euler, Runge-Kutta, Verlet-Leapfrog), stabilité des méthodes d'intégration numérique.
  • Animation d'objets déformables : caractéristiques des objets déformables, Mécanique des Milieux Continus (MMC), système masses-ressorts.
  • Dynamique des objets rigides : concepts de la dynamique des objets rigides (repère objet, repère monde), évolution de l'état de l'objet rigide, structure de données de l'objet rigide, algorithmes de simulation.
  • Détection et traitement des collisions : points de collision, réponse à la collision (force d'impulsion, force de contact), détection des collisions.
Animation de personnage virtuel
  • Cinématique directe, quaternion, interpolation de rotation/transformation.
  • Skinning, rigging.
  • Cinématique inverse : géométrique, Gradient, Jacobien, heuristique comme CCD/Fabrik.
  • Pilotage d'un personnage : machine à état, graphe d’animation, motion matching. 
  • Ouverture vers les approches récentes de Machine Learning pour l’animation.
Contrôleur de mouvement
  • Animation interactive basée sur la physique : rappels des fondamentaux.
  • Conception de contrôleurs de mouvement : contrôle dans l’espace des articulations et feedback. local, contrôle par réseau de réponse à stimulus et contrôle par optimisation de dynamique contrainte.
  • Contrôleur proportionnel et dérivé, machine à états finis de poses clés, optimisation de paramètres de contrôleur.

 

Outils employés en TPs

TPs réalisés  en C++/OpenGL avec l’utilisation de la librairie gKit2light développée par Jean-Claude Iehl et du moteur physique Box2D, ou encore utilisation du moteur Unity pour l’animation de personnage virtuel. 

INF2322M INF2322M Renouvellement UE IM-TC-M-Stat-Freq Modèles statistiques et fréquentiels pour l'image 3 0 20 0 10 0 0 210 35 18 0 0 florent.dupont julie.digne 0 0 0 0
notions d'optimisation, d'analyse (dérivation, intégration), d'algèbre linéaire (matrices, décompositions en valeurs propres, vecteurs propres), probabilités, graphes.
  • Maîtrise des transformations dans un espace fréquentiel des images (représentation, interprétation, traitement)
  • Résolution de problèmes par des méthodes statistiques ou probabilistes.
Partie fréquentielle
  • Signaux élémentaires : Dirac, échelon, fonction porte. 
  • Notion de système (linéaire, invariant...),  réponse impulsionnelle, indicielle, fonction de transfert
  • Transformation de Fourier et ses propriétés
  • Échantillonnage 
  • Filtrage linéaire, produit de convolution
  • Analyse multi résolution
  • Décomposition en ondelettes, algorithme FWT, Haar, Daubechies...
  • Transformées de base utilisées en compression d'image (JPEG, JPEG2000)
  • TP : effectués sous Matlab ou Octave pour illustrer les notions vues en cours et appréhender les transformations spectrales appliquées aux images. Illustration avec la compression d'images.
Partie statistique (contenu appelé à évoluer en fonction de ce qui sera fait en Machine Learning en L3 et M1)
  • Champs de Markov: Synthèse de textures, Segmentation d’images par graph cuts
  • Normes et Problèmes de Regression, RANSAC, IRLS
  • Classification par K-moyennes, Expectation-Maximization, Maximisation de la variance
  • Traitement d’images par patch: patchmatch, résumé visuel, non local means, méthodes parcimonieuses
  • Introduction au half-toning
  • TPs: 3 TPs à rendre sous matlab ou octave mais peut évoluer vers python (rapide sondage fait auprès des étudiants non concluant sur python vs matlab)
INF2325M INF2325M Renouvellement UE IM-CartGraph Rendu et programmation des cartes graphiques 3 0 20 0 10 0 0 210 35 18 0 0 jean-claude.iehl 0 0 0 0
initiation openGL 3
programmation parallele sur processeurs graphiques.
programmation parallèle sur processeurs graphiques.
  • utilisation compute shaders / openGL 4, shader storage buffers,
  • exécution coherente,
  • acces mémoire,
  • synchronisation, externe et interne, opérations atomiques, barrières,
  • transfert de données entre application et carte graphique
INF2326M INF2326M Renouvellement UE IM-Techno Technologies embarquées et réalité augmentée 3 0 12 12 6 0 0 210 35 18 0 0 erwan.guillou 27 100 0 0 0
- Bonnes connaissances en algorithmique et programmation
- Connaissances des langages C++ et Python
- Bases d'analyse d'images et de synthèse d'images
L'objectif de cette UE est de profiter des plateformes Robotique et Réalités Virtuelles et Immersives afin de voir l'application des technologies et concepts vus dans d'autres cours au sein de projets de plus grande envergure.
INF2329M INF2329M Renouvellement UE IM-RECH1 Recherche en informatique graphique et image 1 3 0 20 10 0 0 0 210 35 18 0 0 raphaelle.chaine 0 0 0 0
Méthodes avancées en image et vidéo (UE en partenariat avec l'Ecole Centrale de Lyon)
INF2330M INF2330M Renouvellement UE IM-RECH2 Recherche en informatique graphique et image 2 3 0 20 10 0 0 0 210 35 18 0 0 raphaelle.chaine 0 0 0 0
UE s'appuyant sur les compétences des équipe de Recherche du LIRIS.
Le contenu de cette UE est destiné à évoluer tous les 2 ou 3 ans pour donner un apercu des dernières tendances en Recherche en Informatique Graphique et Image. Cela peut également impliquer un partenariat avec les UEs d'autres Masters.
INF2331M INF2331M Renouvellement UE IM-RECH3 Recherche en informatique graphique et image 3 3 0 20 10 0 0 0 210 35 18 0 0 raphaelle.chaine 0 0 0 0
UE s'appuyant sur les compétences des équipe de Recherche du LIRIS.
Le contenu de cette UE est destiné à évoluer tous les 2 ou 3 ans pour donner un apercu des dernières tendances en Recherche en Vision. Cela peut également impliquer un partenariat avec les UEs d'autres Masters.
INF2333M INF2333M Renouvellement UE IM-MED-Mouv2 Instrumentation en imagerie médicale et suivi de mouvement 3 0 12 18 0 0 0 210 35 18 0 0 hamid.ladjal 0 0 0 0

Acquérir et traiter des données

Traiter des images

Gérer des informations

Transmettre et coder des informations

Recherche en imagerie pour les médecins et les professionnels de santé en formation

Analyse et conception de systèmes intelligents

 

L'UE proposée aux étudiants de deuxième année Master Image du département informatique. L'objectif de cette UE est de présenter les différentes techniques d'imagerie médicale et de faire comprendre les principes physiques, technologiques et algorithmiques des principales modalités d’imagerie biomédicale. De se familiariser avec la manipulation d'images médicales 2D, 3D, 4D (3D +t), et d'acquérir des compétences depuis l’acquisition et la formation des images jusqu'à leur reconstruction et leur visualisation.

Le programme de l’UE est :

- Introduction : différents types d’imagerie biomédicale

- Principales modalités d’imagerie biomédicale
- Bases physiques, techniques et algorithmique de l'IRM, les ultrasons et le scanner RX
- Intérêt du traitement d’images biomédicales et de l’imagerie médicale numérique :
  • Caractéristiques d’une image numérique
  • Format des données et reconstruction
  • Signal, contraste et bruit
  • Stockage et échange des images médicales….
- Modélisation et suivi de mouvement
  • Segmentation et reconstruction 3D
  • Modélisation et maillages volumiques
  • Suivi de mouvement en imagerie
- Application : Radiothérapie et l’hadron thérapie.

-TPs en salle d'imagerie Labex PRIMES
INF2335+ Création UE IM-TC-App Apprentissage Profond et Image 3 0 15 0 15 0 0 210 35 18 0 0 alexandre.meyer mathieu.lefort 27 100 0 0 0
Quelques notions d'apprentissage machine est un plus.

Après un rapide rappel sur les approches classiques d’apprentissage machine (SVM, Random Forests, boosting, dictionary learning, etc.), l’UE présentera les méthodes récentes de réseaux de neurones profonds (deep learning). Le cours détaillera le principe des réseaux (notion de poids, fonction d’activation, traitement des données), leur entrainement (optimisation, SGD, backpropagation), et donnera aussi certaines techniques de régularisation pour aider à un meilleur apprentissage en limitant les problèmes de sur-apprentissage.

Le cours présentera comment ces approches d’apprentissage sont utilisées pour attaquer les problèmes classiques liés à l’image comme la classification, l'extraction d'informations, la reconnaissance de formes, le suivi, la segmentation, etc. Un large panel des différents types de réseaux (CNN, auto-encoder, LTSM, GAN, etc.) sera donné, ainsi que leurs applications à des problèmes élaborés allant de l’édition (super-résolution, transfert de motifs, de palettes) jusqu’aux méthodes génératives (génération de visages, de maillage, d’animations, de textures, etc.) plus ou moins guidé par l’utilisateur.

INF2341M+ Création UE TIW-DEV-IS Intergiciels et Services 3 0 9 0 21 0 0 210 35 18 0 0 lionel.medini emmanuel.coquery 27 100 0 0 0
Spécifiques:
  • comprendre et pratiquer les architectures orientées composants et services, les standards et frameworks associés.
  • approfondir les notions de programmation utilisées sur les serveurs d’applications et savoir utiliser les outils associés.
  • utiliser efficacement un framework côté serveur
  • mettre en place une architecture à base de composants et services
  • réaliser une application par composition de services Web ou de micro-services
  • programmer et déployer sur serveur d’application
L’enseignement proposé vise à rendre les étudiants opérationnels sur des systèmes d'information de dimension industrielle. Il leur permet de comprendre et d'expérimenter le fonctionnement des frameworks à base de composants et de services, puis de programmer et de déployer des composants et des services sur serveur d'application. Un tour d’horizon des approches de composition de services Web et de micro-services est proposé, et les solutions classiquement utilisées sont mises en œuvre.
INF2342M+ INF2005M Création UE TIW-DEV-FSA Fiabilité et Sécurité des Applications 3 0 9 0 21 0 0 210 35 18 0 0 emmanuel.coquery romuald.thion 27 100 0 0 0
  • Programmation serveur pour le Web
  • Bases de cryptographie (chiffrements, signature, certificat)
  • Notions de base de déploiement dans des conteneurs
Spécifiques:
  • Evaluer les risques de sécurité (d’une application web)
  • Déployer des applications (web) de manière à assurer leur disponibilité
  • Déterminer les mesures de sécurité à mettre en oeuvre (pour une application web)
  • Mettre en place un mécanisme d’authentification (pour une application web)
  • Evaluer la sécurité (des applications web) et limiter leur vulnérabilité
Cet enseignement aborde différentes méthodologies et techniques permttant de fiabiliser et sécuriser les applications au sein des systèmes d'information. On y abordera les thèmes suivants:
  • Evaluation des risques de sécurité (ex: méthode EBIOS)
  • Fiabilité et qualité du code, impacts de ceux-ci sur la sécurité
  • Authentification dans les applications Web (ex: OpenID-Connect, CAS)
  • Vulnérabilités logicielles des applications web (ex : OWASP, SQLi, XSS, CSRF)
  • Déploiement pour la disponibilité des applications: répartition de charge, élasticité, patterns EIP pour la fiabilisation des échanges
INF2343M+ INF2427M Création UE TIW-DEV-WTRMD Web Temps Réel et Multi-Dispositifs 3 0 9 0 21 0 0 210 35 18 0 0 aurelien.tabard aurelien.tabard 27 100 0 0 0
Descriptif de l’enseignement :
L’UE se concentre sur la conception et la réalisation d’applications Web multi-dispositifs. Elle abordera la question de l’adaptation des applications à leur dispositifs cibles, en termes de surface d’affichage, de modalités d’interaction ou de type de données échangées. Cette problématique sera vue à la fois d’un point de vue architectural (design adaptatif), mais aussi du point de vue des usages et de l’interaction.
Seront ensuite abordés les principes et algorithmes de communication synchrone dédiés au Web (WebSocket, WebRTC, Operational Transform).
D’un point de vue technique, les étudiants mettront en place une “stack” JavaScript côté serveur et côté client, et apprendront les principes de la programmation réactive. Ils mettront en oeuvre un framework côté client afin d’outiller les notions enseignées dans l’UE.
Cette UE sera mise en oeuvre à l’aide de dispositifs disponibles au département (écrans tactiles, microcontrôleurs) ou en possession des étudiants (mobiles, tablettes, smart watches). Les compétences seront acquises et mises en oeuvre dans le cadre d’un projet “grandeur nature” qui prendra forme tout au long de l’UE et sera jalonné de rendus intermédiaires.
Mots-clés :
Programmation réactive, programmation Web synchrone, adaptation, interaction multi-dispositif, découvrabilité, qualité de service, performance.
INF2344M+ INF2339M Création UE TIW-DATA-GGMD Gestion de Grandes Masses de Données 3 0 9 0 21 0 0 210 35 18 0 0 nicolas.lumineau nicolas.lumineau 27 100 0 0 0
Cet enseignement nécessite en pré-requis :
  • des connaissances sur les systèmes de gestion de bases de données, les architectures distribuées, la modélisation de données et les techniques d’analyse de données;
  • une bonne maîtrise du langage SQL, et du langage de programmation Python (ou Scala);
  • des connaissances en Algèbre Relationnelle seront appréciées.
Cet enseignement apporte des compétences théoriques et pratiques pour permettre aux étudiant.e.s d’identifier les solutions les plus appropriées face à une problématique de passage à l’échelle dans le traitementde grandes masses de données.

Cet enseignement apporte une compréhension approfondie :
  • du concept de Big Data (Volume, Variété, Vélocité, etc.) et de ses enjeux ;
  • du paradigme Map/Reduce et de ses dérivés (e.g. Spark);
  • des approches d’intégration de données massives ;
  • du principe de partitionnement et de la distribution des données, que ce soit dans un contexte (i) de données relationnelles gérées par une ou plusieurs instances de systèmes de gestion de bases de données et (ii) de données ’simplement’ stockées dans des fichiers;
  • de la performance des traitements/requêtes distribués;
  • du traitement de flux de données;
  • des bonnes pratiques dans la gestion d’un projet Big Data en entreprise.
Cet enseignement est organisé de manière suivante :

Pour les CM :
  • Bases de Données Réparties : fragmentation et distribution ;
  • Traitement distribué de requêtes ;
  • Le paradigme Map/Reduce ;
  • L’analyse de données massives (Big Data Analytics).

Pour les TP :
  • Les limites du "Tuning" d’un SGBD pour améliorer le passage à l’échelle
  • Conception d’un SGBD Réparti ;
  • Plan d’exécution distribué de requêtes SQL ;
  • Prise en main de HDFS et Apache SPARK ;
  • Partitionnement via Apache SPARK;
  • Traitement de flux de données via Apache SPARK STREAMING.
INF2345M+ INF2338M Création UE TIW-DATA-IQD Intégration et Qualité des Données 3 0 9 0 21 0 0 210 35 18 0 0 angela.bonifati angela.bonifati 27 100 0 0 0
Cet enseignement présente les problèmes liés à l'intégration et aux échanges de données ainsi que les problèmes de qualité de données et interopérabilité dans les systèmes d’information et donne des solutions standards à mettre en oeuvre pour les résoudre.

En particulier, sont présentées les principales techniques d'intégration de données, des règles pour la qualité de données ainsi que la représentation des connaissances basées sur les graphes et leurs applications.
INF2346M Renouvellement UE IA-AIC Artificial Intelligence and Cognition 3 0 12 6 12 0 0 210 35 18 1 0 salima.hassas salima.hassas
INF2346M+ INF2418M Création UE TIW-DATA-AD Analyse de Données 3 0 9 0 21 0 0 210 35 18 0 0 fabien.de-marchi fabien.de-marchi 27 100 27 100 0 0
Bases de programmation, d’algorithmique, de bases de données et d'apprentissage automatique dans les données.
- Connaître les enjeux de la partie "analyse" du paradigme "big data".
- Savoir construire un entrepôt de données à partir de données de production, comprendre les enjeux et les possibilités des requêtes analytiques déclaratives (OLAP)
- Différentier les types de problèmes en data mining : extraction de modèles, de motifs, définition des objectifs et des contraintes.
- Connaître quelques algorithmes génériques d'extraction de motifs sous contraintes
- Mise en oeuvre effectif sur des applications réelles avec utilisation de plateformes libres.
- Enjeux et paradigmes de l'analyse OLAP (1,5h)
- Présentation d'un processus d'extraction de connaissances, typologie des problèmes (1,5h)
- Algorithme d'extraction des motifs fréquents : exploitation de la monotonie, opérateur de fermeture. (3h)
- Extension à l'extraction de différents motifs sous contraintes (3h)
- 6 TP de 3h sur des technologies ouvertes (postgreSQL, Knime, Weka, autres à définir) permettant d'appliquer ou de découvrir différentes techniques d'exploration de données.
INF2347M Renouvellement UE IA-DyCo Dynamique des connaissances 3 0 15 7.5 7.5 0 0 210 35 18 0 0 lionel.medini pa.champin
INF2347M+ Création UE TIW-DEV-IOT Internet des Objets 3 0 9 0 21 0 0 210 35 18 0 0 lionel.medini lionel.medini 27 100 0 0 0
- Programmation en C
- Programmation Web côté client
- Programmation Web côté serveur
- Génie logiciel et gestion de projet
- Comprendre les problématiques des systèmes cyber-physiques et de l'Internet des objets
- Mettre en oeuvre un projet intégrant des dispositifs d'interaction avec l'environnement physique (capteurs, actionneurs)
- Utiliser les standards du Web des Objets (WoT)
- UE en mode projet
- Montage d'un dispositif électronique incluant capteurs et actionneurs
- Programmation sur microcontrôleur
- Mise en place d'un système d'information exposant des fonctionnalités "haut-niveau" du dispositif physique
- Encapsulation dans une API conforme aux standards du WoT
INF2348M Renouvellement UE IA-MAS Self* Multi-Agents and Self-* Systems 3 0 15 3 12 0 0 210 35 18 1 0 salima.hassas laetitia.matignon
INF2348M+ Création UE TIW-OPS-ADBDC Administration des Bases de Données et Déploiement Continu 3 0 9 0 21 0 0 210 35 18 0 0 fabien.de-marchi fabien.de-marchi
INF2349M+ INF2020M Création UE TIW-Projet Projet 3 0 6 24 0 0 0 210 35 18 0 0 emmanuel.coquery emmanuel.coquery 27 0 0 0 0
pratique du développement logiciel.
L’objectif de cet enseignement est d’améliorer les compétences de travail collaboratif, de génie logiciel et de gestion de projet des étudiants sur des études de cas concrets. Cet enseignement vise à se rapprocher des conditions de réalisation de projets par une société de service en informatique. L’enseignement théorique est assuré par des professionnels extérieurs qui couvre l’ensemble du projet : le recueil du besoin et la proposition commerciale, le développement et le test, le chiffrage, donner de la visibilité à son client, le comité de pilotage, le déploiement et l’après projet.

Les équipes d’étudiants doivent être capables d’organiser et de planifier la réalisation d’un logiciel conséquent, de le réaliser en produisant les livrables associés et de pouvoir mettre le logiciel en production. La modalité pédagogique est différenciée entre les étudiant-e-s en formation initiale et les alternant-e-s, ces derniers devant produire un travail de synthèse sur le croisement de leurs pratiques en entreprise en matière de gestion de projet et de développement logiciel.

Pré-requis : pratique du développement logiciel.
Mots-clés : gestion de projet, développement, travail d’équipe, génie logiciel, spécification, recette, déploiement, tests.


INF2349M++ Création UE IA-AI4IoTR Artificial Intelligence for Internt of Things and Robotics 3 0 15 0 15 0 0 210 35 18 1 0 salima.hassas laetitia.matignon 27 70 61 30 0 0

- programmation (python ou C++)
- grands principes des applications et de la programmation Web
- algorithmes de recherche de chemins et de planification
- méthodes et outils de gestion de projet

- comprendre les problématiques de l'Internet et du Web des objets
- mettre en place un projet impliquant des objets connectés
- connaître les problèmes et solutions actuelles en robotique mobile
- savoir appliquer des techniques d’IA au contexte de la robotique mobile
- savoir utiliser et implémenter des modules dans un middleware robotique (Robot Operating System ROS)



L'UE se découpe en plusieurs parties, avec pour socle commun aux différentes parties le lien entre le monde physique et celui de la programmation information, l'utilisation de capteurs et d'actionneurs, et la mise en pratique d'algorithmes enseignés dans d'autres UEs de la formation.

- L'Internet/Web des Objets (IoT/WoT) : l'objectif est de découvrir la programmation embarquée sur microcontrôleur. On mettra notamment l'accent sur la conception d'une application  rendant un service "intelligent" à l'utilisateur, conçue et développée en mode projet. Elle devra respecter les standards du Web et exposer une interface utilisateur.

- La robotique mobile : l’objectif est de fournir un aperçu des problèmes et solutions actuelles dans ce domaine, ainsi que les notions de base nécessaires à leur compréhension (types de navigation, types de capteurs, localisation, cartographie). Le projet qui permet aux étudiants d’appliquer des techniques d’IA à différents problèmes de navigation robotique, en utilisant un middleware et simulateur robotique (ROS+Gazebo). Par exemple les projets porteront sur l’implémentation d’un contrôleur réactif pour la sortie d’un labyrinthe, l’exploration et la cartographie d’un environnement inconnu, le contrôle en formation de robots, ...

INF2350M++ Création UE IA-BIML Bio-Inspired Machine Learning 3 0 12 0 18 0 0 210 35 18 0 0 mathieu.lefort mathieu.lefort 0 0 0 0
Pré requis (souhaitables):
- programmation (python)
- algèbre matricielle de base
- apprentissage par renforcement

- Sélectionner les algorithmes d’apprentissage adaptés au problème à résoudre
- Évaluer les performances des modèles d’apprentissage automatique
- Améliorer le modèle d’apprentissage automatique Implémenter et entraîner (train) des modèles d’apprentissage profond
- Évaluer les performances des modèles d’apprentissage profond

L'UE se découpe en 3 parties:
- Principes de base des réseaux de neurones
- Apprentissage par renforcement profond
- Traitement naturel du langage avec des réseaux de neurones profonds
INF2351M INF2351M Renouvellement UE IA-EIAH Environnements Informatiques pour l'Apprentissage Humain 3 0 18 6 6 0 0 210 35 18 0 0 m.lefevre m.lefevre 27 100 0 marie.lefevre@liris.cnrs.fr 0 0
* connaitre l'historique de l'utilisation de l'IA pour l'apprentissage humain
* connaitre les différents paradigmes d'IA utilisés pour l'apprentissage humain
* connaitre l'architecture d'un Environnement Informatique pour l’Apprentissage Humain (EIAH) et des modules exploitant l'IA 
* savoir modélisation des connaissances en EIAH
* savoir analyser des traces dans le domaine éducatif
* savoir proposer des mécanismes d'adaptation de l'apprentissage

Ce cours est destiné à présenter les thématiques de recherche intervenant dans la conception des Environnements Informatiques pour l’Apprentissage Humain (EIAH). Ce domaine de recherche pluridisciplinaire propose une approche centrée sur les connaissances et sur l’apprenant.

Dans la nouvelle société de l’information, l’usage des Technologies de l’Information et de la Communication a modifié les pratiques de formation. En effet, des besoins de formation tout au long de la vie et de formation à distance nécessitent de concevoir de nouveaux outils informatiques pour l’enseignement. Ces outils informatiques doivent être des systèmes intelligents au sens qu’ils doivent s’adapter à l’utilisateur pour personnaliser l’enseignement. Ils doivent être capables de fournir des explications appropriées à l’apprenant, et donc d’effectuer un diagnostic de ses connaissances pour élaborer un modèle de l’apprenant. Ils doivent également s'adapter aux spécificités de l'apprenant, au niveau de leurs interfaces et de leur fonctionnalités, en particulier dans des situations de handicap, ou dans des situations d'apprentissage collaboratif.

La conception d’Environnements Informatiques pour l’Apprentissage Humain (EIAH) est nécessairement pluridisciplinaire. Nous présenterons dans ce cours les apports des différentes disciplines que sont l’Intelligence Artificielle (IA), la psychologie cognitive, les sciences de l’éducation (didactique, pédagogie) et l’Interaction Homme-Machine (IHM).

INF2352M INF2352M Renouvellement UE IA-Graphes Graphes, Complexité, Combinatoire 3 0 15 3 12 0 0 210 35 18 0 0 samba-ndojh.ndiaye hamamache.kheddouci 27 100 0 0 0
Dans cette UE, nous nous attaquerons à l’étude des problèmes difficiles d’optimisation dont la résolution se heurte à une explosion du nombre de combinaisons à explorer. Plusieurs types de problèmes seront passés en revue tels que les problèmes de satisfaction de contraintes (SAT et CSP), ainsi que des problèmes d’optimisation sur des graphes (colorations, dominations, stabilité, recherche de sous-graphes, etc). Une partie du cours sera également consacrée à l’étude de la complexité et la classification de ces problèmes en classes NP-Complet, NP-difficile, etc. De même, nous verrons les différentes approches de résolution de ces problèmes proposées dans la littérature.
INF2353M INF2353M Renouvellement UE DS-Data Visualization Data Visualization 3 0 16 8 8 0 0 210 35 18 0 0 aurelien.tabard 0 0 0 0
* Bases de programmation Web
* Bases de gestion de données
* Bases d'Interaction Humain Machine

Ce cours est une introduction à la visualisation interactive de données. Il couvre :

  • Les principes de base de perception, cognition et de visualisation
  • La typologie des graphiques pour les principaux types de données
  • La réalisation une visualisation Web interactive en utilisant d3.js en utilisant un jeu de données réel

Ce cours permettra à la fois de maitriser les fondamentaux pour utiliser de manière informée des outils de dataviz tels que Tableau, mais aussi créer ses propres outils.

INF2354M Renouvellement UE DS-Modèles Graphiques Modèles Graphiques Probabilistes 3 0 18 6 6 0 0 210 35 18 0 0 alexandre.aussem
INF2355M Renouvellement UE DS-Data Mining Data Mining 3 0 18 6 6 0 0 210 35 18 0 0 marc.plantevit
INF2356M Renouvellement UE DS-Machine Learning Machine Learning 3 0 18 6 6 0 0 210 35 18 0 0 alexandre.aussem
INF2357M Renouvellement UE DS-Fondamentaux Maths Fondamentaux mathématiques pour les Data Science 3 0 18 6 6 0 0 210 35 18 0 0 alexandre.aussem
INF2388M INF2388M Renouvellement UE IM-MMV Modélisation mondes virtuels 3 0 20 0 10 0 0 210 35 18 0 0 eric.galin 0 0 eric.galin@liris.cnrs.fr 0 0

L’objectif de ce cours est de présenter les méthodes de génération numérique de contenu pour la production de scènes virtuelles utilisées dans le contexte d’applications temps réel. Les thèmes abordés sont:

  • La génération de terrains : modèles procéduraux (approfondissement  des fonctions de bruit, bruit de Gabor et construction de terrains par sommes de bruit), simulation d’érosion, analyse de reliefs à l’aide de descripteurs fondamentaux en géomorphologie.

  • La génération de végétation : modèles de croissance, modèles fractals, grammaires de formes, L-systèmes, diffusion limitée par l’agrégation, modèle d’Eden, simulation d’écosystèmes, distributions de disques de Poisson pour l’initialisation de distributions d’espèces végétales, simulation s’appuyant sur les fondamentaux en biologie (allométries, réserves de carbone)

  • La modélisation de cités et de routes : algorithmes de plus courts chemins en distance anisotrope, graphes géométriques).

INF2389M INF2389M Renouvellement UE IM-PCN Plateforme de création numérique 3 0 20 0 10 0 0 210 35 18 0 0 eric.galin 0 0 0 0
Il s'agit d'une UE en mode projet dans laquelle les étudiants imaginent et développent une application de gamification, généralement un jeu vidéo, dans un temps relativement court, en mettant en oeuvre les compétences qu'ils ont acquises dans les autres enseignements, mais aussi en découvrant les spécificités du monde du Jeu Vidéo.
- 16 heures d'enseignement par un professionnel extérieur sont prévues.
- Utilisation d'une plateforme de développement  (Unity)
INF2392M INF2392M Renouvellement UE CCI-TC-Interop Intéropérabilité 3 0 15 0 15 0 0 210 35 18 0 0 parisa.ghodous 27 100 0 0 0
Prérequis : Base de données (INF2233M) et Conception des Systèmes d'Information (INF2108M)
- Capable d'identifier les problèmatiques de l'interopérabilité technique, structurelle et sémantique
- Capable de trouver et développer des solutions aux problèmes d'interopérabilité des Systèmes d'Information
- Capable de developer un système collaboratif basé sur les ontologies
- Capable de comprendre une architecture Orientée Service et communiquer les avantages et les inconvénients

Ce cours a pour objectif de présenter les domaines de l'interopérabilité et les systèmes d’information collaboratifs

 

  • Introduction aux problèmes de l’interopérabilité et de la répartition et l’intégration des données
  • Classification des hétérogénéités des données
  • Principales approches et architectures d’Interopérabilité
  • Architectures à base d’ontologie
  • Architectures Orientées Service
  • Exemple d’un scénario de conception collaborative
  • Développement d’un prototype de développement collaboratif
  • OWL, Services Web, Interfaçage du JAVA et la SGBD ORACLE (TP)

INF2393M+ Création UE CCI-SIRR-Init SIRR Initiation aux systèmes d'information répartis et réseaux 6 0 40 0 20 0 0 210 35 18 0 0 jean-patrick.gelas thomas.begin 0 0 0 0
Cette UE est dispensée aux étudiant ayant choisi l'option SIRR et fait suite à l'initiation réseau dispensée au premier semestre. Sont considérés comme acquis : le modèle en couche OSI; l'adressage IP ainsi que le modèle Client/Serveur.
  • Évaluer et Configurer différentes architectures réseaux (filaire et sans fil)
  • Administrer un système d’exploitation
L’Option Systèmes d’Information Répartis et Réseaux (SIRR) se fixe pour objectif de former des cadres dans le domaine des réseaux, applications réparties et administration système.

Cette UE propose une étude des réseaux longue distance tel qu'internet ou des réseaux locaux tels que la technologie wifi et ethernet. Certains éléments de fonctionnement de l'infrastructure sont détaillés (ex: routage et protocoles de transport). Certaines applications de l'internet comme la téléphonie sur IP ou le streaming audio/vidéo seront aussi décrites.

INF2394M INF2394M Renouvellement UE CCI-SIP-Init SIP Initiation aux systèmes d'information de production 6 0 40 0 20 0 0 210 35 18 0 0 behzad.shariat parisa.ghodous 0 0 0 0
- Capable de communiquer les avantages et les inconvenients d'utislisation des technologies CFAO,  PLM, ERP et des standards
- Capable de choisir et développer un système CFAO
- Capable de choisir et développer les technologies appropriées liés aux systèmes d'information pour la production (PLM, standards ) pour une étude de cas
- Capable de conduire un projet ERP
- Capable d'utiliser un logiciel ERP et développer des interfaces
- Capable de développer d'utiliser le logiciel SAP et développer avec le langage ABAP
- Capable de modéliser les processus d'une entreprise avec le standard BPMN

Partie I  Initiation aux Systèmes d'Information pour la Production

- Rôle de la CAO

- Architecture des systèmes de CAO

- Technique de la modélisation géométrique:

    - Modèles volumiques (B-Rep, CSG, extrusion)

    - Formes implicites (modèles algébriques)

    - Formes paramétriques à pôles (Bézier, NURBS)

    - Géométrie Fractal

    - Surfaces implicites équipotentielles

- Techniques de la visualisation

- Structure de données

- Accroissement de l’intelligence des systèmes de CAO

- Modélisation à base de « features »

- Interface H/M et réalité virtuelle

- Développement d’un modeleur géométrique en C++

- Apprentissage d’un logiciel de CAO (CATIA)

- Maquette numérique, Prototypage rapide, Réalité augmentée, Imprimante 3D

 

Partie 2 : Intégration des SI pour la production

Ingénierie Coopérative et Simultanée, SGDT, PDM, PLM

  • Présentation de l’environnement de développement des produits industriels, PLM et l’ingénierie simultanée
  • Présentation des problèmes posés par la communication dans un tel environnement
  • Solutions pour la communication de l’information, échange de données et partage de données
  • Standards pour l’échange et partage de données et de processus (STEP, XML)
  • Application et exemples pour la représentation des données de produit et utilisation de STEP et XML pour la normalisation et l’échange de ces modèles
  • Développement d'une application PLM, Dynamic Network Manufacturing
Partie 3 ERP/SAP

1- Introduction aux ERP

- Les challenges de l'entreprise « Agile ».

- L'évolution du système d'information.,

- Historique des ERP,

- Les processus métiers, typologie, BPR et développements spécifiques.

- L'architecture technique : postes clients, réseau, serveurs, stockage, administration, haute disponibilité, plan de secours ...

- L'intégration de l'ERP aux autres applications internes/externes.

- Types d'entreprise, secteurs et modèles.

- Budgets (coûts internes ressources, matériel, logiciel, assistance, support...) : investissement, exploitation. Cycles et décideurs des projets ERP.

- Les évolutions technologiques des ERP : nouvelles architectures orientées services.

- La gestion du projet ERP

- SAP Concepts de Base, Module MM et PP

Partie 4 : Modélisation des Processus avec BPMN

TD : Mise en pratique de la modélisation BPMN

TP : Mise en pratique d’un projet ERP avec le logiciel SAP (Pour le parcours SIP, l’accent est mis sur le module « Planning de Production »)

Références

- Les dix commandements pour réussir la mise en oeuvre et le déploiement d'un projet ERP.

- Bibliographie ERP.

- Documents SAP  https://www.sap.com/france/

- Standard BPMN https://www.bpmn.org/


INF2396M INF2396M Renouvellement UE CCI-SIG-Init SIG Initiation aux systèmes d'information pour la gestion 6 0 40 0 20 0 0 210 35 18 0 0 parisa.ghodous 27 100 0 0 0
- Capable de communiquer les avantages et les inconvenients d'un système d'information pour la gestion
- Capable de Conçevoir et implémenter un système d'information pour la gestion

 Compétences Détaillées :
Bloc de compétences Compétences
   
Elaboration et mise en œuvre d'une data gouvernance. Réaliser le recueil et la définition des besoins utilisateurs et rédiger des cahiers des charges formalisant les besoins des métiers et les spécifications fonctionnelles

Usages avancés et spécialisés des outils décisionnels  Définir la chaîne décisionnelle : concevoir et développer des entrepôts de données, maîtriser la modléisation multidimensionnelle des données ; concevoir des architectures d’applications BI... 
Maîtriser les techniques d'optimisation des performances des requêtes décisionnelles
Déployer des outils ETL (Extract Transform Loading) pour l'alimentation des entrepôts. 

Connaître et savoir mettre en œuvre les principes de gestion et d'administration des bases et des entrepôts de données structurées ou non 
Définir les solutions de stockage et la structuration des données au sein d’un modèle
Réaliser des analyses en ligne  pertinentes (OLAP : On-Line Analytical Processing)
Maîtriser les outils de data visualisation (Power BI, Tableau Softaware, Qlicksene…)
Calculer des indicateurs pertinents (KPI) pour la contsruction des dashboards dynamiques  
Analyser et modéliser du point de vue informatique un problème dans toute son étendue et dans des champs d’applications variés en lien avec les usagers 
Maitriser les concepts et les méthodes de définition et de mise en œuvre des stratégies des SI
- Introduction aux différents système d'Information pour la gestion
- Business Intelligent
- Entrepôt de données
- E-Business
- Projet de conception et dévéloppement d'un système d'aide à la décision

Plan Détaillé : systèmes d'information décisionnels pour le management.

a) Généralités sur les SID
 
1) Aide à la décision
 
2) SID : architecture
 
3) Concepts d’un Entrepôt de Données  (ED)

 
b) Modélisation
 
1) Approche de conception des ED
 
2) Modèles multidimensionnels : étoile ; flocons de neige ; constellation
 
3) Les hiérarchies  de dimensions
 
c) Le processus d’ETL
1) Alimentation d’un ED
2) Systèmes d’intégration des données
d) Administration d'un ED

e) Stockage des données
      1) L'approche relationnelle (ROLAP)
      2) L'approche multidimensionnelle (MOLAP) 
      3) L'approche hybride (HOLAP)
 
f)  L'analyse en lign (OLAP)
1) Approches OLAP, OLATP
2) Les techniques d'analyse et de restitution

e) Stockage des données
      1) Les approches OLAP et OLTP
      2) Les techniques d'analyse et de retsitution
      3) L'analyse en ligne (OLAP) 
      4) Les opérateurs d'analyse en ligne
 
INF2396M+ Création UE SRS-ISR Ingénierie des Systèmes et Réseaux 3 0 15 3 12 0 0 210 35 18 0 0 thomas.begin thomas.begin 0 0 0 0
  •     Commutation de paquets
  •     Adressage IPv4
  •     Encapsulation
  •     Configuration d'une interface réseau, d'un commuateur et d'un routeur
  •     Architecture d'un réseau
  •     Segmentation d'un VLAN
  •     Routage dynamique
  •     Adressage IPv6
  • Ingénierie de réseaux
  • Garantie de QoS
  • VXLAN
  • Calcul de moyennes et d'intervalles de confiance
  • MPLS
  • QoS
  • VXLAN
  • Mesures de performances
INF2397M INF2397M Renouvellement UE CCI-TC-Sécurité Sécurité des systèmes d'information 3 0 15 0 15 0 0 210 35 18 0 0 jean-patrick.gelas thomas.begin 0 0 0 0
  • Capable d’évaluer, choisir et appliquer les bonnes pratiques de sécurité
Cette UE qui nécessite quelques pré-requis vu en système et réseau en début d'année, propose une introduction aux problématiques de la sécurité informatique. La formation débute par une présentation des différents types d'attaques rencontrées ces dernières années. Nous proposons ensuite aux étudians de les mettre en oeuvres sur une plateforme dédiée. Enfin nous apprendrons comment se protéger de ses attaques et discuterons des bonne pratiques à mettre en oeuvre pour protéger efficacement le système d'information d'une entreprise.
INF2397M+ Création UE SRS-BEPC Bibliographie, Étude de cas, Projet, Certifications 3 0 0 21 9 0 0 210 35 18 0 0 isabelle.guerin gregoire.pichon 27 100 0 isabelle.guerin-lassous@ens-lyon.fr 0 0
Compétences spécifiques :
- Savoir mener un projet en autonomie.
- Savoir réviser son planning de travail.
- Savoir rendre compte du travail réalisé.
- Savoir rédiger un rapport sur le travail réalisé.
- Compétences techniques propres aux options de travail choisie. 
Cette UE est décomposée en 3 blocs de travail. Dans chaque bloc, les étudiants peuvent travailler sur les options suivantes :
- Certifications : CISCO (CCNA) ou autre (Linux, Kubernetes, etc.)
- Bibliographie : étude bibliographique sur un sujet en lien avec la formation
- Projet : réalisation d'un projet scientifique ou technologique sur un sujet en lien avec la formation
- Étude de cas : construction d'une réponse à un appel d'offre dans le domaine de la formation 
INF2398M INF2398M Renouvellement UE CCI-TC-Etude de cas Étude de cas en Anglais 3 0 0 30 0 0 0 210 35 18 0 0 behzad.shariat jean-patrick.gelas 0 0 0 0
Travaux de communications et de présentations en anglais sur des articles en informatique
Etudes de cas en informatique en lien avec les disciplines d'origine des étudiants.


 
INF2398M+ Création UE SRS-SR Sécurité Réseaux 3 0 10.5 0 19.5 0 0 210 35 18 0 0 jean-patrick.gelas thomas.begin 0 0 0 0
  • Configuration d'une interface réseau, d'un commutateur et d'un routeur
  • Architecture d'un réseau
  • Segmentation d'un VLAN
  • Fonctionnement d'un WLAN
  • Déploiement d'une infrastructure réseaux (VLAN, DMZ, Pare-feu, Proxy...)
  • Authentification 802.1x (Radius)
  • Attaques DoS et DDos
  • Attaques sur protocoles et équipements couches 2 avec Scapy
  • Attaques sur WPA2 du Wi-Fi
  • Attaques Forensic
  • Attaques OWASP (exploitation des 10 failles les plus connues)
  • Tests d'intrusion
  • Politique de sécurité
  • Identité et gestion des accès (AAA, facteurs, Kerberos, contrôle d'accès)
  • Contrôle des accès réseaux (802.11x, Radius)
  • Séparation des réseaux (commutateur, routeur, pare-feu, NAT, VLAN, Proxy)
  • Architecture réseau sécurisée (DMZ, cinématique, rupture protocolaire)
  • VPN (IPsec)
  • Sécurisation d'un réseau sans fil (WLANs, WPA)
  • Equipements avancés de sécurité (IDS, IPS)
  • Sécuriser emails et web (signature, TLS, proxy)
  • Attaques réseaux (spoofing, arp poisoning, Man-in-the-middle, DoS)
  • Outils réseaux (scan de vulnérabilités, wireshark, logs)
  • Tests d'intrusion
INF2399M INF2399M Renouvellement UE CCI-TC-POO Programmation orientée objet 3 0 15 0 15 0 0 210 35 18 0 0 hamid.ladjal jean-patrick.gelas 0 0 hamid.ladjal@univ-lyon1.fr 0 0

Concevoir des classes répondant à un cahier des charges, en choisissant les structures de données adéquates       

Résoudre un problème logiciel (erreur à la compilation, à l’exécution)   

Programmer de petites applications

Analyser et interpréter les résultats produits par l'exécution d’un programme   

Interpréter (à la main et via un programme) un code écrit dans un langage

Savoir développer une interface graphique avec le langage JAVA
Cette UE fait suite à l'UE d'Algorithmie et Programmation du premier semestre. L'objectif de cette UE est de présenter les concepts de base de la programmation orientée objet en s'appuyant sur le langage de programmation Java. Le cours est composé de plusieurs parties : Pour les travaux pratiques, les étudiants manipulent le langage Java avec les bibliothèque d’interfaces graphiques.
INF2399M+ Création UE SRS-DC Déploiement Continu 3 0 11 0 19 0 0 210 35 18 0 0 romain.chanu thomas.begin 0 0 0 0
  • Déployer une infrastructure multi-composants (VM, SG, RTR..) avec Terraform
  • Installer des logiciels et des fichiers de configuration avec Ansible
  • Versionner les fichiers avec git
  • Vérifier et déployers des fichiers de configuration avec de l'intégration continue
  • Surveiller des métriques automatiquement avec Prometheus
  • Stocker et centraliser les journaux avec ELK ou Loki
  • Afficher les journaux et les métriques avec les tableaux de bord Grafana
Cette unité d’enseignement présente les concepts liés au déploiement continu dans des infrastructures virtuelles (VM, Cloud...). L'objectif sera de déployer automatiquement une pile partant de la VM jusqu'à la surveillance des métriques et des journaux produits par les services installés.
Les outils comme Ansible et Terraform utilisent du code, qui sera possible de versionner, vérifier puis déployer par une usine logicielle. Puis surveiller le bon déroulement des processus par des services de découverte utilisant les métadonnées dans le cloud.
INF2400M+ Choix UEs optionnelles Choix UE Optionnelles 0 0 0 0 0 0 0 210 35 18 0 0 raphaelle.chaine
INF2401M INF2401M Renouvellement UE CCI-TC-Cloud Cloud computing 3 0 15 0 15 0 0 210 35 18 0 0 jean-patrick.gelas parisa.ghodous 0 0 0 0
- Capable de communiquer les avantages et les inconvenients d'utilisation de la technologie Cloud (Trois points de vue : utilisateurs, informaticiens et décideurs)
- Capable de dire si il faut aller ou ne pas aller vers le cloud
- Capable de choisir les technologies appropriées pour la conception et le développement cloud à tous les niveaux
- Capable de concevoir et développer les applications SaaS, PaaS et IaaS

Cette UE propose une introduction au concept de l’informatique en nuage (Cloud Computing) et de ses principaux modèles de service (Saas, PaaS, IaaS). 
Nous discuterons en cours du Modèle économique du Cloud, de la Gestion et de l'administration des Clouds, de l'Intégration et de l'interoperabilité des Clouds et enfin de la Sécurité et la confidentialité dans le Cloud.

A ces cours sont associé des séances de Travaux Pratique sur la plateforme de Cloud privé disponible au sein du département Informatique. Nous y déploierons des machines virtuelles et des containers pour lesquelles nous développerons des services web et API simples.

INF2402M INF2402M Renouvellement UE CCI-TC-Stage Stage 21 0 0 0 0 0 0 210 35 18 0 0 parisa.ghodous jean-patrick.gelas 0 0 0 0
La période de début mars à fin septembre est dédiée au stage de fin d’études qui devra être effectué dans une entreprise pour une durée de 5 à 7 mois (21 crédits ECTS).
INF2403M Renouvellement CHOI Choix de module d'option Choix de module d'option 6 6 0 0 0 0 0 0 0 0 0 0 parisa.ghodous jean-patrick.gelas
INF2403M+ Création UE CCI-TC-Remise à niveau Remise à niveau 0 0 0 60 0 0 0 210 35 18 0 0 parisa.ghodous jean-patrick.gelas
INF2407M Renouvellement UE Projet Bioinfo. 3 Projet en bioinformatique 3 3 0 0 0 30 150 0 210 35 18 0 0 laurent.gueguen
INF2408M Renouvellement UE PAPB Programmation avancée python pour la bioinformatique 6 0 20 0 40 10 0 210 35 18 0 0 arnaud.mary2 guillaume.launay
INF2409M Renouvellement UE Prog. Web. Bioinfo. Programmation web pour la bioinformatique 3 0 10.5 0 19.5 0 0 210 35 18 0 0 guillaume.launay pa.champin
INF2410M+ Renouvellement UE Med Soc Médias et Société 8 0 54 0 0 0 0 210 35 18 0 0 cherifa.boukacem
INF2411M+ Renouvellement UE Do Ur Données urbaines 8 0 18 15.5 0 0 0 210 35 18 0 0 cherifa.boukacem
INF2412M+ Renouvellement UE Re Terr Représentations et territoires 8 0 46 0 0 0 0 210 35 18 0 0 cherifa.boukacem
INF2413M+ Renouvellement UE La Tech Langues et Techniques 6 0 0 30 0 0 0 210 35 18 0 0 cherifa.boukacem
INF2414M+ Renouvellement UE At Meth Atelier Méthodologique 4 0 30 0 0 0 0 210 35 18 0 0 cherifa.boukacem
INF2415M+ Renouvellement UE Ju Lab Junior Lab 6 0 30 0 0 0 0 210 35 18 0 0 cherifa.boukacem
INF2417M Renouvellement UE IA-Tech apprent automat Techniques d'apprentissage automatique 3 0 10.5 9 10.5 0 0 210 35 18 0 0 haytham.el-ghazel khalid.benabdeslem
INF2419M Renouvellement UE DS-Analyse graph données Analyse des graphes de données 3 0 18 6 6 0 0 210 35 18 0 0 hamamache.kheddouci
INF2424M Renouvellement UE Anglais Langue vivante 3 0 0 30 0 0 0 210 35 18 0 0 nathalie.dourlot
INF2428M INF2428M Renouvellement UE EISO 1 Médiations, médiatisations numériques des savoirs 6 0 10 45 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
Cette UE traite de deux versants complémentaires :
Le premier versant aborde les mécanismes d’innovations numériques et de l’évolution des pratiques et des usages qui interrogent le rôle des plateformes comme dispositifs de médiation et de médiatisation de l’information et de la communication scientifique ouverte. De manière corollaire, le traite de l’évolution des industries culturelles et médiatiques soumises au développement du numérique et des régulations créatives et d’ouverture. Le cours donne à comprendre et à analyser les mutations des filières de la publication scientifique et de la recherche scientifique, liées au numérique et à l’évolution de leurs modèles économiques vers l’Openness. Le cours fournit ainsi des clés d’analyse et de compréhensions des dynamiques de socio-économoiques et socio-politiques des nouveaux cycles d’industrialisation de l’information et de la communication scientifique ouverte et leur impact sur les formes de médiation et les logiques médiatiques contemporaines.
Le second versant explore à partir d’une série de séminaires se spécialités et des ateliers de lecture critiques la manière avec laquelle les discours à propos des innovations empruntent au récit, exploitent les propriétés du récit, avec des intentions et des effets particuliers. Au sein de ce cette partie du cours, la dimension communicationnelle et discursive de l’innovation (en tant que procédé ou résultat) sont pris en compte pour montrer son impact sur les représentations qui en sont faites.
Modalité de contrôle des connaissances : CCI
Bibliographie indicative
    Simonnot, B. (2012). L’accès à l’information en ligne : moteurs, dispositifs et médiations. Cachan : Hermès Lavoisier.
    Jeanneret, Y. (2007). Usages de l’usage, figures de la médiatisation. Communication et Langages, (151), 3–19.
    Michaud, T. (2014). La dimension imaginaire de l'innovation : l'influence de la science-fiction sur la construction du cyberespace. Innovations, 44(2), 213-233. doi:10.3917/inno.044.0213.
    Mirowski, P. (2018). The future(s) of open science. Social Studies of Science, 48(2). DOI : 10.1177/0306312718772086
    Mirowski, P., & Sent, E.-M. (2008). The commercialization of science and the response of STS. In E. Hackett, O. Amsterdamaska, M. Lynch, & J. Wacjman (Eds.), The Handbook of Science and Technology Studies (pp. 635–689). MIT Press.
    Nie, K. S., Kee, C. P., & Ahmad, A. L. (2014). Mediatization: A Grand Concept or Contemporary Approach? Procedia - Social and Behavioral Sciences, 155, 362–367. https://doi.org/10.1016/j.sbspro.2014.10.306
INF2429M INF2429M Renouvellement UE EISO 2 Science de la donnée numérique 3 0 6 21 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 75 27 25 0 0

Ce cours doit apporter les bases théoriques nécessaires pour une bonne compréhension des approches mis en œuvre dans les domaines de l’Intelligence Artificielle (IA), du Traitement Automatique des Langues (TAL),  et de la Recherche d’Information (RI) appliquées. Il portera sur une compréhension méthodologique qualitative et quantitative de l’information.

Le cours porte sur une présentation et une mise en application des technologies de l’IA, du TAL, de la lexicométrie et la recherche d’information, soit à travers une œuvre de synthèse, soit une mise en œuvre plus informatique. L’approche méthodologique et pédagogique portera sur des projets de fouilles, de traitement et d’exploitation de données provenant de l’IST : Données médicales, bibliographiques, scientifiques, technologiques, brevet, textuelles, enquêtes, base de données, etc.

Les compétences développées sont une maîtrise de l’exploitation des données scientifiques et techniques. Les étudiants doivent maîtriser en fin de cursus, les fondamentaux pour la rédaction de cahier de charge et des capacités d’analyse propres à l’IST, à savoir des compétences techniques (quantitatif) mais aussi méthodologique (qualitatives) avec une capacité de navigation entre les deux modes de conceptualisation.

1 – Les données de l’IST,

2 – Le Traitement Automatique des Langues et l’IA

3 – Les Données, qu’elles soient BIG, BAD ou SMART

4 – La Recherche d’Information Avancées

5 – Les algorithmes mise en œuvre en IST (IA, RI et TAL)

6 – R et/ou python et l’exploitation des données de l’IST

7 – Les mathématiques de l’IST

8 – Bibliométrie et TAL : Enjeux et perspectives

9 – Le Document scientifique de demain : le triptyque Texte-Code-Donnée

 

Modalités de contrôle de connaissance : CCI

 

Bibliographie indicative

 

-       Berry, G. L'hyperpuissance de l'informatique Odile Jacob, 2017

-       Kembellec, G. Écrilecture augmentée dans les communautés scientifiques ISTE editions, 2017

-       Pain, M. & Boukacem-Zeghmouri, C. Les données de la recherche et leurs entrepôts, de la documentation à la réutilisation, 2016

-       CNRS, «Mieux partager l’IST » : Enquête nationale conjointe auprès des Universités, Organismes et Grandes Écoles sur le Partage et la Gestion des ressources d’IST : Pré-rapport du 11 octobre 2016 / Direction de l’Information Scientifique et Technique – CNRS, 2016

-       Lafouge, T. & Pouchot, S. Statistiques de l'intellect Publibook, 2012, 236 pages

-       Iana Atanassova, Marc Bertin, Philipp Mayr. Mining Scientific Papers: NLP-enhanced Bibliometrics. Chaomei Chen. Frontiers in Research Metrics and Analytics, 2019, Research Topic.

INF2430M INF2430M Renouvellement UE EISO 3 Sciento., biblio. : mesures et représent. production scient. 6 0 10 45 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 0 0 0 0

Cette UE vise à initier les étudiants aux questions relatives à la mesure de la science et à sa production scientifique et aux problématiques corollaires de l’évaluation de la recherche. L’UE introduit à la bibliométrie et à ses méthodes (indicateurs de citations et indicateurs médiatique, caractérisation des sources de données et leur sélection – Scopus, WOS, GS, lois bibliométriques etc.) d’analyse des citations. Les articles, les pré-prints et les brevets sont les principaux vecteurs de la production scientifique retenus dans les enseignements et les exercices. Les étudiants feront l’acquisition des limites des méthodes employées en fonction du domaine disciplinaire appréhendé.

L’UE fournit également aux étudiants les bases théoriques en analyse des réseaux, en théories des graphes et en visualisation de données pour leur permettre de réaliser des visualisations de données ou des analyses de controverses. L’approche méthodologique et pratique se verra autour de la manipulation de logiciels tels que Gephi ou GraphCommons. L'objectif est de créer à partir d'un sujet de veille une "cartographie" du web, de proposer une analyse et de fournir des résultats lisibles en contexte professionnel.

Modalités de contrôle de connaissance : CCI

Bibliographie indicative
- Cronin, B., & Sugimoto, C. (Eds.). (2014). Beyond bibliometrics: harnessing multidimensional indicators of scholarly impact. MIT Press.
- Gingras, Y. (2014). Les dérives de l’évaluation de la recherche : du bon usage de la bibliométrie. Paris: Raisons d’agir.
- Larivière, V., Desrochers, N., Macaluso, B., Mongeon, P., Paul-Hus, A., & Sugimoto, C. R. (2016). Contributorship and division of labor in knowledge production. Social Studies of Science, 46(3), 417–435. https://doi.org/10.1177/0306312716650046
- Larivière, V., & Sugimoto, C. R. (2018). Mesurer la science. Les Presses Universitaires de Montréal.
- Mercklé, P. (2004). Sociologie des réseaux sociaux, La Découverte.
INF2431M INF2431M Renouvellement UE EISO 4 Economie politique de la communication scientifique ouverte 6 0 10 45 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 0 0 0 0
Cette UE offre aux étudiants les fondamentaux conceptuels et théoriques des questions relatives aux liens entre science, innovation, technique, politique et société. Les enseignements dressent donc le panorama des auteurs et des courants fondateurs d’une des thématiques les plus débattues autour de la science ouverte. Les séances de cours qui alterneront lectures critiques de textes fondateurs et analyses de case studies contemporaines (ex. réchauffement climatique, pandémies, sécurité, autosuffisance alimentaire) décortiqueront la nature des liens entre science, créativité et innovation et les logiques de la globalisation qui les sous-tendent. Les enseignements feront une place particulière aux infrastructures d’Openness qui participent à la mutation des liens historiques entre science et innovation. Les outils d’analyse développés et utilisés en cours permettront aux étudiants d’explorer les différences qui accompagnent les interrelation complexes entre Recherche et Innovation selon les contextes dans lesquels ils se déploient (secteur de la santé, secteur de l’énergie, secteur militaire…).  
Modalités de contrôle des connaissances : CCI
Bibliographie indicative
    Chartron, G., & Salaün, J.-M. (2000). La reconstruction de l’économie politique des publications scientifiques. Bulletin Des Bibliothèques de France, 45(2), 32–42.
    David, P. (2004). Understanding the emergence of ‘open science’ institutions: functionalist economics in historical context. Industrial and Corporate Change, 13(4), 571–589.
    Meisel, J. H., & Popper, K. R. (2006). The Open Society and Its Enemies. The Western Political Quarterly, 4(3), 498. https://doi.org/10.2307/442861
    Miège, B. (2004). L’économie politique de la communication. Hermès, 1(38), 46–54.
    Mosco, V. (2009). The political economy of communication. Los Angeles: Sage. Retrieved from citeulike-article-id:12922135
    Moulier-Boutang, Y. (2007). Le capitalisme cognitif. La nouvelle grande transformation. Paris: Editions Amsterdam.
    Tyfield, D., Lave, R., Randalls, S., & Thorpe, C. (2017). The Routledge Handbook of the Political Economy of Science.
INF2432M INF2432M Renouvellement UE EISO 5 Services numériques à la recherche et Advocacy 3 0 6 21 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
Cette UE donne aux étudiants la maitrise des concepts et des techniques de marketing et de management des services numériques dédiés au périmètre de la science ouverte. Elle prépare les étudiants à identifier les critères et les caractéristiques d’un contexte et d’un public pour élaborer une offre de services adaptée, en tenant compte des contraintes (techniques, politiques, institutionnelles, financières). Cette UE donne également aux étudiants la maitrise des techniques d’advocacy leur permettant l’offre de services spécialisée de toucher un public d’usagers présent ou à distance.




INF2433M INF2433M Renouvellement UE EISO 6 Anglais spécialisé 3 0 0 30 0 0 0 210 35 18 1 0 cherifa.boukacem marc.bertin 71 100 0 0 0
L’objectif de ce cours est un travail au plus près des matières de spécialités autour des points suivants :
1.    Open Science
2.    Open Access
3.    Science in society
4.    Knowledge production
5.    Higher Education
6.    Scholarly Education
7.    Outreach
8.    Debating Society
Connaissances et compétences acquises par les étudiants :
Le renforcement des acquisitions linguistiques orales et écrites ainsi que l’interculturalité
Modalité de contrôle des connaissances : CCI
Bibliographie sommaire
    Understanding Intercultural Communication by Stella TING-TOOMEY & Leeva CHUNG Ed Oxford University Press
    Business English Idiompedia : A Handbook of Conversational Expressions for French Learners of Business English by Emmanuel ESE
    How To Write Effective Business English : Excel at E-Mail, Social Media and All Your Professional Communications Ed Fiona TALBOT
    Coaching across Cultures : New Tools For Leveraging National, Corporate and Professional differences Ed Philippe ROSINSKI
INF2434M INF2434M Renouvellement UE EISO 7 Cultures numériques, cultures scientifiques 3 0 6 21 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
Cette UE traite des enjeux qui entourent les ressorts sur lesquels reposent la construction d’une culture scientifique, fondée sur la compréhension des enjeux du numérique. Les enseignements prennent appui sur une approche pluridisciplinaire, laissant la place au dialogue des concepts et des auteurs de différents champs de recherche. Plus particulièrement, à partir des outils d’analyse développés en cours, let à partir d’études de cas réelles, les étudiants prendront en main l’interprétation des logiques techniques et des médias numériques en lien avec la transformation de la société. Les étudiants pourront développer une pensée critique outillée des formulations telles que « société de la connaissance », « société de l’information », « les communs des connaissances », « travail numérique », pour en restituer la réalité conceptuelle et la force idéologique.
Modalités de contrôle de connaissance : CCI

Bibliographie indicative
    Doueihi, M. (2008). La grande conversion numérique. Editions du Seuil.
    Doueihi, M. (2011). Digital Cultures. Harvard University Press.
    Labelle, S. (2001). La “Société de l’information” à décrypter. Communication & Langages, (128), 65–79.
    Labelle, S. (2014). Recherche et production de savoirs: transformations des conditions de travail par la recherche et l’innovation. Sciences de La Société, (93), 78–93. https://doi.org/10.4000/sds.2330
    Latour, B. (1996). Petites leçons de sociologie des sciences. Points Sciences S114. Paris : La Découverte.
INF2435M INF2435M Renouvellement UE EISO 8 Communication digitale et interculturalité  3 0 6 21 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0

Cette UE donne aux étudiants la maitrise de la communication digitale, fondée sur les plateformes des réseaux sociaux grand publics et spécialisées. Les étudiants font l’acquisition des principes sous-jacents à la communication digitale globalisés et aux approches interculturelles associées permettant de mieux cibler leur démarche de communication professionnelle individuelle ou en entreprise.

INF2436M INF2436M Renouvellement UE EISO 9 Insertion professionnelle 3 0 0 30 0 0 0 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0

L’UE prépare les étudiants à la maitrise des techniques de recherche de stage, de mise en média de leurs CV sur les plateformes numériques spécialisées, et aux méthodes de networking leur permettant d’intégrer des réseaux de compétences. L’UE permet aux étudiants d’acquérir une connaissance de l’univers du travail (réglementation, droit du travail, éthique et déontologie…). Enfin, grâce à des simulations et des mises en situation filmées, les étudiants perfectionneront leur maitrise des techniques d’entretien.
Enfin, de manière plus spécifique, la présentation des concours aux métiers de l’IST et des modalités de leurs préparations est également présentée aux étudiants pour accompagner leur orientation.  


INF2437M INF2437M Renouvellement UE EISO 10 Mémoire stage / Alternance 24 0 0 0 0 0 20 210 35 18 0 0 cherifa.boukacem marc.bertin 71 100 0 0 0
Le mémoire de stage ou d’alternance rend compte du travail réalisé individuellement par l’étudiant ou l’étudiante – en accompagnement du tuteur universitaire - durant la réalisation de leur mission en milieu professionnel. Il traite d’une problématique définie en accord avec ses tuteurs (professionnel et universitaire) pour laquelle l’étudiant ou l’étudiante mobilisent l’ensemble des acquis d’apprentissages de leur formation. Le mémoire témoigne donc de la capacité des étudiants à opérationnaliser leurs connaissances et leurs compétences au profit de la réalisation des tâches associées à leur mission en entreprise ou en organisme public.
Dans le cas des étudiants souhaitant poursuivre en thèse, le mémoire articule sa problématisation à une question de recherche pour laquelle l’étudiante.e mène un travail de terrain et donc un protocole méthodologique. Dans ce cas, la rédaction d’une note d’intention est proposée dès le début du second semestre pour montrer la maitrise, par l’étudiant, d’un ensemble d’auteurs et de concepts du champ de recherche des SIC.

Le mémoire fait l’objet d’une note et d’une soutenance évaluée et qui à l’instar du mémoire fait également l’objet d’une note.

Modalités de contrôle de connaissance : Mémoire écrit et soutenance orale

Bibliographie indicative
-    Le Marec, J. (2002). Ce que le “terrain” fait aux concepts. Vers une théorie des composites. Mémoire d’Habilitation à Diriger les Recherches, Université Paris 7. Paris.
-    Seurrat, A. (2014). Ecrire un Mémoire en Sciences de l’Information et de la Communication. Recits de Cas, Demarches et Méthodes. Presses Sorbonne Nouvelle.
INF2438M INF2438M Renouvellement UE IA-IHM & IA Intelligence Artificielle et Interaction Humain Machine 3 0 15 3 12 0 0 210 35 18 0 0 aurelien.tabard aurelien.tabard 0 0 0 0
* Positionner les développement technologiques dans une perspective historique
* Concevoir un vocabulaire de gestes pour controler des dispositifs interactif
* Implémenter un reconnaisseur de geste
* Connaitre les principaux modèles comportementaux et cognitifs utilisés en IHM
* Connaitre les principaux leviers de l'adaptation d'interface
* Implémenter des outils d'optimisation d'interface basés sur des modèles
* Connaitre les spécificités de l'interaction humain robots
* Connaitre stratégies de gamification
* Implémenter des mécanismes de gamification adaptatif
* Connaitre les stratégies permettant de rendre intelligible des raisonnements algorithmiques
* Définir un plan d'expérience
* Mener une expérience controllée
* Analyser les résultats d'une expérience

Cette UE vise à fournir aux étudiants les outils conceptuels et techniques pour mieux concevoir des systèmes intelligents en considérant les besoins, les usages, et les comportements des utilisateurs. Nous chercherons à comprendre comment coupler ou compléter intelligence humaine et artificielle, pour améliorer l’expérience d’usage. 


L’UE aborde les questions de l’interaction dite naturelle, de l'adaptation dynamique des interfaces, d’interaction humain agent artificiel, intelligibilité et enfin les questions d’évaluation empirique de la qualité des systèmes intelligents.


De manière transverse, elle offrira une perspective historique des liens entre IHM et IA, et confronte par la pratique les étudiants aux enjeux d’éthique de l’IA. 

INF3000L+ Création UE LIFWEB Conception et Programmation Web 3 0 15 0 15 0 0 210 35 18 0 0 aurelien.tabard
INF3001L INF3001L Renouvellement UE LIFRES Réseaux 6 0 24 18 18 0 0 210 35 18 0 0 olivier.gluck 27 100 0 0 0
Aucun
Compétences spécifiques :
Expliquer le fonctionnement d'Internet et ses principales applications
Décrire ce qu'il se passe sur Internet quand un navigateur web demande une page à un serveur web
Décrire le fonctionnement d'Internet, ses principales applications et protocoles
Définir et mettre en œuvre l’architecture d’un réseau d’entreprise
Identifier et classifier les principaux protocoles et normes des réseaux
Identifier et utiliser les équipements d’interconnexion des réseaux
Administrer un ou plusieurs réseaux d'ordinateurs interconnectés
Travailler sur une machine distante
Décrire et mesurer les performances d’un réseau
Envoyer des requêtes simples à un serveur Web ou DNS et interpréter leurs réponses
Configurer un commutateur/routeur
Configurer et dépanner un réseau
Connecter un réseau à Internet
Lire, comprendre, dépanner, optimiser une table de routage
Capturer et analyser les traces d’un réseau
Lire les fichiers de configuration des équipements réseaux
Prendre en compte la sécurité dans la configuration d’un réseau
Identifier et manipuler les représentations des données en machine
Utiliser les interfaces de programmation d’un système d’exploitation
Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur
Prendre en compte la sécurité dans la configuration d’un système
Cliquez ici pour accéder aux supports de cours
- Introduction aux réseaux et Notions de base : notions élémentaires, fonctions et classifications des réseaux, représentation de l'information, transmission de données, supports et techniques de transmission architectures en couches, encapsulation, modèles OSI et TCP/IP
- Notions de protocoles : fanion et transparence, contrôle d'intégrité contrôle de l'échange, contrôle de flux, signalisation
- Protocoles de liaison de données : rôle de la liaison de données, fonctionnalités, exemple de protocoles : HDLC
- Réseaux Locaux : architecture IEEE 802, couches MAC et LLC, étude d'Ethernet (origine, trames, les Ethernet), politique d'accès, topologie et commutation, aspects protocolaires, aperçus des VLAN et des réseaux sans fil
- Internet et l'architecture TCP/IP : pile et applications TCP/IP, adressage et routage dans IP, protocole IP, protocoles de transport (UDP/TCP)

Compétences parties 1 et 2 du cours :
Savoir calculer un débit
Savoir dessiner un échange avec temps de propagation, latence, débit, RTT
Savoir calculer le temps de transmission total d’un échange
Connaître les couches OSI
Savoir décrire l’encapsulation et la désencapsulation
Connaître l’architecture TCP/IP, la taille des en-têtes, l’encapsulation
Connaître la différence entre mode connecté ou non connecté

Compétences parties 3 et 4 :
Connaître les mécanismes associés à la fiabilité
Savoir calculer la probabilité qu’une trame est correcte/erronée
Savoir mettre en œuvre la fiabilité sur des exemples
Savoir calculer l’efficacité d’un échange, calculer un débit utile
Savoir décrire l’utilisation des fenêtres d’émission et réception
Savoir calculer la taille de la fenêtre optimale
Connaître la différence entre rejet simple et rejet sélectif
Savoir mettre en œuvre une gestion sautante ou glissante de la fenêtre
Connaître les caractéristiques du protocole HDLC, les différents types de trame
Savoir comprendre ou compléter un échange HDLC
Savoir décoder une trame HDLC avec annexe fournie

Compétences partie 5 :
Connaître les rôles de la couche MAC, les différents types d’adresses MAC, le format
Connaître le format de la trame Ethernet
Connaître le principe du CSMA/CD
Savoir calculer la taille du bourrage dans une trame Ethernet
Connaître la différence entre un Hub et un Commutateur
Connaître la nomenclature de désignation des réseaux Ethernet 10base…
Savoir à quoi servent les VLAN et le 802.1p/Q

Compétences partie 7 :
Connaître l’architecture TCP/IP, le rôle des différents protocoles, la taille des en-têtes
Savoir donner les caractéristiques d’une adresse IP, reconnaître les classes, les adresses privées…
Savoir donner une adresse de diffusion, la taille d’un SR, la première et dernière adresse machine…
Savoir écrire un netmask dans la forme décimale et CIDR
Savoir découper un réseau en plusieurs sous-réseaux
Savoir ce que fait la commande ip a add
Savoir faire une table de routage
Savoir lire une table de routage et faire le schéma du réseau associé
Savoir agréger une table de routage
Savoir décrire les échanges de trames suite à un ping (ARP/ICMP…)
Savoir fragmenter un paquet IP
Savoir analyser des trames, décrire l’encapsulation
Savoir décrire les échanges entre un navigateur Web et un serveur Web

INF3001L+ Création UE LIFIMAGE Initiation à l’analyse et synthèse d’images 3 0 9 6 15 0 0 210 35 18 0 0 erwan.guillou jean-claude.iehl 27 100 0 0 0
Bases de programmation
L'UE a pour but d'introduire quelques concepts fondamentaux en informatique graphique :
- représentation d'un image
- formation d'une image
- codage de l'information couleur dans une image, espaces de couleurs
- bases de traitement d'images
- bases de synthèse d'images
INF3002L INF3002L Renouvellement UE LIFAPC Algorithmique, Programmation et Complexité 6 0 15 15 30 0 0 210 35 18 0 0 raphaelle.chaine vincent.nivoliers 0 0 0 0
Cette UE capitalise sur les matières proposées les années précédentes. En particulier elle repose principalement sur les UE :
  • Algorithmique et programmation impérative, initiation (LIFAPI);
  • Algorithmique et programmation et structures de données (LIFAPSD);
  • Conception et développement d'applications (LIFAPCD);
et dans une moindre mesure, pour la maîtrise de la récursion et l'approche fonctionnelle :
  • Algorithmique et programmation récursive (LIFAPR)
  • Programmation fonctionnelle (LIFAPF)
Du point de vue algorithmique et structure de données, elle suppose la maîtrise des notions suivantes :
  • conteneurs de base : tableaux, tableaux dynamiques, listes chaînées (LIFAPI, LIFAPSD)
  • arbres binaires de recherche (sans stratégie de rééquilibrage) (LIFAPR, LIFAPSD)
  • conception et compréhension d'algorithmes itératifs simples à base de boucles (LIFAPI)
  • conception et compréhension d'algorithmes récursifs simples : cas d'arrêt, appel récursif (LIFAPR)
  • notion de pile d'appels de fonction et de tas pour l'allocation dynamique de mémoire (LIFAPSD)
Du point de vue pratique, les travaux pratiques se feront en C++. Une maîtrise de base de ce langage et de la programmation en général est attendue :
  • maîtrise de son système d'exploitation et de l'installation de logiciels (LIFAPCD)
  • maîtrise d'un éditeur de code (LIFAPCD)
  • compilation d'un programme décrit sur plusieurs fichiers (LIFAPCD)
  • structures de données de base en C++ : types primitifs, tableaux, adresses (pointeurs), références (LIFAPI, LIFAPSD)
  • allocation dynamique, construction et destruction des structures de données (LIFAPSD)
  • récupération et analyse des erreurs de compilation simples (erreurs de syntaxe, de typage) (LIFAPCD)
  • récupération et analyse des erreurs d'exécution simples (erreur de segmentation, boucle infinie) (LIFAPCD)
Enfin certaines notions mathématiques sont nécessaires pour la compréhension de cette UE :
  • compréhension d'énoncés formels utilisant des quantificateurs : pour tout, il existe
  • notation de sommation (somme pour i allant de a à b), factorisation et développement
  • expression générale de la somme des termes de suites arithmétiques et géométriques
  • mécanisme de preuve, en particulier preuve par récurrence
  • notions élémentaires de probabilités : calcul de moyenne, distribution uniforme
Cette UE apporte des compétences à la fois formelles et pratiques liées à la compréhension, la conception et la mise en œuvre d'algorithmes. Du point de vue de la compréhension et conception, elle apporte des compétences pour :
  • Analyser et décomposer une tâche pour concevoir un algorithme
  • Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates
  • Concevoir un algorithme itératif ou récursif adapté à une structure de données
  • Dérouler un algorithme ou un code écrit dans un langage quelconque à la main
  • Traduire un algorithme décrit formellement dans un langage de programmation
  • Identifier et manipuler les représentations des données en machine
  • Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
  • Évaluer la complexité algorithmique d’une solution ou d’un algorithme proposé
  • Expliquer le modèle d’exécution mémoire d’un programme C et la pile logicielle
  • Modéliser des problèmes concrets en des instances de problèmes plus abstraits (codage, logique, graphes)
En ce qui concerne la mise en œuvre pratique via la traduction dans un langage de programmation et son exécution sur une machine, cette UE aspire à permettre de :
  • Reproduire, décrire la chaîne d’interprétation ou de compilation et savoir interpréter/compiler une application avec les systèmes de build standards des langages standards
  • Résoudre un problème logiciel (erreur à la compilation, à l’exécution)
  • Illustrer la bonne exécution d’un programme en programmant les bonnes sorties issues de bons jeux de tests
  • Évaluer en pratique les performances d’une solution
Enfin plus généralement, elle apporte des compétences relative au développement d'applications robustes, durables et maintenables, dans le cadre d'un travail en groupe :
  • Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser
  • Distinguer, comparer, choisir certaines architectures logicielles ou certains design patterns
  • Utiliser des composants logiciels existants et les intégrer dans un développement
  • Programmer un logiciel implémentant une spécification fonctionnelle et technique
  • Assurer la pertinence, la fiabilité et la qualité d’une solution algorithmique ou logicielle
  • Lire et analyser une spécification, en tirer une réalisation
Selon les années, il sera également possible d'aborder certaines notions supplémentaires :
  • preuves de programmes
  • algorithmes glouton, programmation dynamique
  • problèmes classiques sur les graphes (coloration, flots)
INF3003L+ Création UE LIFRS2P Réseaux, Systèmes, Sécurité par la Pratique 6 0 3 45 12 0 0 210 35 18 0 0 isabelle.guerin 27 100 0 isabelle.guerin-lassous@ens-lyon.fr 0 0
Bases des réseaux IP (principes principaux de la pile TCP/IP) et des systèmes.
Compétences spécifiques :
- Savoir configurer des réseaux IP
- Savoir tester le déploiement d'un protocole dans les réseaux IP
- Savoir administrer un système Linux
- Savoir sécuriser son système et son réseau 
Cette UE porte sur des notions avancées en réseau et en système abordées sous un angle expérimental :
- adressage IP (IPv4 et IPv6, DHCP, NAT)
- routage statique et routage dynamique
- réseaux locaux (spanning tree,VLANs)
- sécurité (sécurité sur les ports, firewall)
- gestion du système Linux (organisation, principales commandes, entrées/sorties)
- sécurité du système Linux (utilisateurs, permissions)
- autres bases de la cyberséurité (confidentialité des données, disponibilité)

Il sera possible de passer des certifications CISCO CNA lors de cette UE.
INF3004L+ Création UE LIFSTAGE Stage pour le parcours info-maths 3 0 0 0 0 0 0 210 35 18 0 0 elodie.desseree alexandre.meyer
INF3007L INF3007L Renouvellement UE LIFAPOO Algorithmique et Programmation Orientée Objet 6 0 24 13.5 19.5 0 0 210 35 18 0 0 frederic.armetta 27 100 0 0 0

UE Algorithmique, programmation et structures de données (LIFAPSD) ou connaissances équivalentes

* Architecturer un logiciel complexe en définissant le modèle des données et la structure des composants à concevoir ou à utiliser

- Identifier et manipuler les représentations des données en machine

- Comprendre et exécuter un cahier des charges

- Utiliser des composants logiciels existants et les intégrer dans un développement

- Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML

* Concevoir des algorithmes répondant à un cahier des charges, en choisissant les structures de données adéquates

- Lire et analyser une spécification, en tirer une réalisation

- Analyser et décomposer une tâche pour concevoir un algorithme

- Identifier et manipuler les représentations des données en machine

- Choisir une structure de données pertinente

- Concevoir un algorithme itératif ou récursif adapté à une structure de données

- Dérouler un algorithme

- Lire et analyser une spécification, en tirer une réalisation

- Résoudre un problème logiciel (erreur à la compilation, à l’exécution)

- Analyser et interpréter les résultats produits par l'exécution d’un programme

- Interpréter (à la main et via un programme) un code écrit dans un langage

* Concepts de la programmation  objet : classe, héritage, polymorphisme, généricité, modularité, méthodologies
* Notations UML : diagrammes fonctionnels, statiques et dynamiques
* Applications avancées de la POO : processus, Modèle Vue Contrôleur, programmation événementielle, design patterns
* Applications dans un langage orienté objet : langage JAVA

INF3034L INF3034L Renouvellement UE LIFLC Logique classique 3 0 12 12 6 0 0 210 35 18 0 0 xavier.urbain 27 100 0 0 0
Identifier, analyser le besoin d’un client et spécifier un logiciel permettant d’y répondre

Utiliser des notations formelles pour produire des spécifications non-ambiguës
Intégrer les problématiques de tests, de robustesse, de qualité et de sécurité dans l’architecture d’un logiciel

Lire et analyser une spécification, en tirer une réalisation
Concevoir un algorithme itératif ou récursif adapté à une structure de données
Dérouler un algorithme

Assurer la pertinence, la fiabilité et la qualité d’une solution algorithmique / logicielle
Démontrer la terminaison et la correction d’un algorithme
Analyser et décomposer un problème pour identifier les méthodes informatiques à appliquer pour le résoudre
Se servir des bases de la logique pour organiser un raisonnement, construire et rédiger de manière synthétique et rigoureuse
Manipuler les fonctions booléennes (tables de vérité, de Karnaugh, expressions booléennes et calcul booléen...)
Utiliser les concepts de base des langages de programmation
Interpréter (à la main et via un programme) un code écrit dans un langage
Le cours de logique est conçu comme une invitation à l’abstraction, au raisonnement et à la spécification formelle, au moins non ambiguë. On souhaite en toute généralité savoir exprimer propriétés des objets et démonstrations de ces propriétés. Le cours vise à donner à tout étudiant les moyens, d'une part, de spécifier correctement les fonctions et programmes afin d’aider à leur compréhension sinon à leur vérification, d'autre part, de manipuler les systèmes à base de règles d'inférence.

S'appuyant sur l'induction (ensembles inductifs, preuves par induction) il cherche en particulier à mettre en évidence les liens entre les bases du raisonnement et les bases de la programmation.
Le cours est illustré à l'aide de l'assistant à la preuve Coq.
  • Induction
  • Logique propositionnelle
  • Logique du premier ordre, déduction naturelle
  • Ouverture vers la sémantique des langages
INF3035L INF3035L Renouvellement UE LIFDATA Analyse de données 3 0 15 0 15 0 0 210 35 18 0 0 khalid.benabdeslem 27 100 0 0 0
Des notions de base en statistique, algorithmique et programmation
Maitriser la chaîne de traitement de base d'une exploration DATA pour l'extraction et la visualisation de connaissances.
- Calculs à base d'inertie
- Analyse factorielle
- Classification automatique
L'objectif de cette UE est de préparer les étudiants au décisionnel avec des méthodes statistiques descriptives et exploratoires de base. Il s'agit de méthodes qui permettent d'avoir un premier pas dans l'extraction de connaissances à partir de données, pouvoir les visualiser et d'en extraire le maximum d'informations pertinentes pouvant amener à des processus d'aide à la décision. Le programme de cette UE est organisé sous forme d'un "Pipe-line" qui commence à partir de l'exploration des données multidimensionnelles (quantitatives et qualitatives) jusqu'à l'extraction de connaissances à l'aide de méthodes de réduction de dimension, d'extraction de variables, de visualisation et classification automatique des données.
Le programme débutera par des notions générales sur des connaissances élémentaires qu’on peut extraire à partir des données. Il s’agit de : la moyenne, l’écart type, la covariance et la corrélation entre variables.
Ensuite, les étudiants verront comment préparer le terrain pour des processus d’aide à la décision par des techniques de codage et de prétraitement. Une étape nécessaire par la suite concernera la visualisation des données multidimensionnelles sur des plans bidimensionnels. C’est dans cette étape que les étudiants feront la connaissance de méthodes statistiques de réduction de dimension et de transformation de variables basée sur l’analyse factorielle. En effet, les données peuvent être de nature quantitative, il s’agira donc d’étudier l’analyse en composantes principales (ACP) ou qualitatives où les méthodes d’analyse factorielle des correspondance seront abordées (AFC).
Une question primordiale se pose à ce niveau : après la représentation de la distribution des données sur un plan, comment peut-on extraire des profils pertinents à partir de ces données. La question sera traitée par des méthodes de classification automatique par partitionnement (K-Means, ..) et par hiérarchisation (CAH, ...).
INF3036L INF3036L Renouvellement UE LIFIHM Interactions Humain-Machine et ergonomie 3 0 15 0 15 0 0 210 35 18 0 0 stephanie.j-daubias 27 100 0 0 0
Pas de pré-requis informatiques particuliers. Mais une bonne ouverture d'esprit est nécessaire.

Identifier, analyser le besoin d’un client et spécifier un logiciel permettant d’y répondre
- Concevoir une interface homme-machine, en faire la maquette et en réaliser le prototype
- Utiliser des composants logiciels existants et les intégrer dans un développement
- Produire une interface utilisateur adéquate et pertinente
- Présenter un ensemble d’informations à l’utilisateur à travers une interface (Web, client lourd)
- Concevoir une page web contenant un formulaire ainsi que sa mise en forme, y associer un traitement côté client et générer des contenus dynamiques côté serveur
Assurer la pertinence, la fiabilité et la qualité d’une solution algorithmique / logicielle
- Évaluer l’ergonomie d’une interface utilisateur

Le cours d’Interactions Humain-Machine et ergonomie vise à enseigner aux étudiants les connaissances et savoir-faire nécessaires à la conception et l’évaluation des interfaces de logiciels et sites web interactifs. Les étudiants acquerront également les bases de la programmation d'interfaces et d'interactions.

Programme

- Introduction à l’IHM : définitions, importance de l’IHM, IHM et pluridisciplinarité, approche anthropocentrée
- Interface graphique (les composants), les interactions
- Programmation événementielle
- Méthodes de conception et d’évaluation, outils de maquettage
- Ergonomie des interfaces : critères d’évaluation, exemples et contre-exemples
- Ergonomie du web
- Ergonomie des applications mobiles
- Prise en compte des handicaps, accessibilité numérique
- Études de cas : évaluation de logiciels, de sites web et d'applications mobiles
- Conception d'applications interactives ergonomiquement valides

https://perso.liris.cnrs.fr/stephanie.jean-daubias/enseignement/IHM/

 

INF3038L INF3038L Renouvellement UE LIFLF Théorie des Langages Formels 3 0 15 9 6 0 0 210 35 18 0 0 sylvain.brandel sylvain.brandel 0 0 0 0
Il est recommandé d'avoir suivi les UE Algorithmique et programmation récursive (en L1) et programmation fonctionnelle (en L2)
- Notions d'alphabet, de mots, de langages.
- Langages rationnels : automates à états finis déterministes et non déterministes, déterminisation, langages rationnels, lemme de l'étoile, minimisation des automates (théorème de Myhill - Nerode), grammaires régulières, expressions régulières.
- Langages algébriques : grammaires, langages générés par une grammaire, grammaires et langages algébriques, automates à pile déterministes et non déterministes, lemme de la double étoile.
- Hiérarchie des langages : langages rationnels, hors contextes, dépendants du contexte, récursifs, récursivement énumérables.
- Problématique de la compilation, analyse lexicale, analyse syntaxique.

L'objectif de cette UE est double.
D'une part cette UE apporte des connaissances en informatique théorique et fondamentale, à travers l'étude des langages rationnels et algébriques, des automates à états finis et à pile, illustrés de preuves de théorèmes de rationalité ou non, d'algébricité ou non, ainsi que de minimisation des états. L'UE prépare ainsi au module de modèles de calculs qui introduira les machines de Turing en M1.
D'autre part, des TP permettent d'illustrer les concepts théoriques, en montrant l'implémentation et le fonctionnement pratique des automates introduits de manière formelle. Les TP sont effectués à l'aide de l'assitant à la preuve Coq, qui permet, en adéquation avec le module logique classique, d'implémenter les automates et les grammaires avec le langage Gallina, puis de faire des preuves d'équivalences entre automates et grammaires.
Une introduction à l'analyse lexicale et syntaxique permettra également de préparer au module de compilation en M1.

INF3040L INF3040L Renouvellement UE LIFALGONUM Algorithmique Numérique 3 0 15 10.5 4.5 0 0 120 35 18 0 0 saida.bouakaz saida.bouakaz 27 0 0 0 0
Calcul matriciel

À l'issue de ce cours, l'étudiant aura acquis des capacité à :
modéliser un problème, analyser et décomposer un processus et identifier les solution, analyser la compléxité de la solution, analyser et identifier les structures informatiques adéquates.

 

L'objectif principal du cours est de proposer aux étudiants du L3 informatique un cours d’algorithmique numérique pour leur faire comprendre l’importance du choix d’une méthode numérique pour la résolution d’un problème mathématique en fonction des conditions, des exigences. Compte tenu du fait que la plupart des outils « de base » sont déjà programmés dans des librairies de calculs mathématiques, un informaticien n’est pas amené à« redévelopper » des outils de résolution mais de choisir (dans une librairie) celle qui convient le mieux à son problème et aux cas traités. Sans sacrifier à la rigueur, le but du cours est de sensibiliser l’étudiant au fait qu’en fonction des conditions du problème, en choisissant l’algorithme le plus adapté, on peut gagner du temps de calcul, de la précision et/ou éviter des instabilités numériques. Il s’agit de développer l'esprit critique lié à cette démarche (analyse d'erreur, qualité de la solution numérique, temps de calcul, etc).

 Bref sillabus :

 Introduction aux concepts de l'algorithmique numérique : arithmétique en précision finie, instabilité numérique et condition d’un problème, complexité des algorithmes

Résolution numérique de systèmes linéaires : méthode de Gauss, factorisation LU, matrices particulières, méthodes itératives (Jacobi, Gauss-Seidel) – (étude de la complexité, stabilité, convergence)

Zéro d’une fonction : méthode de dichotomie, bissection, Newton (étude de la complexité, stabilité, précision)

Interpolation : méthode de Lagrange, polynome de Newton, et différences finies, splines cubiques
Approximation polynomiale, méthodes des moindres carrés : moindres carrés, Chebychev (méthodes, complexité, comparaison de méthodes)

Intégration numérique (trapèzes, Simpson)

INF3041L INF3041L Renouvellement UE LIFOPTIM Optimisation 3 0 15 10.5 4.5 0 0 120 35 18 0 0 saida.bouakaz saida.bouakaz 27 0 0 0 0
Calcul matriciel
Identification et modélisation d'un problème d'otimisation linéaire et proposer des solution, analyser la compléxité de la solution, analyser et identifier les structures informatiques adéquates.

L’objet de ce cours est une initiation à la modélisation d’un problème d’optimisation linéaire.  Le but de ce cours est de permettre aux étudiants d’identifier un problème d’optimisation linéaire, de le modéliser en terme d’équations mathématique. Il s’agit d'amener les étudiants à maîtriser l'écriture des conditions d'optimalité et leur mise en pratique sous forme d'algorithmes efficaces permettant de choisir la méthode de résolution. Bref sillabus :

  • Introduction à la programmation linéaire, notion de variable décisionnelle, contraintes, maximisation/minimisation de la fonction « objectif »
  • Représentation graphique des contraintes, de la fonction « objectif », résolution algébrique, résolution algébrique
  • Méthode du simplexe, notion de base initiale/ base réalisable, algorithme du simplexe
  • Dualité
  • Programmation en nombres entiers ((PLNE) : algorithme de Dakin
  • Problème du voyageur du commerce : modélisation du problème, algorithme de Little
  • Optimisation par méta heuristiques : descente de gradient, recuit simulé, méthode Tabou
  • Compléments : algorithmes génétiques, autres paradigmes
INF3045L++ Création UE LIFSTAGE Stage de découverte de l'informatique en entreprises 6 0 0 0 0 0 8 210 35 18 0 0 elodie.desseree alexandre.meyer 27 100 0 0 0
Avoir suivi toutes les UE de la licence d'informatique (ou équivalent).
1 Identifier, analyser le besoin d’un client et spécifier un logiciel permettant d’y répondre
2 Identifier les données utiles au fonctionnement d’un logiciel
3 Connaître le Droit du Numérique : propriété intellectuelle et gestion des données personnelles (respect du RGPD)
4 Concevoir une interface homme-machine, en faire la maquette et en réaliser le prototype
5 Présenter un projet à des clients ou à des collaborateurs
6 Identifier et manipuler les représentations des données en machine
7 Distinguer, comparer, choisir certaines architectures logicielles ou certains design patterns
8 Utiliser des composants logiciels existants et les intégrer dans un développement
9 Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
10 Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML
11 Produire une interface utilisateur adéquate et pertinente
12 Planifier les étapes d’un développement
13 Identifier et résoudre les blocages dans l’organisation d’une équipe
14 Utiliser des outils de gestion de projet
15 Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
16 Lire et analyser une spécification, en tirer une réalisation
17 Programmer dans plusieurs langages, choisir celui adapté à l’application et être capable de rapidement programmer dans un nouveau langage
18 Utiliser plusieurs outils de développement en fonction de chaque langage / applications cibles : installation, IDE, debug, profilage, système de build, etc.
19 Présenter un ensemble d’informations à l’utilisateur à travers une interface (Web, client lourd)
20 Concevoir une page web contenant un formulaire ainsi que sa mise en forme, y associer un traitement côté client et générer des contenus dynamiques côté serveur
21 Travailler sur une machine distante

En plus des stages non obligatoires qu’un étudiant peut faire à tout moment, la formation d’un étudiant se termine par ce stage obligatoire. L’objectif de ce stage qui conclut cette formation de licence est multiple. Il permet à l’étudiant de découvrir l'entreprise et son fonctionnement, de prendre conscience des conditions réelles d'exercice et du rôle de l'informatique dans l'entreprise. Souvent nos stages portent sur le développement d'applications ou de site web en respectant les contraintes d’une entreprise (délai, conservation de l’existant, coût, production des documents liés au développement). Dans tous les cas, le stage se réalise sur une thématique informatique.

 L’UE sera précédée de cours organisés par le SOIE (TRIP) ayant pour objectif de préparer au stage avec pour thème « rechercher un stage, un emploi ».

INF3046L INF3046L Renouvellement UE LIFSE Système d'exploitation 3 0 7.5 6 16.5 0 0 210 35 18 0 0 nicolas.louvet gregoire.pichon 27 100 0 0 0
  • Être à l'aise avec l'utilisation de la ligne de commande (Shell) sous GNU/Linux.
  • Être à l'aise en algorithmique et avec la programmation en C/C++.
  • Savoir utiliser un compilateur C/C++ en ligne de commande, et utiliser GNU Make.
Pour les étudiants du portail Maths-Info, et plus généralement de Lyon 1, il est recommandé d'avoir suivi :
  • l'UE "Unix" en L1,
  • l'UE "Algorithmique programmation impérative, initiation" en L1,
  • l'UE "Algorithmique, programmation et structures de données" en L2 .
  • Choisir une structure de données pertinente.
  • Dérouler un algorithme.
  • Programmer un logiciel implémentant une spécification fonctionnelle et technique.
  • Décrire les éléments constitutifs d’un ordinateur et de son système d’exploitation (Unix et Windows).
  • Programmer de petites applications multi-processus ou multi-threads.
  • Distinguer les modèles importants pour la programmation système (par exemple fork-join, producteurs-consommateurs, lecteurs-rédacteurs).
  • Analyser et interpréter les résultats produits par l'exécution d’un programme.
  • Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur.
  • Travailler sur une machine distante.
  • Interpréter (à la main et via un programme) un code écrit dans un langage.
Le système d'exploitation est l'interface entre le matériel et les applications informatiques. Il est donc crucial que les futurs informaticiens connaissent les différentes fonctions que doit remplir un système d'exploitation, et sachent les exploiter au mieux, que ce soit en tant qu'utilisateur, administrateur, ou programmeur.

Nous aborderons les notions de base des systèmes d'exploitation : système de fichiers, processus, communication entre processus et gestion de la mémoire. Ces notions seront à chaque fois appliquées, soit au travers des primitives de programmation POSIX en C, soit via l'utilisation d'outils en ligne de commande. Les étudiants travailleront sous GNU/Linux, comme modèle de système Unix ; nous prendrons aussi quelques exemples issus du système Windows.

Pour entrer dans plus de détails, nous aborderons dans l'UE les points suivants :
  • Présentation des ressources, notion de protection et de mode noyau ou utilisateur.
  • Les différents types de fichiers, les primitives pour les manipuler, et des exemples de systèmes de fichiers.
  • La notion de processus, la création, la terminaison et le recouvrement de processus.
  • Des méthodes de communication entre processus :  variables d'environnement, signaux, tubes.
  • Les sockets et le modèle client-serveur, comme méthode de communication entre processus distants.
  • Des notions sur la gestion virtuelle de la mémoire par pagination.
INF3048L INF3048L Renouvellement UE LIFBDA Bases de données avancées 6 0 22 20 18 0 0 210 35 18 0 0 fabien.de-marchi angela.bonifati 27 100 0 0 0
  1. Rappels : structure du modèle relationnel, langages d'interrogation théoriques et pratiques (SQL)
  2. Conception des bases de données relationnelles : aspects théoriques
    1. Contraintes d'intégrité (dépendances fonctionnelles, d'inclusion) : syntaxe, sémantique, inférence, base de données d'Armstrong
    2. Problèmes de redondance et anomalies de mises à jour, formes normales
    3. Algorithmes de minimisation et de normalisation (analyse et synthèse) pour les dépendances fonctionnelles
    4. Traduction schéma entité/relation vers modèle relationnel
  3. Conception des bases de données relationnelles : aspects pratiques
    1. Conception de base de données avec contraintes d'intégrité 
    2. Implémentation de déclencheurs (triggers) et programmation PL/SQL  
    3. Gestion des transactions et de la concurrence  
  4. Performance dans les bases de données :
    1. Structures d'index mono-dimensionnels (séquentiels, B-arbres, hachage, clusters)
    2. Query Processing et optimisation de requêtes
    3. Modelisation physique et paramétrage de bases de données
INF3049L INF3049L Renouvellement UE LIFPCA Programmation concurrente et administration système 3 0 6 7.5 16.5 0 0 210 35 18 0 0 gregoire.pichon yves.caniou 27 100 0 0 0
Programmation en C++, notions en systèmes d'exploitation.

Il est recommandé d'avoir suivi les UEs "Algorithmique, programmation et structures de données",
 "Unix" et "Système d'exploitation" 
Analyser et décomposer une tâche pour concevoir un algorithme
Programmer un logiciel implémentant une spécification fonctionnelle et technique
Exploiter le parallélisme des machines à l’exécution
Utiliser les interfaces de programmation d’un système d’exploitation
Programmer des interactions fines avec le matériel grâce au système d'exploitation
Analyser et interpréter les résultats produits par l'exécution d’un programme
Déployer et exploiter un logiciel existant ou développé sur mesure, dans son environnement (poste de travail, système d’exploitation, pile logicielle)
Décrire les éléments constitutifs d’un ordinateur et de son système d’exploitation (Unix et Windows)
Utiliser un système d’exploitation (ligne de commandes...) en mode utilisateur et administrateur
Installer et configurer un logiciel et le matériel associé
Assurer la mise à jour d’un logiciel
Diagnostiquer et résoudre les problèmes de fonctionnement d’un logiciel (fichiers de logs, …)
Diagnostiquer et résoudre les problèmes de fonctionnement matériels
Interpréter (à la main et via un programme) un code écrit dans un langage
Dérouler un algorithme
Programmer de petites applications multi-processus ou multi-threads
Distinguer les modèles importants pour la programmation système (par exemple fork-join, producteurs-consommateurs, lecteurs-rédacteurs)
Gérer les droits d’accès standards des utilisateurs
I. Programmation concurrente
  - Principes de la programmation concurrente (ou « parallèle »)
  - Mise en œuvre en utilisant la bibliothèque de threads de C++11
  - Problèmes classiques et solutions possibles
II. Ordonnancement
  - Principe de l'ordonnanceur d'un système d'exploitation
  - Politiques d'ordonnancement (temps-réel et non-temps réel)
  - Fonctionnement dans les OS courants (Linux, Windows)
III. Administration système
  - Gestion des utilisateurs et des droits
  - Installation de logiciels sous Linux
  - Gestion des services, mise en œuvre avec systemd, fichiers de log
INF3051L INF3051L Renouvellement UE LIFPROJET Projet Informatique 6 0 12 0 48 0 0 210 35 18 0 0 remy.cazabet 0 0 0 0
Programmation informatique
Pour tous:
Identifier, analyser le besoin d’un client et spécifier un logiciel permettant d’y répondre
Présenter un projet à des clients ou à des collaborateurs
Planifier les étapes d’un développement
Programmer dans plusieurs langages, choisir celui adapté à l’application et être capable de rapidement programmer dans un nouveau langage
Lire et analyser une spécification, en tirer une réalisation
Utiliser des outils de gestion de projet
Utiliser les algorithmes classiques, les combiner pour résoudre des problèmes complexes
Identifier et résoudre les blocages dans l’organisation d’une équipe

Selon les sujets:
Identifier les données utiles au fonctionnement d’un logiciel
Connaître le Droit du Numérique : propriété intellectuelle et gestion des données personnelles (respect du RGPD)
Concevoir une interface homme-machine, en faire la maquette et en réaliser le prototype
Identifier et manipuler les représentations des données en machine
Distinguer, comparer, choisir certaines architectures logicielles ou certains design patterns
Utiliser des composants logiciels existants et les intégrer dans un développement
Choisir de façon raisonnée la manière de stocker et d’exploiter les données persistantes d’un logiciel
Structurer et modéliser le code d’un logiciel pour en faciliter la maintenance et en améliorer la qualité, en utilisant des standards du domaine comme l’UML
Produire une interface utilisateur adéquate et pertinente
Utiliser plusieurs outils de développement en fonction de chaque langage / applications cibles : installation, IDE, debug, profilage, système de build, etc.
Présenter un ensemble d’informations à l’utilisateur à travers une interface (Web, client lourd)
Concevoir une page web contenant un formulaire ainsi que sa mise en forme, y associer un traitement côté client et générer des contenus dynamiques côté serveur
Travailler sur une machine distante
L'objectif de cette UE est de permettre aux étudiants, en groupe de 3 environs, de développer un projet relativement complexe et aboutit. Des encadrants/tuteurs proposent des sujets dans une variété de domaines (web, data science, machine learning, image, systèmes multi-agents, etc.), puis suivent chaque semaine l'avancée des groupes qui ont choisi leurs sujets. Les étudiants seront encouragés à se former par eux-même, notamment à lire des documentations d'outils, à apprendre de nouveaux languages, etc. Les notions acquises dépendent largement du sujet choisi. Ce qui est commun à tous les groupes est : la travail d'équipe, la programmation, la capacité à apprendre par soi-même, la capacité à présenter le résultat de son travail lors d'une présentation finale.
INF9901M+ Création UE DISS-DPA Data Processing and Analytics 6 0 36 0 24 0 0 210 35 18 1 0 angela.bonifati angela.bonifati 0 0 0 0
Knowledge: Detailed knowledge of the components of Big Data processing systems spanning heterogeneous data. Skills: Design, deploy and use data processing and analytical systems. Competences: Independently deploy data processing systems and enabling them to execute anaytical tasks on real-life data. Be critical with the literature on data management and data science systems.
In many sectors of the society, spanning from business to finance, from e-commerce to telecommunication, from scientific research to advanced engineering, successful systems must leverage the availability of large volumes of data through the ability to efficiently perform complex analytics in order to extract significant information. 

In this course, the students will learn the data processing techniques including analytical and transactional processing for both structured and unstructured data.
Data processing and analytics techniques apply to a wide range of data-oriented paradigms in the Big Data landscape.
Techniques include query processing and data preparation techniques and algorithms allowing to handle complex massive datasets as input to subsequent data intelligence tasks.
During the course, the students will be the opportunity to use and experiment with existing data processing systems and to get familiar with the latest research advances on this topic. 
INF9902M+ Création UE DISS-GPS Big Graph Processing Systems 3 0 15 0 15 0 0 210 35 18 1 0 angela.bonifati angela.bonifati 0 0 0 0
Knowledge: Understanding of the fundamentals of graph processing systems from querying to efficient execution and performance improvement. Skills:
Combine theory and practice in the field of graph databases. Design,use and improve these systems.
Competences: Independently deploy graph processing systems and enabling them to execute anaytical tasks on real-life data. Be critical with the literature on graph databases.
This module will focus on:

- advanced graph processing;
- analytical systems and their languages

leading to optimized and cost-based query execution.

Recent advances in complex graph query processing will be presented along with evaluation metrics for efficient graph query processing and analytics.
INF9903M+ Création UE DISS-SSS Smart Service Science 6 0 36 0 24 0 0 210 35 18 1 0 parisa.ghodous parisa.ghodou 0 0 0 0
- Capble to communicate the advantages and disadvantage of using Service Science from different points of view (users, computer scientists, decision-maskers)
- Capable to decide if the stakeholders should go or not to go for using Service Science technologies
- Capable to formalise, design and develop smart services for an application
- Capable to resolve the new problems related to smart services
- Capable to choose the right technology for each case study
This module focuses on Service Science as follows:

1) Service Science Definition and Theories

2) Service Innovation and Smart Services (Cloud Services (XaaS, BaaS, SaaS, PaaS, IaaS), Blockchain as a Service, Cognitive Services, Uncertain Services, Machine Learning as a Service),

3) Use cases as appropriate. 
INF9904M+ Création UE DISS-BAS Blockchain As a Service 3 0 15 0 15 0 0 210 35 18 1 0 parisa.ghodous parisa.ghodous 0 0 0 0
  • Identify blockchain characteristics in a given setting
  • Analyse existing blockchain applications according to a given context
  • Select consensus algorithms suitable for specific blockchain applications
  • Formalise and assess smart contracts adequate to given blockchain contexts
  • Identify the differentiating characteristics of the various blockchain platforms
  • Analyse and characterise different blockchain protocols according to given criteria
  • Plan and design the specifications of a decentralized blockchain application for a given scenario
  • Recognise potential regulatory and legal frameworks for blockchain operation, including consumer protection, and taxation
  • Provide detailed examples of the blockchain transforming power in specific contexts
  • Identify the Blockchain application maturity according to the Hype cycle
  • Project strengths and weaknesses of the Blockchain technology in a given scenario
  • Describe blockchain business processes and business logics
  • Identify transaction models based on collaborative models
  • Collect, formalise and validate functional and non-functional requirements of given scenarios

This module will focus on design of blockchain systems as a service.

This course uses the MOOCS developed in the European Projects BLISS and CHAISE with European Certifications

The learning units are:

-      U1    Blockchain essentials for ICT professionals,

-      U2    Blockchain platforms,

-      U3    Communicating the merits, challenges and implications of blockchain technology,

-      U4    Practical design and development of blockchain application.

INF9905M+ Création UE DISS-MLT Machine Learning Techniques and Applications 6 0 36 0 24 0 0 210 35 18 1 0 haytham.el-ghazel mathieu.lefort 0 0 0 0
This course prepares students to understand:

- fundamentals of Machine Learning and existing techniques and their applications.

It considers different approaches and techniques (regression models, clustering methods, supervised/unsupervised learning, clustering, neural networks/deep learning, reinforcement learning).
INF9906M+ Création UE DISS-DAI Distributed Artificial Intelligence and Multi-agent Systems 3 0 15 0 15 0 0 210 35 18 1 0 salima.hassas laetitia.matignon 0 0 0 0
This course prepares students to develop Distributed Artificial Systems based on the following paradigms:

- the multi-agents paradigm, including hybrid approaches and multi-agent based modeling and simulation, multi-agents learning, ..).
INF9907M+ Création UE DISS-FIP Fundamentals of Image Processing and Interpretation 6 0 36 0 15 0 0 210 35 18 1 0 raphaelle.chaine raphaelle.chaine 0 0 0 0
Basics of C++ programming, algorithms, optimization, statistic and signal processing.
Knowledge :  Models and tools to understand and extract key information from images and video. Machine learning for image understanding.

Skills : computer vision


This course introduces high-level problems that require image understanding and geometric feature extraction.

Students will learn about the problems of extracting depth information from a monocular or binocular system, image denoising and restoration techniques, inpainting and pattern recognition problems.

Different mathematical models will be useful for this task, based on the spatial or temporal domain as well as on the statistical analysis of data.

One part of the course will be devoted to the use of existing libraries and to reading of research papers.
INF9908M+ Création UE DISS-FSM Fundamentals of 3D Shape Modeling 3 0 15 0 15 0 0 210 35 18 1 0 raphaelle.chaine raphaelle.chaine 0 0 0 0
Basics of C++ programming, algorithms, optimization and Euclidean geometry.
Application expertise:
  • shape modeling for numerical calculation and simulation,
  • shape comparison and recognition (computer vision, robotics)
  • digital world generation for video game industry
  • scientific visualization
This course introduces the main models used to model 3D shapes and worlds.

These more or less accurate models (point clouds, meshes, parametric shapes) are accompanied by special techniques for their construction, editing, but also for matching and shape recognition problems.

We will also address the problems raised by the generation of large digital worlds.
INF9909M+ Création UE DISS-RIT1 Research Internship Training and Soft Skills1 6 0 36 0 24 0 0 210 35 18 1 0 angela.bonifati angela.bonifati 0 0 0 0
Knowledge: Broad knowledge of the research methodologies as present in the DISS Master (AI, Databases, Image processing and Services). Skills: Formulate a research question, build the related literature around it and design a solution for the research problem at hand. Competences: Prepare yourself for a PhD program or, more generally, forr esearch-oriented work in industry and academia.
This course will let students become familiar with the research methodology and let them acquire the skills needed for the research internship. It will also let them acquire the necessary skills to conduct a successful investigation of the related work, the writing of a research problem statemet and prepare the outline of a scientific paper.
INF9910M+ Création UE DISS-INT Internship 21 0 0 0 0 0 26 210 35 18 1 0 angela.bonifati@univ-lyon1.fr angela.bonifati 0 0 0 0
This research internship will let the students work on a research topic of their choice and develop research skills in order to be prepared for advanced studies (e.g. PhD programs). 
INF9911M+ Création UE DISS-RIT2 Research Internship Training and Soft Skills2 3 0 15 0 15 0 0 210 35 18 1 0 angela.bonifati angela.bonifati 0 0 0 0
This course will let students become familiar with the study of the research literature as well as 
the learning of the research methodology. 

This will let them acquire the necessary skills to be prepared to the research internship.
INF9995+ Création UE DS-Deep Deep Learning 3 0 18 6 6 0 0 210 35 18 0 0 alexandre.aussem haytham.el-ghazel
INF9996+ Création UE DS-ML2 Machine Learning 2 3 0 18 6 6 0 0 210 35 18 0 0 alexandre.aussem haytham.el-ghazel
INF9997+ Création UE ECL-BigD Technologies informatiques du Big Data 3 0 16 0 14 0 0 210 35 18 0 0 stephane.derrode alexandre.aussem
INF9998+ Création UE ECL-VisuI Visualisation interactive de données 3 0 16 0 14 0 0 210 35 18 0 0 romain.vuillemot alexandre.aussem
INF9999M+ Création CHOI Options Bloc 1 M2 DISS Options Bloc 1 Master / Info / Data and Intelligence 6 6 0 0 0 0 0 0 0 0 0 0 angela.bonifati angela.bonifati