Thèmes pédagogiques

Liste des modules par thème pédagogique

Une liste des modules groupés en six thématiques (plus les projets). Cette division est, j'en conviens, arbitraire. Ceci dit, l'ACDI a divisé en cinq champs disciplinaires identiques, mettant juste Système & Architecture et Réseaux ensemble, créant une discipline Informatique bas niveau.

Pour chaque module vous trouverez les horaires de cours magistral, TD, TP et présence étudiante.

Une liste de personnes intéressées et d'éventuels commentaires. Je mets à jour cette liste selon ce que je recevrai comme courrier. Cette liste initiale a été (est en train d'être) constituée à partir des services enregistrés dans PAIN cette année (elle ne reflète donc pas forcément vos intérêts réels ou futurs).

Système & Architecture

Personnes intéressées

  • Camille Coti
  • Christophe Cérin
  • Davide Buscaldi
  • Ferhan Pekergin
  • Franck Butelle
  • Guillaume Santini
  • Hanene Azzag
  • Jean-Christophe Dubacq
  • Lilian Gibert
  • Lucian Finta
  • Marcel Bosc
  • Micaela Mayero
  • Mustapha Lebbah
  • Pascal Coupey

M1101: Introduction aux systèmes informatiques

Contenus : 10h 20h 30h 60h

Modulation PG : 24h 24h 4h 52h

  • Codage de l’information : nombres et caractères. Arithmétique et traitements associés.
  • Architecture générale d'un système informatique
  • Types et caractéristiques des systèmes d’exploitation.
  • Utilisation d'applications clientes réseau : messagerie, transfert de fichiers, terminal virtuel, répertoires partagés.
  • Langage de commande : commandes de base, introduction à la programmation des scripts.
  • Gestion des processus (création, destruction, suivi, etc.), des fichiers (types, droits, etc.) et des utilisateurs (caractéristiques, création, suppression, etc.).
  • Principes de l’installation et de la configuration d’un système

Mise en œuvre

  • Les applications clientes réseau peuvent être des clients simples (ligne de commande...) ou plus évolués (interfaces graphiques, ...)
  • Utilisation éventuelle de systèmes d'exploitation virtualisés.
  • Interactions avec l'enseignement de mathématiques (M121)

Commentaire de Dubacq : ça recoupe essentiellement le cours d'introduction système et 2 chapitres d'architecture des ordinateurs (le 1 et le 3). Également certaines notions de compilation. Le lien avec les mathématiques me paraît ténu, au mieux.

M2101: Programmation bas niveau

Contenus : 8h 10h 12h 30h

Modulation PG : 9h 7,5h 7,5h 4h 28h

  • Langages de programmation bas niveau
  • Mécanismes de bas niveau d'un système informatique
  • Étude d'un système à microprocesseur ou microcontrôleur (réel ou simulé) avec ses composants (mémoires, interfaces, périphériques...)

Mise en œuvre

  • Utilisation du langage C et/ou d'un langage d'assemblage (assembleur)
  • Observation de l'exécution pas à pas d'un programme à l'aide d'un outil de simulation/déverminage d'un processeur simple
  • Développement de programmes simples permettant d'illustrer les principaux mécanismes de bas niveau d'un système informatique
  • Étude des mécanismes de gestion des interruptions

M3101: Principes des systèmes d'exploitation

Contenus : 15h 14h 16h 45h

Modulation PG : 9h 27h 4h 40h

  • Partage des ressources (par ex ordonnancement...)
  • Système de gestion de fichiers.
  • Hiérarchie de la mémoire. (mécanismes de pagination, mémoire virtuelle, caches...)
  • Mise en œuvre des processus (fork, exec, tubes...)
  • Systèmes d’entrée-sortie

Mise en œuvre

  • Éventuellement programmation de scripts évolués

Commentaire de Dubacq : Une note persiste disant que ce module n'est pas bien rédigé.

M4101C: Administration système & réseau

Contenus : 8h 10h 12h 30h

Modulation PG : 6h 18h 4h 26h

  • Architecture d’un réseau d’entreprise
  • Installation et configuration des services
  • Gestion des utilisateurs
  • Sécurité du système et du réseau (listes d’accès et de contrôle, authentification...)
  • Protocoles sécurisés, réseaux privés virtuels
  • Annuaires (LDAP, Active Directory...)
  • Chiffrement de données
  • Outils de supervision
  • Mise en œuvre d’une stratégie de sauvegarde.

Algorithmique

Personnes intéressées

  • Bouchaïb Khafif
  • Frédérique Bassino
  • Guillaume Santini
  • Hanene Azzag
  • Hocine Abir
  • Jean-Christophe Dubacq
  • Jean-Michel Barrachina
  • Lucian Finta
  • Mathieu Lacroix
  • Mustapha Lebbah
  • Pierre Gérard

M1102: Introduction à l'algorithmique et à la programmation

Contenus : 10h 20h 30h 60h

Modulation PG : 24h 24h 4h 52h

  • Notion de sous-programmes: premières notions de qualité (nommage des variables, assertions, documentation...), pré et post conditions.
  • Notion de types de données, définitions de types simples, structures séquentielles à accès direct
  • Structures algorithmiques fondamentales: choix, répétitions.
  • Implantation des algorithmes dans un langage de programmation.
  • Introduction au test unitaire boîte noire,
  • Première approche de la gestion des cas d’erreurs
  • Introduction au débogage.

Mise en œuvre

  • Liberté de choix pour le langage algorithmique, le langage d'implantation, le paradigme de programmation, les outils de programmation.
  • Quand le langage choisi le permet, on s'attachera aussi à utiliser les fonctions, procédures ou méthodes existantes.
  • Interactions possibles avec l'enseignement de mathématiques (M121)

Commentaire de Dubacq : Comme nouveautés, il y a le test unitaire et le débogage (rapidement vu auparavant en architecture des ordinateurs).

M1103: Structures de données et algorithmes fondamentaux

Contenus : 10h 15h 20h 45h

Modulation PG : 18h 18h 4h 40h

  • algorithmes fondamentaux avec des structures simples : recherche d’un élément, parcours, tri, ...
  • notion d’accès séquentiel et d’accès direct
  • Avoir une première notion des performances des algorithmes utilisés
  • Écriture et lecture dans des fichiers.
  • Types abstraits de données simples : comprendre et utiliser dans des problèmes simples.

Mise en œuvre

  • exemples: recherche séquentielle dans les cas où la structure est ou n'est pas préalablement triée, recherche par dichotomie...
  • exemples de types abstraits possibles : les piles et les files
  • présenter plusieurs solutions algorithmiques pour résoudre un même problème
  • les notions de test unitaire boîte noire, de décomposition de problèmes, de gestion des erreurs et de qualité introduites pourront être mises en oeuvre.
  • Quand le langage choisi le permet, on s'attachera aussi à utiliser les structures de données, fonctions, procédures ou méthodes existantes
  • L'étude de la performance d'un algorithme sera fait dans des cas simples, sans aborder précisément les notions de complexité mais en sensibilisant à cette problématique (calcul du nombre d'itérations par exemple)

Commentaire de Dubacq : Je ne suis pas sûr de comprendre tout comme il faut, mais la fiche détaillée regorge de conseils de mise en œuvre. Le choix du langage peut aussi s'accompagner d'un choix sur un environnement de travail.

M3103: Algorithmique avancée

Contenus : 8h 10h 12h 30h

Modulation PG : 6h 18h 4h 28h

  • Structures de données récursives (description, implantation...)
  • Algorithmes récursifs et itératifs sur ces structures
  • Utilisation de structures de données avancées

Mise en œuvre

  • Arbres: algorithmes de parcours, structures utilisées pour représenter les données (XML, arbres de syntaxe, ...)
  • Conteneurs principes et utilisation, exemples : dictionnaires (tables de hachage,...), structures d'index, ensembles, ...
  • parcours d'un graphe
  • S'attacher à savoir utiliser les implantations de structures et fonctionnalités existantes

Programmation & Génie logiciel

Personnes intéressées

  • Aomar Osmani
  • Benoît Charroux
  • Bouchaïb Khafif
  • Dominique Bouthinon
  • Françoise Gayral
  • Haïfa Zargayouna
  • Jean-Michel Barrachina
  • Laurent Audibert
  • Pierre Gérard

M2103: Bases de la programmation orientée objets

Contenus : 10h 20h 30h 60h

Modulation PG : 18h 15h 15h 4h 52h

  • Concepts fondamentaux de la programmation orientée objet (encapsulation, composition, polymorphisme, héritage, cycle de vie des objets)
  • Lecture d'une conception orientée objet détaillée (par exemple en UML : diagramme de classes)
  • Mise en œuvre de tests unitaires
  • Utilisation de briques logicielles, API, bibliothèques
  • Sensibilisation aux bonnes pratiques de la programmation et de la documentation du code

Mise en œuvre

  • Apprentissage d'un langage de programmation orientée objet
  • Utilisation d'un langage de modélisation objet (par exemple : UML)
  • Utilisation d'un EDI et d'un débogueur
  • Utilisation d'un environnement de test unitaire
  • Collaboration souhaitable avec le module M214 « Bases de la conception objet »

M2104: Bases de la conception orientées objet

Contenus : 10h 15h 20h 45h

Modulation PG : 14h 22h 4h 40h

  • Modélisation objet pour la conception détaillée (par exemple en UML : diagramme de classes, diagramme de séquences)
  • Production de tests unitaires, problématique de la non régression
  • Processus de développement : gestion des itérations et des versions
  • Documentation
  • Sensibilisation aux bonnes pratiques de la conception et du développement

Mise en œuvre

  • Apprentissage d'un langage de modélisation objet (par exemple UML)
  • Utilisation d'un langage de programmation orientée objet
  • Utilisation d'un EDI intégrant la modélisation
  • Utilisation d'un gestionnaire de versions
  • Utilisation d'un environnement de test unitaire
  • Collaboration souhaitable avec le module M213 « Bases de la programmation objet »

M2105: Introduction aux IHM

Contenus : 10h 15h 20h 45h

Modulation PG : 14h 11h 11h 4h 40h

  • Programmation événementielle
  • Spécifications d’interfaces utilisateur, Maquettage
  • Notions d’ergonomie des interfaces utilisateur
  • Programmation d’interfaces, utilisation de composants graphiques

Mise en œuvre

  • Sensibiliser aux notions d'accessibilité numérique
  • Utiliser un outil évolué (« framework ») pour la programmation de l'IHM (Qt, Swing, .NET, VCL, etc...) ?????

M3105: Conception et programmation objet avancées

Contenus : 15h 14h 16h 45h

Modulation PG : 9h 15h 12h 4h 40h

  • Approfondissement de la modélisation objet pour la conception et la programmation
  • Notions de dépendance et de couplage.
  • Notions avancées de programmation orientée objets (par exemple : responsabilité unique, principe ouvert-fermé)
  • Compréhension et mise en œuvre de patrons de conception, éléments d'architecture logicielle
  • Sensibilisation aux tests d'intégration

Mise en œuvre

  • utilisation d'un EDI intégrant modélisation, gestionnaire de versions et environnement de test unitaire
  • les notions doivent être abordées au travers de réalisations concrètes

M3301: Processus de production de logiciels

Contenus : 14h 22h 24h 60h

Modulation PG : 12h 36h 4h 52h

  • le système d’information dans les organisations
  • études préalables et analyse des besoins métier :
  • recueil d’exigences, domaine, acteurs,
  • analyse et modélisation des processus métier (par exemple : diagramme d’activités, MOT, BPMN),
  • production du cahier des charges, cas d'utilisation, scénarios
  • normes et métriques pour le logiciel et la qualité
  • organisation et gestion du projet, processus de production, documentation
  • estimation des charges et modèles de coûts, Planification des délais
  • gestion des risques

Mise en œuvre

  • équipe enseignante transversale entre informatique et gestion
  • organiser le module autour d'un projet qui couvre le cycle de vie
  • s'appuyer sur un modèle de cycle de vie
  • utiliser des outils de travail en équipe

Bases de données

Personnes intéressées

  • Bouchaïb Khafif
  • Dominique Bouthinon
  • Hocine Abir
  • Jean-Michel Barrachina
  • Laurent Audibert
  • Mustapha Lebbah
  • Tahar Arib

M1104: Fondements des bases de données

Contenus : 10h 25h 25h 60h

Modulation PG : 18h 15h 15h 4h 52h

  • Le modèle relationnel (concepts, contraintes d’intégrité, DFs)
  • Algèbre relationnelle
  • SQL : langage de manipulation de données, langage de définition de données
  • Conception des bases de données : modèle conceptuel de données et traduction vers le modèle relationnel
  • Éléments sur les tests de requêtes

Mise en œuvre

  • S'appuyer sur un SGBD et ses outils (chargement, dictionnaire de données ...)

M2106: Programmation et administration des bases de données

Contenus : 10h 15h 20h 45h

Modulation PG : 9h 15h 12h 4h 40h

  • SQL et extension procédurale
  • Curseurs
  • Administration des BDs : utilisateurs, rôle, droits, vues

Mise en œuvre

  • S'appuyer sur une extension procédurale de SQL (PL/SQL, ...)
  • Faire le lien avec la programmation : boucles, conditions
  • Souligner le lien avec la modélisation : états, transitions, activités ...

M3106C: Approfondissement des bases de données

Contenus : 8h 10h 12h 30h

Modulation PG : 6h 18h 4h 28h

  • Qualité des schémas, problème de la redondance, formes normales
  • Contraintes d’intégrité et règles de gestion, déclencheurs
  • Présentation de l’architecture fonctionnelle d’un SGBD
  • Transactions, atomicité et gestion de la concurrence d’accès
  • Optimisation : index, requêtes et plan d’exécution

Mise en œuvre

  • Les notions doivent être abordées sous un angle pratique, en particulier celles liées aux transactions et à l'optimisation
  • Faire le lien avec les algorithmes sur les arbres et les tables de hachage (M313, algorithmique avancée)

Réseaux

Personnes intéressées

  • Bouchaïb Khafif
  • Camille Coti
  • Christophe Barré
  • Franck Butelle
  • Jean-Christophe Dubacq
  • Jean-Michel Barrachina
  • Lucian Finta
  • Marcel Bosc
  • Micaela Mayero
  • Sami Evangelista

M2102: Architecture des réseaux

Contenus : 8h 10h 12h 30h

Modulation PG : 6h 18h 4h 26h

  • Étude d'architectures de réseaux, incluant les modèles OSI et la pile TCP/IP
  • Technologie des réseaux locaux (Ethernet, WiFi, etc.)
  • Routage, commutation, adressage, transport (ex. socket)
  • Introduction à l’installation et la configuration d'un réseau

Mise en œuvre

  • Salle avec machines et équipements réseaux reconfigurables ou réseaux simulés
  • Illustration des principes abordés sur les services de base (Web, DNS, FTP, SSH...)

M3102: Administrations de systèmes en réseaux

Contenus : 8h 10h 12h 30h

Modulation PG : 6h 18h 4h 26h

  • Interconnexion de réseaux, filtrage et translation d'adresses (NAT, pont réseau, passerelle...)
  • Sensibilisation à la sécurité des réseaux (Parefeux, DMZ...)
  • Installation et configuration de base de services réseaux courants (Web, DNS, DHCP, FTP, Samba, NFS, SMTP, etc.)

Mise en œuvre

  • Salle avec machines et équipements réseaux reconfigurables ou réseaux simulés

M4102C: Programmation répartie

Contenus : 8h 10h 12h 30h

  • Programmation concurrente (multiprocessus, multithread, par événements...)
  • Programmation client/serveur (sockets, RMI, RPC...)

Web

Personnes intéressées:

  • Bouchaïb Khafif
  • Davide Buscaldi
  • Françoise Gayral
  • Jean-Christophe Dubacq
  • Jean-Michel Barrachina
  • Lilian Gibert
  • Marcel Bosc
  • Mathieu Lacroix
  • Sylvia Goodenough

M1105: Introduction au web et aux outils numériques de communication

Contenus : 0h 20h 25h 45h

Modulation PG : 18h 18h 4h 40h

  • La séparation-contenus-structure-présentation
  • Les technologies du Web pour la description de documents et d'interfaces: HTML, CSS, chartes graphiques
  • Sensibilisation aux problèmes d'accessibilité numérique et d’ergonomie
  • Outils bureautiques de production de documents numériques
  • Conception et rédaction de contenus numériques

Mise en œuvre

  • Équipe mixte d'enseignants en communication et en informatique
  • respect des normes et standards
  • Possibilité de s'appuyer sur un Gestionnaire de contenus

Commentaire de Dubacq : Voilà qui ne va pas être facile à attribuer. Pour les moniteurs et ATER, c'est presque équivalent à un trou dans le CV, à moins de viser un enseignement dans des filières non-informatiques (ça se vend, mais bon). Personnellement, je suggèrerai bien de traiter le traitement de texte avec LaTeX ou XML+XSL, histoire que ça reste de l'informatique. À faire aussi en coordination avec TEC. La deuxième version est meilleure que la première.

M3104: Programmation web côté serveur

Contenus : 15h 14h 16h 45h

Modulation PG : 9h 27h 4h 40h

  • Interaction avec le client (URL, requêtes, formulaires, transmission des paramètres, des données...)
  • Applications web à état (par exemple : conteneurs, sessions, applications...)
  • Accès aux données : base de données, annuaires, services web...
  • Sensibilisation à la sécurité (injection, filtrage,...)
  • identification/authentification
  • Structuration de l'application (modularité,...)

Mise en œuvre

  • Exploiter et appliquer (utiliser?) des modèles d'architecture pour le Web (par exemple : MVC)
  • Exploiter et appliquer des patterns de conception notamment pour l'accès aux données

M4103C: Programmation web — client riche

Contenus : 8h 10h 12h 30h

  • Modèle de documents web : DOM
  • Gestion dynamique du DOM : Javascript,...
  • Programmation événementielle
  • Requêtes asynchrones, formats d'échange de données

M4104C: Programmation mobile

Contenus : 8h 10h 12h 30h

  • Problématiques de la mobilité (autonomie, robustesse, …)
  • Interfaces utilisateurs mobiles
  • Systèmes d’exploitation mobiles
  • Connectivité, utilisation de web services…

Projets

M1106: Projets de découverte

Pas de programme.

M2107: Projets — travail collaboratif

Pas de programme.

M3302: Projets tutorés — projet de synthèse

Pas de programme.

M4105C: Module local

Contenus : 8h 10h 12h 30h

  • Apprendre un langage de programmation / une technologie / un « framework » / une API

M4106: Projets tutorés — projet d'approfondissement

Pas de programme.