Aller au contenu

Mineure informatique

Résumé

La première année de mineure permet de découvrir les techniques de base pour la création de pages web : HTML pour la structure et le contenu, CSS pour la mise en forme, Javascript pour la réaction aux comportements de l’internaute

La deuxième année de mineure aborde les technologies relatives au Web 2.0 (web dynamique) : génération dynamique de pages et pages interactives.

Trois parcours de spécialisation sont proposés en troisième année : le développement logiciel oriente la mineure vers de la conception avancée d’applications, les technologies du Web abordent toutes les problématiques liées à l’internet des objets en particulier le développement sur smartphone, et enfin le parcours vision pour les objets connectés aborde les problématiques de l’acquisition et du traitement du signal

Descriptif des cours

Semestre 2

Bases du web - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    -  Comprendre l’architecture d’une page web
    -  Concevoir une page web à travers un langage de balisage HTML5
    -  Mettre en forme une page web avec des feuilles de style
    -  Utiliser des frameWorks CSS (exemple : Bootstrap)

  • 25h 30min (6h cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Bases du web - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    -  Connaître les bases du langage javascript
    -  Interfacer une page web avec du code javascript
    -  Interagir avec l’utilisateur à travers les évènements et les fonctions de rappel.

  • 27h (7h 30min cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Semestre 3

Architecture et développement web - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    -  Connaître la syntaxe du langage PHP pour la programmation des structures de contrôle classiques.
    -  Connaître le mécanisme de classes, d’héritage,
    des interfaces et des traits en PHP.
    -  Communications élémentaires client-serveur
    -  Notion d’accès aux bases de données via PHP
    -  Utiliser le mécanisme d’auto-chargement des fichiers en PHP.
    -  Utiliser les méthodes magiques en PHP.
    -  Utiliser un mécanisme de gestion des dépendances à travers par exemple de composer et de packagist.

  • 25h 30min (6h cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Architecture et développement web - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    -  Connaître la syntaxe du langage PHP pour la programmation des structures de contrôle classiques.
    -  Connaître le mécanisme de classes, d’héritage,
    des interfaces et des traits en PHP.
    -  Communications élémentaires client-serveur
    -  Notion d’accès aux bases de données via PHP
    -  Utiliser le mécanisme d’auto-chargement des fichiers en PHP.
    -  Utiliser les méthodes magiques en PHP.
    -  Utiliser un mécanisme de gestion des dépendances à travers par exemple de composer et de packagist.

  • 27h (7h 30min cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Semestre 4

Framework web - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    -  Mettre en pratique les langages Javascript et PHP au travers d’API de haut niveau
    -  Programmer avec ces API côté client et/ou côté serveur
    -  Utiliser des API et des systèmes de templates pour le développement Web
    -  Utiliser et concevoir des API REST
    -  Usage de framework PHP et JavaScript (par exemple : Angular, Silex, Symfony, React, Enyojs, ...)

  • 27h (7h 30min cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Framework web - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    -  Mettre en pratique les langages Javascript et PHP au travers d’API de haut niveau
    -  Programmer avec ces API côté client et/ou côté serveur
    -  Utiliser des API et des systèmes de templates pour le développement Web
    -  Utiliser et concevoir des API REST
    -  Usage de framework PHP et JavaScript (par exemple : Angular, Silex, Symfony, React, Enyojs, ...)

  • 27h (7h 30min cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Semestre 5 parcours Développement Logiciels

Programmation fonctionnelle (Obligatoire)

  • Objectifs d'apprentissage

    -  Connaître les mécanismes fondamentaux de la programmation fonctionnelle : différents types de récursivité, notion de pureté, fonction comme entité de première classe, application partielle, clôtures.
    -  Comprendre l’utilisation de fonctions d’ordre supérieur (map, filter foldr, etc.) et l’appariement de motifs (pattern matching) et savoir implémenter des algorithmes en utilisant ces fonctions.
    -  Ecrire des programmes par composition de fonctions
    -  Connaître certaines caractéristiques du langage Scala mêlant programmation objet et programmation fonctionnelle

  • 28h 30min (6h cours magistraux - 6h travaux dirigés - 10h 30min travaux pratiques - 6h travail en accompagnement)
  • 3 crédits ECTS

Programmation concurrente et parallèle (Obligatoire)

  • Objectifs d'apprentissage

    -  Ecrire des programmes concurrents en utilisant différents modèles de programmation : mémoire partagée, canaux de communication, acteurs, futurs.
    -  Connaître les problèmes inhérents à chaque modèle de programmation concurrente
    -  Connaître des mécanismes du langage Java permettant la programmation concurrente.

  • 28h 30min (6h cours magistraux - 6h travaux dirigés - 10h 30min travaux pratiques - 6h travail en accompagnement)
  • 3 crédits ECTS

Semestre 5 parcours Technologies du Web

Objets connectés : programmation microcontroleur - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    -  Programmer un microcontrôleur en utilisant un IDE
    -  Pouvoir mettre en oeuvre des E/S numériques "tout ou rien" et utiliser des masques logiques et opérations logiques
    -  Comprendre le concept d’interruption
    -  Mettre en œuvre une routine d’interruption
    -  Utilisation des ressources internes du microcontrôleur (par ex. Timer)

  • 31h 30min (4h 30min cours magistraux - 7h 30min travaux dirigés - 12h travaux pratiques - 7h 30min travail en accompagnement)
  • 3 crédits ECTS

Objets connectés : programmation microcontroleur - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    -  Utiliser des Entrées/Sorties étendues (convertisseur A/N, liaisons séries)
    -  Mettre en œuvre un affichage évolué (LCD, LEDs)
    -  Interfacer des composants externes

  • 27h (6h cours magistraux - 6h travaux dirigés - 9h travaux pratiques - 6h travail en accompagnement)
  • 3 crédits ECTS

Semestre 5 parcours Vision et objets connectés

Acquisition et traitement du signal pour les objets connectés - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    Traitement de l’information :
    -  Comprendre l’ensemble des étapes d’une chaine d’acquisition et de traitement du signal : capture, échantillonnage, CAN/CNA, traitement numérique
    -  Mettre en œuvre les outils mathématiques de bases d’analyse spectrale
    -  Connaître les choix qui conditionnent une « bonne » informatisation des données.
    -  Développer une analyse critique sur la validité des données acquises (impactant la validité des modèles de comportements établis a posteriori)
    -  Comprendre la corrélation, la convolution et le filtrage fréquentiel
    -  Construire des algorithmes de traitements du signal : filtrage, détection, reconnaissance (...).
    -  Mettre en œuvre ces algorithmes sur des données issues d’un smartphone (accéléromètre, gyroscope, gps, ...)

  • 27h (6h cours magistraux - 6h travaux dirigés - 10h 30min travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Acquisition et traitement du signal pour les objets connectés - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    Programmation, Traitement du signal et objets connectés :
    -  Comprendre les notions de bande spectrale et de débit numérique dans une chaine de communication : codage et modulation des données (son, vidéo, data)
    -  Comprendre les couches basses des protocoles réseaux pour l’IoT :
    réseaux courte portée (domotique et marché des wearables grand public) : bluetooth Low Energy, wifi, Z-Wave, NFC, zigbee, Enocean
    réseaux longue portée (entreprises, smart cities) : sigfox, lora, GSM, 4G, 5G
    -  Appliquer les méthodes de traitement du signal pour les grands volumes de données (traitement batch et en streaming avec Apache Spark ou Storm). Travail en autonomie

  • 27h (6h cours magistraux - 6h travaux dirigés - 10h 30min travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Semestre 6 parcours Développement Logiciels

Architecture distribuée (Obligatoire)

  • Objectifs d'apprentissage

    -  Connaître les problématiques de répartition, parallélisme par envoi de messages, multi-coeur, architectures logicielles réparties
    -  Utiliser des architectures Multi-processeurs / Multi-coeurs
    -  Avoir des notion de Systèmes répartis, Virtualisation, Platform as a Service, Infrastructure as a Service, Software as a Service

  • 27h (6h cours magistraux - 4h 30min travaux dirigés - 12h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Développement parallèle (Obligatoire)

  • Objectifs d'apprentissage

    Maitriser les bases du développement parallèle et comprendre les mécanismes de traitement SISD (Single Instruction Single Data), SIMD (Single Instruction Single Data), MIMD (Single Instruction Single Data) et du fonctionnement d’une mémoire distribuée. Amélioration des performances et limitations.
    Introduction au Message Passing Interface et à OpenMPI
    Introduction à CUDA et PyCUDA

  • 27h (6h cours magistraux - 4h 30min travaux dirigés - 12h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Semestre 6 parcours Technologies du Web

Développement sur smartphone et objets connectés - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    Contexte de développement mobile :
    -  Installer et utiliser un environnement de développement pour la programmation native et hybride
    -  Connaître les technologies et les contraintes des mobiles
    -  Comprendre et savoir utiliser une interface de programmation applicative (API), un plugin, un kit de développement (SDK), un outil de cross-compilation
    -  Générer et gérer les signatures pour les applications mobiles : signature de code, signature client-serveur pour les notifications, profil de provisionnement
    -  Apprendre à penser une application adaptée aux contraintes de mobilité
    -  Connaître les modes d’association et d’interaction entre objets/montres connecté(e)s et smartphones
    Développement d’applications mobiles natives pour iOS :
    -  Maitriser les langages de programmation Objective-C et Swift, le SDK et l’interface de programmation Cocoa Touch, et quelques API (notamment de géolocalisation)
    -  Maitriser l’environnement de développement XCode
    -  Manipuler les éléments graphiques d’interface
    -  Connaître et appliquer les patterns objets principaux
    -  Comprendre les contraintes de développement d’une application duale : smartphone- montre connectée

  • 22h 30min (6h cours magistraux - 6h travaux dirigés - 10h 30min travaux pratiques)
  • 3 crédits ECTS

Développement sur smartphone et objets connectés - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    Développement d’applications mobiles natives pour android. Développement d’applications hybrides :
    -  Utiliser java dans un contexte de développement mobile (pour android)
    -  Comprendre le développement d’applications hybrides avec des frameworks dédiés.
    Réalisation d’un projet (Travail en autonomie) :
    -  Maitriser la capture et l’interprétation des signaux/images/sons issus des capteurs
    -  Choisir, sur des critères objectifs, les structures de données et construire les algorithmes les mieux adaptés à un problème donné
    -  Utiliser les méthodes agiles pour le développement de solutions en mode collaboratif

  • 34h 30min (6h cours magistraux - 6h travaux dirigés - 10h 30min travaux pratiques - 12h travail en accompagnement)
  • 3 crédits ECTS

Semestre 6 parcours Vision et objets connectés

Computer vision / embarqué - Partie I (Obligatoire)

  • Objectifs d'apprentissage

    Traiter le "Bas niveau" avec des méthodes adaptées :
    -  convolution/corrélation
    -  filtrage élémentaire
    -  apprentissage de filtres
    Lister les méthodes de recherche par le contenu :
    -  Espaces couleurs
    -  classification
    -  Points d’intérêts
    -  Descripteurs
    Utiliser des méthodes de recalage 2D/3D :
    -  ICP
    -  Ransac
    -  Homographie
    Appliquer les techniques de computer vision à la vidéo surveillance
    Connaitre les bases des réseaux convolutionels

  • 27h (7h 30min cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS

Computer vision / embarqué - Partie II (Obligatoire)

  • Objectifs d'apprentissage

    Traiter le "Bas niveau" avec des méthodes adaptées :
    -  convolution/corrélation
    -  filtrage élémentaire
    -  apprentissage de filtres
    Lister les méthodes de recherche par le contenu :
    -  Espaces couleurs
    -  classification
    -  Points d’intérêts
    -  Descripteurs
    Utiliser des méthodes de recalage 2D/3D :
    -  ICP
    -  Ransac
    -  Homographie
    Appliquer les techniques de computer vision à la vidéo surveillance
    Connaitre les bases des réseaux convolutionels

  • 27h (7h 30min cours magistraux - 15h travaux pratiques - 4h 30min travail en accompagnement)
  • 3 crédits ECTS