ECTS
4 crédits
Composante
Faculté des Sciences
Description
On appelle génie informatique la discipline qui traite de la conception, du développement et de la fabrication de systèmes informatiques, aussi bien d'un point de vue matériels que logiciels.
Cette discipline est devenue fondamentale dans les sciences pour l’ingénieur que ce soit en électronique, en robotique, en traitement du signal, en mesure … dû à la part importante qu’a pris l’ordinateur dans tous ces domaines.
Ce module vise à amener les étudiants à développer du code informatique dans un volume correspondant à l’échelle d’un logiciel complet. La quantité de code associée suscite naturellement un besoin de structurer le code pour qu’il reste viable, et les concepts associés à la structuration du code seront donc abordés ou renforcés.
L’enseignement est donc organisé pour l’essentiel autour de travaux pratiques et de projets. Le contexte concerne pour une grande part des thématiques profondes de l’EEA : le traitement du signal (chaine d’acquisition), l’interfaçage d’instrument, et la remontée de données par internet sur plateforme linux embarqué. Le thème de la programmation par événements à travers le développement d’interfaces graphiques sera également abordé. Les langages servant de support seront Labview et Python. Des portions de C/C++ pourront être utilisées à l’initiative des étudiants dans les projets.
Objectifs
- être capable de développer un logiciel comportant une quantité de code conséquente,
- savoir structurer un code informatique
- implantation informatique de techniques associées aux thématiques de l’EEA : traitement du signal, interfaçage d’instruments (chaine d’acquisition), remontée de données par réseau internet (wifi, ethernet …)
- programmation par événements et développement d’interfaces graphiques
Pré-requis nécessaires
Savoir programmer dans au moins un langage informatique en programmation impérative, idéalement en python.
Pré-requis recommandés* :
Bonnes connaissances en python. La connaissance du C est un vrai plus.
Contrôle des connaissances
Contrôle continu 100%.
Syllabus
Cours : algorithmique, structuration de code informatique et de données.
Travaux pratique :
Les travaux pratiques sont tournés vers des applications de chaines d’acquisition, de traitement et de visualisation de signaux (acoustiques, optiques, imageurs, etc.), la remontée de données par le réseau et la programmation par événements
- Éléments d'interfaçage et de programmation pour le pilotage d'instruments.
- Acquisition et restitution de données : capteurs, échantillonnage, quantification, numérisation (utilisation de systèmes réels comme système d'acquisition)
- Acquisition de données basiques sur une machine à Linux Embarquée (raspberry) et écriture d’un service permettant la remontée de données
- Interrogation d’un service de remontée de données distant avec PC et interface graphique pour le traitement et la présentation des résultats
Projet :
Chaque année un nouveau thème de projet est proposé. Des rencontres entre enseignants et étudiants sont organisées régulièrement pour juger de l’avancée du projet et aider les étudiants dans le développement de leur projet. Les thèmes des projets iront de la remontée de données aux interfaces graphiques sur ordinateur.
Informations complémentaires
CM : 3h
TP : 30h