Composante
École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications
Objectifs
C’est un cours d’initiation à l’informatique pour le calcul scientifique. Les objectifs sont pour les étudiants en terme de savoir et de savoir faire :
- Posséder une culture sur l’histoire de l’informatique
- Connaître les architectures des ordinateurs les plus courantes
- Comprendre ce qu’est un système, un langage, un terminal, un fichier
- S’initier aux commandes de base du shell BASH (pas de script)
- S’initier à l’algorithmique pour résoudre des problèmes scientifiques
- Apprendre les commandes fondamentales d’un langage structuré (le fortran)
- Savoir faire une librairie, des modules et compiler un ensemble d’objets (Makefile)
- Etre capable de comprendre les messages d’erreur fournis par un compilateur
- Etre capable de traduire un problème (de mathématiques, d’ingénierie, un modèle) en un programme informatique fonctionnel, efficace et réutilisable.
- Etre capable de comprendre et modifier des sources de code écrit par un inconnu
- Conserver un esprit critique par rapport aux résultats numériques obtenus dans un code
- Apprendre à utiliser des outils de base pour le calcul scientifique (dessiner des courbes, écrire un rapport, utiliser un éditeur de texte performant)
- Mener un projet à bien en équipe.
Description
L’enseignement est présenté par thèmes : histoire, introduction à l’informatique, architectures, systèmes, langages et résolution de problèmes scientifiques (mathématiques, structure, aérodynamique). L’enseignement est constitué d’environ 25 % de cours, le reste étant des travaux sur machines et un bureau d’étude longue durée. Des travaux en autonomie sont aussi demandés.
Tous les documents de cours, ou corrigés d’exercices ou de travaux pratiques, ainsi que des documents à thèmes sont disponibles sur Moodle afin de faciliter un travail à distance des étudiants alternants.
L’enseignant propose des exercices extrêmement variés touchant à tous les aspects du langage informatique: variables, tableau, structures, fonctions, entrées-sorties, modules ainsi qu’à la structuration d’un code (Makefile, bibliothèque, modules).
Il partage aussi de nombreuses techniques de programmation pour optimiser la taille d’un code et le rendre modulaire, utilisable et modifiable par un utilisateur non averti.
Une sensibilisation aux logiciels libres et à la propriété intellectuelle (plagiat) est aussi proposée.
L’évaluation se présente sous forme d’un contrôle continu, de programmes personnels à rendre, d’un test de connaissance sur Moodle et du compte-rendu (rapport + sources) du Bureau d’Etude.
Un investissement personnel et une certaine rigueur sont nécessaires pour maîtriser à minima le langage et les techniques enseignés.