Semestre 1:

Ce cours est une initiation à la programmation impérative en langage C. Il aborde notamment les notions de:

  • Programme, type, variable
  • Entrée, sortie
  • Structures de contrôle
  • Sous-programmes
  • Tableaux

Ce cours présente des principes fondamentaux du fonctionnement des machines à microprocesseurs, en particulier les principes de représentation des informations dans les ordinateurs, de la logique combinatoire et de la logique séquentielle. Il aborde notamment :

  • Le codage de l'information : représentation des nombres en machine, représentation des informations alphanumériques.
  • La logique combinatoire : algèbre de Boole, portes logiques, aiguillage de l’information (multiplexage, démultiplexage), circuits numériques (demi-additionneur, additionneur complet, soustracteur).
  • La logique séquentielle : bascule RS asynchrone et synchrone, bascules D, T et JK, mémoires, compteurs, registres.
  • Les principes de fonctionnement d’une petite machine : unité arithmétique et logique, unité de commande.

Le but de cet enseignement et de familiariser l'étudiant avec le raisonnement et les démonstrations mathématiques, en particulier avec les notions d’équivalence, de condition nécessaire et de condition suffisante, le langage des ensembles et ses applications ainsi qu’aux principes des structures algébriques. À cet égard, on pourra manipuler le raisonnement par l’absurde en s’appuyant sur l’arithmétique élémentaire que possède tout élève de terminale scientifique n’ayant pas suivi l’enseignement de spécialité. Dans le détail, le cours vise:

  • Initiation au raisonnement mathématique : les notions d'équivalence, de condition nécessaire et de condition suffisante, le raisonnement par l'absurde. Exemples issus de l'arithmétique élémentaire (notions de multiples, diviseurs, pgcd, nombre premiers) et de la géométrie (propriétés des isométries, théorème de Thalès et la perspective).
  • Langage des ensembles et applications : ensembles, opérations sur les ensembles, applications, propriétés des applications, relations d'équivalence et relations d'ordre ; notion de majorant, minorant, borne supérieure et borne inférieure d’une partie de R. Illustrations, exemples et contre-exemples sur les ensembles fondamentaux.
  • Initiation aux structures algébriques : groupes, anneaux, corps. On se bornera à la définition et la démonstration des propriétés triviales (par exemple l'unicité de l'élément neutre et de l'inverse). On insistera sur les exemples de N, Z, Q, R, C en liaison avec l'arithmétique élémentaire.

Cette unité d'enseignement comprend 4 éléments constitutifs:

  • Anglais
  • NTIC : référentiel national du C2I® niveau 1.
  • Projet d'insertion professionnel
  • RSDD (responsabilité sociétale et développement durable)

Pour cette unité d'enseignement d'ouverture, les étudiants choisissent une matière parmi:

  • Activités physiques pour la santé et le bien-être (SUAPS)
  • Activités sportives et motricité (SUAPS)
  • Découverte de la musique à travers les âges
  • Découverte des civilisations et cultures étrangères
  • Découvrir, vivre, comprendre une forme de pratique
  • Des molécules à la cellule
  • Histoire et méthodologie des sciences
  • Mythes, images et récits
  • Pratiques de l'espagnol oral et écrit

Semestre 2:

Cet enseignement s'inscrit dans la continuité de l'UE1 du premier semestre. Il aborde les aspects algorithmiques de la programmation impérative, et notamment :

  • La logique de Hoare : assertion, invariant et preuve de programme.
  • La notion de complexité.
  • Les algorithmes numériques, algorithmes de recherche, algorithmes de tri.
  • Enregistrements, fichiers.

Cet enseignement s'inscrit dans la continuité de l'UE2 du premier semestre. Il aborde notamment:

  • L'architecture d’une machine : UAL, mémoire, bus, interfaces, périphériques.'
  • La structure et la programmation d’un microprocesseur.
  • Les notions d'assembleur.
  • Les notions de piles et procédures.

Cet enseignement s'inscrit dans la continuité de l'UE2 du premier semestre. Il aborde notamment:

  • Espaces et sous-espaces vectoriels. Exemples. Relations et combinaison linéaires.
  • Applications linéaires. Homomorphismes : noyau, image. Calcul matriciel. Changement de base. Dualité.
  • Transposée d’une application linéaire. Dimension d’un espace, d’un sous-espace. Rang d’une application.
  • Déterminants. Résolution de systèmes linéaires. Règle de Cramer.
  • Diagonalisation élémentaire.

Cette unité d'enseignement comprend 2 éléments constitutifs:

  • Anglais
  • Outils de développement web

Semestre 3:

Cet enseignement vise à initier les étudiants aux bases de l’électronique analogique, c’est-à-dire des systèmes électroniques à signaux à variation continue (en contraste avec l’électronique numérique). Il s'agit pour l’étudiant de s’approprier les éléments théoriques élémentaires nécessaires à la compréhension des phénomènes électriques, statiques ou dynamiques. Les compétences visées sont:

  • Maîtriser les mesures électriques en continu et alternatif (oscilloscope - multimètre) ainsi que leur interprétation.
  • Mesurer la fonction de transfert d’un quadripôle simple (amplificateur, filtre premier ordre) et la tracer dans le plan de Bode.
  • Savoir définir un filtre (Nature, sélectivité).
  • Exploiter un schéma et mobiliser ses connaissances pour définir la fonction d’un circuit analogique (appliquer les théorèmes généraux).
  • Réaliser un montage et mesurer les caractéristiques des grandeurs en continu et en alternatif ( Générateur, multimètre et oscilloscope).
  • Maîtriser les représentations (temporelles et complexes).
  • Maîtriser la réponse à un échelon d’un circuit linéaire de type RC et RL.
  • Élaborer un protocole expérimental pour modéliser un quadripôle (amplificateur, filtre).
  • Exploiter un relevé de mesure pour réaliser le tracer d’un diagramme de Bode.
  • Analyser un graphique et extraire les caractéristiques du montage (Nature d’un filtre, fréquence de coupure, amplification).
  • Exploiter et interpréter les résultats expérimentaux et théoriques.

Cet enseignement s'inscrit dans la continuité des UE2 du semestre 1 (L1) et porte sur la conception et l’implantation de fonctions logiques sur des circuits de logique programmable tels que les FPGA.

Cette UE est divisée en deux enseignements indépendants:

  • Système d'exploitation

    Cet enseignement porte sur les principes généraux d’un système d’exploitation (noyau, processus, système de fichiers, utilisateurs et droits), en prenant en exemple le système d'exploitation Linux. Il aborde pour cela les langages de commande et de script (terminal Linux, bash, grep/sed/tr).

  • Programmation C

    Ce cours reprend en détail les bases de la programmation en langage C qui sont indispensables pour la programmation de dispositifs embarqués. Il présente d’abord les notions de types, de variables, de fonctions d’E/S, d’opérateurs, d’instruction de contrôle, de types composés et de fonctions. Sont ensuite abordées les structures de données complexes linéaires et les algorithmes permettant de les manipuler (liste, file, pile) pour finir par les arbres binaires de recherche et les tables de hachage. Les compétences visées sont:

    • Appliquer des approches raisonnées de résolution de problèmes complexes par décompositions et/ou approximations successives et mettre en oeuvre des méthodes d’analyse pour concevoir des applications et algorithmes à partir d’un cahier des charges partiellement donné.
    • Choisir, sur des critères objectifs, les structures de données et construire les algorithmes les mieux adaptés à un problème donné.
    • Analyser et interpréter les résultats produits par l'exécution d'un programme.
    • Expliquer et documenter la mise en œuvre d'une solution technique.

Cette UE est divisée en deux enseignements indépendants:

  • Anglais

    Ce cours permettra de travailler des compétences langagières, des compétences transversales (prise de parole en continu (PPC), savoir argumenter, synthétiser...), ainsi que la méthodologie.

  • Introduction à l'industrie 4.0

    Ce cours abordera quelques-uns des outils du Lean Manufacturing et le travail collaboratif associé. Il est dispensé par un acteur du monde professionnel et permet aux étudiants de découvrir le milieu industriel.

Ce cours vise la maîtrise des concepts et des technologies mis en jeu dans les machines électriques et les systèmes de transmission de l’information. Au travers de cet enseignement, l'étudiant va acquérir les bases nécessaires à la compréhension des systèmes de mise en forme de l’énergie électrique : les composants intervenant dans leur élaboration, les machines électriques, les procédés de conversion et les outils d’analyse qui leur sont dédiés. Il va également comprendre le fonctionnement d’un système de communication et étudier les différents supports de transmission de l’information allant des radiofréquences aux fibres optiques. Les compétences visées sont:

  • Connaissance des principes fondamentaux de l’électrotechnique et des systèmes de communication
  • Connaissances avancées en ingénierie : méthodes et outils de simulation
  • Apprendre à poser et formuler les problèmes

Semestre 4:

  • Composants de l'électronique analogique

    Ce cours vise l'acquisition de connaissances sur les composants élémentaires de l’électronique et leurs applications dans les fonctions de base. Il aborde en premier lieu les semi-conducteurs (semi-conducteur intrinsèque, dopage, jonction PN) et en deuxième lieu les composants électroniques et leur mise en oeuvre (diodes à jonction PN, diodes spéciales, caractéristiques électriques figurant dans les fiches constructeurs d'une diode, application au redressement.)

  • Acquisition des données

    Ce cours suit toute la procédure d’acquisition de données depuis la transformation de la mesure physique par un capteur en signal électrique analogique, jusqu'à sa numérisation par le biais des étapes d’échantillonnages et de quantification. Il vise à comprendre comment les données non structurées issues de capteurs sont conditionnées, stockées et numérisées en machine. Les compétences visées sont:

    • Comprendre les biais introduits lors de l’acquisition et évaluer leurs impacts
    • Maîtriser les aspects théoriques des étapes d’échantillonnage (Théorème de Shannon) et de quantification (bruits de quantification)
    • Évaluer la qualité d’un dispositif d’acquisition pratique

Ce cours porte sur la conception de systèmes numériques à base de microcontrôleur, en abordant le fonctionnement d’un microcontrôleur, sa programmation et sa mise en œuvre avec des capteurs et des actionneurs pour concevoir des systèmes embarqués. Sont notamment abordées les notions de ports d’entrées/sortie (GPIO), entrées analogiques et convertisseurs analogiques-numériques (CAN), sorties PWM, timers et gestion du temps par le microcontrôleur, les interruptions externes. Sont appréhendées également dans ce cours la mise en oeuvre dans des systèmes embarqués, et l’interfaçage avec différents capteurs (capteurs tout-ou-rien tels que les interrupteurs et boutons poussoirs, photorésistance, capteurs de température, télémètre à ultrasons,...) et actionneurs (moteurs à courant continu, servomoteurs, diodes électroluminescentes, afficheur à LED 7 segments, afficheur LCD,...). Il s'agira par ailleurs de comprendre la différence entre un microcontrôleur et un microprocesseur, et les contraintes propres aux systèmes embarqués en termes de limitation des ressources (ressources de calcul, de mémoire et énergétiques). Les compétences visées sont:

  • Savoir lire une documentation technique pour déterminer les caractéristiques d'un microcontrôleur
  • Mise en œuvre d'un microcontrôleur et interfaçage avec des capteurs et des actionneurs
  • Savoir programmer un microcontrôleur avec Arduino ou MicroPython
  • Acquérir des bases sur le langage de description VHDL pour la conception de microcontrôleurs

Cette UE présente les fondements à la fois mathématiques et informatiques nécessaires au traitement numérique du signal, puis aborde l'analyse de Fourier de signaux numériques et donne de premiers éléments de filtrage numérique. Les compétences visées sont:

  • Représenter un signal sous une forme mathématique
  • Reconnaître les différents types de signaux
  • Savoir appliquer des transformations mathématiques (DSF, TF, TZ, TFD) sur des signaux analogiques ou numériques
  • Interpréter les résultats d’une transformation spectrale
  • Connaître l’impact de l’application d’un Système Linéaire Invariant sur un signal analogique ou numérique
  • Savoir programmer en python la synthèse et l’affichage de signaux et de spectres.

Cette UE est divisée en trois enseignements indépendants:

  • Anglais

    Ce cours permettra de travailler des compétences langagières, des compétences transversales (Prise de parole en continu (PPC), savoir argumenter, synthétiser...), ainsi que la méthodologie.

  • Projet d'orientation professionnel (POP2)

    L'enseignement sera organisée autour de séances de TP, complétées par un travail personnel de l’étudiant et un suivi personnalisé. Au cours de ces séances, l’étudiant sera amené à concevoir des documents professionnels (CV et lettre de motivation) ciblés sur une offre.

  • Techniques avancées de l'Industrie 4.0

    Ce cours poursuit la découverte des techniques de Lean/smart manufacturing et permet de faire le lien entre les différentes technologies communicantes et leurs utilisations dans le milieu industriel

Ce cours vise à former l’étudiant aux principes fondamentaux de la programmation orientée objet (POO) et à leur mise en œuvre en langage Java. Le cours et les TP pourront s’appuyer sur des interfaces graphiques simples. Les compétences visées sont:

  • Connaître les principes fondamentaux d'abstraction, d'encapsulation et d'héritage en POO
  • Maîtriser les bases du langage Java (types, opérateurs, etc.)
  • Maîtriser les mécanismes de classes et d'objet ainsi que la mise en œuvre de l'héritage simple

Semestre 5:

L'objectif de ce cours est d'étoffer les notions d’électronique analogique vues aux semestres 3 et 4 de la Licence.

Des briques élémentaires plus complexes sont mises en œuvre à partir de montages à base d’amplificateurs opérationnels (AO) (Filtre second ordre, simulation d’impédance, oscillateurs, comparateurs). L'étudiant doit être capable à la fin du semestre d’assembler ces briques pour réaliser des fonctions simples de l’électronique afin de répondre à un cahier des charges. Il doit aussi maîtriser les techniques de mesures (oscilloscope, multimètre) sur les dispositifs électroniques. En travaux pratiques, une approche comparant simulation de circuit/mesures est systématiquement utilisée.

Ce cours permettra de maîtriser les connaissances de base nécessaires à la mise en réseau de systèmes numériques (embarqué ou non, de l’objet connecté basique, à l’ordinateur), en particulier le modèle théorique en couches OSI, et son implémentation pratique, le modèle TCP/IP qui permet l’interconnexion de réseaux hétérogènes ouverts, et définit le fonctionnement de l’Internet. Les spécificités des différentes couches de ces modèles, et les différents protocoles réseaux associés, seront appréhendés de manière détaillée durant ce cours. Les compétences visées sont:

  • Savoir configurer les paramètres réseaux d'un système numérique connecté (adresses IP, passerelle par défaut, serveur DNS,...)
  • Savoir utiliser des outils de diagnostic réseau pour analyser le trafic et détecter des conflits entre les systèmes connectés sur un réseau local.
  • Être capable de concevoir et simuler le fonctionnement d'une architecture réseau sur un logiciel de simulation réseau (Cisco Packet Tracer, GNS3, Netkit)
  • Être capable de développer des programmes informatiques pour systèmes numériques, sollicitant des services réseaux, en utilisant les mécanismes de sockets réseaux.

Cette UE s'inscrit dans la continuité de l'UE3 du semestre 4 de la Licence.

L'objectif est de maitriser les bases du traitement et de l'analyse des images numériques. En particulier, l'enseignement aborde:

  • Définitions des concepts fondamentaux (espaces couleurs, histogrammes, connexité, etc.)
  • Transformation de l'histogramme
  • Interpolation d'image
  • Restauration d'image par filtrage spatial
  • Détection de contours dans une image
  • Segmentation d'images

Ce cours vise à acquérir les concepts théoriques fondamentaux de l’apprentissage automatique, en particulier dans le cadre de la théorie bayésienne de la décision. Il s'agit d'un cours d'initiation à l'Intelligence Artificielle, qui fait aujourd'hui partie intégrante des systèmes informatique embarqués. Il aborde notamment les notions de:

  • Probabilités
  • Variables aléatoires
  • Lois de probabilité classiques
  • Variables aléatoires multidimensionnelles

Cet enseignement s'inscrit dans la continuité de l'UE5 du semestre 3 de la Licence. Il vise la maîtrise des aspects avancés de la POO en Java : polymorphisme, structures de données complexes, exécution non conforme. Le cours et les TP s'appuient par ailleurs sur des interfaces graphiques simples en JavaFX. Les compétences visées sont:

  • Maîtriser l’héritage et le polymorphisme
  • Connaître et savoir manipuler les principales structures de données complexes (tableaux associatifs, types génériques,...)
  • Savoir anticiper et gérer les exécutions non conformes (tests, erreurs, exceptions,...)

Semestre 6:

Ce cours porte sur l'étude des différents aspects et caractéristiques des bus de communication. L'objectif est de permettre à l'étudiant de se familiariser avec les notions de communication de données numériques, plus particulièrement les différents types de bus existants dans le monde des systèmes embarqués. Les compétences visées sont:

  • Connaître les principales caractéristiques de quelques BUS utilisés dans les systèmes embarqués
  • Notions sur les techniques d’interfaçage (logiciel et matériel)
  • Compétences opérationnelles
    • Choisir un BUS de terrain en fonction des besoins d’une application
    • Être capable de citer et d’expliquer le fonctionnement des principaux BUS
    • Être capable de choisir (et argumenter) un BUS de terrain en fonction des besoins
    • Réaliser le câblage d’un BUS terrain
    • Comprendre une notice technique

Cette UE aborde les fondements de l'Automatique, avec en particulier:

  • modélisation et commande des systèmes asservis, continus et discrets.
  • modélisation et commande dans l'espace d'état, continu et discret.
  • commande par retour d'état.

L'UE comprend des cours magistraux (CM) où les méthodes et les modèles théoriques sont présentés, des travaux dirigés (TD) au cours desquels les méthodes sont mobilisées pour résoudre les problèmes fondamentaux soulevés par les systèmes linéaires bouclés, et enfin des travaux pratiques (TP) pendant lesquels les résultats obtenus en TD sont mis en évidence, grâce à des simulations lorsqu’il s’agit d’observer le comportement des systèmes étudiés, ou des calculs numériques (matriciel essentiellement) lorsqu’il s’agit de développer les modèles théoriques vus en cours et en TD. Les compétences visées sont:

  • Comprendre les phénomènes engendrés par les systèmes linéaires continus bouclés
  • Maîtriser le comportement des systèmes bouclés à l’aide d’un correcteur analogique
  • Comprendre et maîtriser les correcteurs numériques
  • Maîtriser la modélisation à l’aide de variables d’état, dans le domaine continu et échantillonné
  • Maîtriser les méthodes de calcul matriciel mobilisées par les modèles d’état
  • Maîtriser la commande par retour d’état.

Cette UE s'inscrit dans la continuité de l'UE3 du semestre 4 et de l'UE3 du semestre 5 de la Licence.

La partie signal de ce cours présente la théorie et la pratique de filtrage de signaux numériques, depuis la conception de filtres RIF et RII jusqu'aux premières notions de transformées en ondelettes. En analyse d’image, le cours présente les outils fondamentaux de la vision par ordinateur : détection et segmentation, extraction d’informations visuelles, géométrie et calibration de capteurs, stéréoscopie, localisation et reconnaissance d’objets, suivi de mouvements. Les systèmes de vision fournissent les informations sur les objets 3D, cette base de connaissances permettra d’en donner une interprétation fidèle, fiable et rapide. La vision par ordinateur sera utilisée dans le domaine de pointe qui est la robotique. Les compétences visées sont:

  • Savoir choisir une approche de filtrage en fonction des contraintes de l’application
  • Savoir concevoir un filtre répondant à des contraintes fréquentielles
  • Acquérir les connaissances qui permettront d’aborder les aspects techniques de la vision par ordinateur

En plus des enseignements disciplinaires, qui préparent à devenir des spécialistes dans le domaine des systèmes embarqués, cette UE vise une immersion professionnelle qui prépare à l’entrée sur le marché du travail. La réalisation d’une application industrielle ou un stage en entreprise sont un moyen de personnaliser le cursus et de faciliter l’orientation professionnelle.

Durant cette période de stage ou projet, l'étudiant devra :

  • Comprendre les besoins fonctionnels exprimés par un tuteur.
  • Analyser cette expression de besoins et rédiger un cahier des charges fonctionnel.
  • Mettre en œuvre les méthodes de gestion de projet, planifier et gérer les ressources.
  • Rédiger les spécifications du produit ou de l'étude.
  • Concevoir et développer l'application.
  • Faire la recette des livrables du projet avec le responsable.

Le but étant de réaliser le projet dans les délais, obtenir les résultats annoncés et gérer éventuellement la relation avec un client, les acquis sont à la fois pédagogiques, humains et professionnels.

Les Systèmes de Gestion de Base de Données Relationnels (SGBDR) restent aujourd'hui très largement exploités. Ce succès est notamment dû au modèle relationnel que ces systèmes implémentent. La simplicité de celui-ci alliée à la puissance offerte par la rigueur de ce modèle mathématique a permis l’élaboration de systèmes robustes, sécurisés et surtout facile d’accès, par l'intermédiaire du langage SQL. Les méthodes permettant l’élaboration d’une base de données relationnelle sont aujourd'hui éprouvées et empreintes de règle de bonne pratique qu’il convient d'appréhender. Les compétences visées sont:

  • Comprendre la notion de Système de Gestion de Base de Données (SGBD) Relationnel.
  • Comprendre la notion de modèle de base de données relationnelle.
  • Savoir modéliser une situation concrète issue du monde réel sous forme de diagramme de classe UML.
  • Transformer un diagramme de classe UML en schéma relationnel.
  • Analyser les dépendances fonctionnelles d’un schéma relationnel est savoir normaliser ce dernier.
  • Maîtriser les ordres DDL et DML de base du langage SQL.