Programmation
Cours signalées avec « Programmation »
101.1 - Programmation impérative 101.1 - PImp
- Donné en : 1ère année
- Périodes hebdomadaires : 6
- Semestre: Automne
Dans ce cours sont posées les bases de la programmation en utilisant un style dit impératif; Des exercices et des projets permettront de maîtriser les principes fondamentaux de la programmation et du code tout en développant également la capacité à penser et à résoudre les problèmes comme un·e programmeu·r·se.
- Enseignant: Pierre-André Mudry
- Enseignant: Renaud Richardet
101.2 - Prog. orientée-objets 101.2 - POO
- Donné en : 1ère année
- Périodes hebdomadaires : 6
- Semestre: Printemps
À partir des bases acquises dans le cours Programmation impérative, de nouvelles compétences en programmation orientée-objets sont développées et vous serez capables de construire de nouvelles abstractions encapsulant données et méthodes. Notamment nous développerons les 4 concepts clé suivants :
- Abstraction
- Encapsulation
- Héritage
- Polymorphisme
De plus, des structures de données plus complexes (List, Set, Map) seront également introduites tout comme des notions de typages plus avancées, notamment à l’aide de la généricité. La mise en pratique sera efectuée par le biais de laboratoires appliqués ainsi que sur un projet plus conséquent de jeu vidéo réalisé en groupe.
- Enseignant: Pierre-André Mudry
- Enseignant: Renaud Richardet
102.2 - Architecture des ordinateurs 102.2 - ArchOrd
- Donné en : 1ère année
- Périodes hebdomadaires : 4
- Semestre: Printemps
En partant des bases acquises dans le cours Systèmes numériques, ce cours aborde les connaissances de base du fonctionnement et de l’organisation d’un processeur, notamment dans ses aspects de fonctionnement logique, structurels ainsi que du point de vue de la performance.
Ces nouvelles compétences seront mises à l’épreuve au sein de groupes de travail en laboratoire et dans le cadre d’un projet semestriel.
- Enseignant: Axel Amand
- Enseignant: Silvan Zahno
103.2 - Cryptographie et sécurité 103.2 - CrySec
- Donné en : 1ère année
- Périodes hebdomadaires : 4
- Semestre: Printemps
Les objectifs de ce cours sont d’expliquer et appliquer les principes de la cryptographie et de la sécurité des réseaux par l’acquisition de compétences dans la cryptographie pratique et théorique.
- Enseignant: Davide Calvaresi
200.1 - Computational physics 200.1 - ComPhy
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Automne
Ce cours a pour objectif de familiariser les étudiant·e·s aux approches utilisées en physique pour modéliser “le réel” ainsi qu’aux méthodes mathématiques analytiques et numériques sur lesquelles elles reposent.
L’objectif premier de la physique est d’expliquer le comportement du réel grâce à un ensemble de modèles, paramétrés et validés par des données mesurées. Très souvent, ces modèles reposent sur des méthodes de calcul numérique et des implémentations informatiques (modèles de simulation).
- Enseignant: Florian Desmons
- Enseignant: Jessen Page
200.3 - Machine learning 200.3 - ML
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Automne
Le machine learning (apprentissage automatique) permet de construire, à partir de données, des modèles capables de prédire, classer ou détecter des structures sans être explicitement programmés pour la tâche.
Ce cours vise à donner aux futur·e·s ingénieur·e·s en informatique une compréhension à la fois théorique et pratique des méthodes fondamentales du domaine, depuis l'optimisation et les modèles linéaires jusqu'aux méthodes d'ensemble et aux réseaux de neurones. La première moitié du semestre couvre les fondements mathématiques, les méthodes de base (régression linéaire, régression logistique, KNN, SVM) ainsi que les bonnes pratiques, tandis que la deuxième partie couvrira les modèles à base d'arbres et fournira un introduction aux réseaux de neurones.
- Enseignant: Vincent Andrearczyk
- Enseignant: Cédric Travelletti
200.2 - Probabilités et stat. IT 200.2 - ProbStatIT
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Automne
La statistique fournit des méthodes permettant de représenter et d’interpréter des données, dans le but de les valoriser et d’en extraire les caractéristiques essentielles. Ces méthodes sont basées sur des modèles mathématiques issus des probabilités.
L’objectif de ce cours est de familiariser les étudiant·e·s avec les modèles et les outils statistiques de base afin de pouvoir les appliquer pour analyser des données.
- Enseignant: Florian Desmons
- Enseignant: Marta Rende
- Enseignant: Cédric Travelletti
201.1 - Algo. et struct. de données 201.1 - Algo
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Automne
Ce cours fournit une introduction à la modélisation mathématique de problèmes computationnels. Il couvre les algorithmes les plus courants, les différentes catégories d’algorithmes ainsi que les structures de données nécessaires à résoudre ces problèmes.
S’appuyant notamment sur le contenu de 100.5 - Maths discrètes, ce cours met l’accent sur la relation algorithme / programmation et introduit des techniques d’analyse de performance de ces problèmes.
- Enseignant: Louis Lettry
- Enseignant: Émilie Neveu
201.3 - BD relationnelles 201.3 - BDRel
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Automne
En informatique, les bases de données permettent d’organiser et stocker de l’information de manière à pouvoir l’accéder facilement par des programmes. Ainsi, la plupart des applications informatiques utilisent une base de données pour stocker de manière durable, fiable et efficaces leurs données.
Il existe plusieurs organisations possibles pour les bases de données et l’une des plus répandues consiste à organiser des données dans des tables qui sont reliées entre elles : c’est le modèle relationnel. Derrière cette apparente simplicité se cache en réalité tout un monde de possibles qui seront traités dans ce cours.
L'objectif principal de ce cours est ainsi de vous permettre d’appréhender les principaux concepts des bases de données relationnelles (RDB) en suivant une approche pratique. Les sujets principaux sont la modélisation selon le modèle relationnel, le langage SQL et les opérations sur les DB. Le cours aborde également des aspects plus techniques des DB, tels que l’optimisation et les défis d’une mise en production.
- Enseignant: Renaud Richardet
202.1 - OS et concurrence 202.1 - OSCON
- Donné en : 2ème année
- Périodes hebdomadaires : 6
- Semestre: Automne
Les systèmes d'exploitation offrent une couche d'abstraction uniforme au-dessus du matériel afin d'en simplifier l'usage. Ils proposent une interface permettant de contrôler l'allocation des processeurs et de la mémoire, de gérer les interactions avec les périphériques et d'orchestrer le fonctionnement des applications. Ils forment ainsi une partie essentielle de tout système informatique, et leur compréhension est indispensable pour concevoir des logiciels performants et fiables.
Ce module, constitué d'un cours unique, présente les concepts fondamentaux des systèmes d'exploitation au travers d'une approche pratique. Les sujets abordés comprennent la programmation système, l'organisation de la mémoire vive et de la mémoire de stockage, la gestion des processus ainsi que la programmation concurrente. Il prolonge les bases posées dans le module 102 Architecture matérielle et complète le module 201 Fondations des systèmes logiciels en abordant la couche système sur laquelle s'exécutent les logiciels.
À la fin du module, l'étudiant·e sera capable de décrire les principes clefs des systèmes d'exploitation modernes et d'utiliser leurs interfaces pour exploiter les ressources d'un système informatique. Il ou elle sera en outre sensibilisé·e aux défis que soulèvent les accès directs à la mémoire dans les applications de haute performance et/ou concurrentes.
- Enseignant: Dimi Racordon
204.2 - Computational physics 2 204.2 - CompPhy2
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Printemps
Les modèles issus de la physique ont souvent servi d’inspiration pour le développement de modèles dans une variété de disciplines (recherche opérationnelle,mathématiques financières, théorie de l’information, contrôle. . . ). Ainsi lesméthodes mathématiques et numériques sous-jacentes à ces modèles ont percolé d’une discipline à une autre, diversifiant leurs champs d’application.
Dans ce cours, les étudiant·e·s se familiariseront avec quelques approches utilisées en physique pour modéliser le réel, les méthodes mathématiques analytiques et numériques sur lesquelles elles reposent et les applications de ces méthodes dans d’autres disciplines.
- Enseignant: Florian Desmons
- Enseignant: Jessen Page
206.1 - Data proc. and viz 206.1 - DPROCVIZ
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Printemps
- Enseignant: Vincent Andrearczyk
- Enseignant: René Schumann
206.2 - Model driven machine vision 206.2 - MDMV
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Printemps
- Enseignant: Loïc Azzalini
- Enseignant: Louis Lettry
206.3 - Formal & natural languages 206.3 - FNL
- Donné en : 2ème année
- Périodes hebdomadaires : 3
- Semestre: Printemps
- Enseignant: Renaud Richardet
25-26 / 206.3 - Formal & natural languages 25-26 / 206.3 - FNL
- Donné en : 2ème année
- Périodes hebdomadaires : 3
- Semestre: Printemps
- Enseignant: Renaud Richardet
25-26 / 206.2 - Model driven machine vision 25-26 / 206.2 - MDMV
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Printemps
- Enseignant: Vincent Andrearczyk
- Enseignant: Loïc Azzalini
- Enseignant: Louis Lettry
25-26 / 206.1 - Data proc. and viz 25-26 / 206.1 - DPROCVIZ
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Printemps
- Enseignant: Vincent Andrearczyk
- Enseignant: René Schumann
25-26 / 204.2 - Computational physics 2 25-26 / 204.2 - CompPhy2
- Donné en : 2ème année
- Périodes hebdomadaires : 4
- Semestre: Printemps
Les modèles issus de la physique ont souvent servi d’inspiration pour le développement de modèles dans une variété de disciplines (recherche opérationnelle,mathématiques financières, théorie de l’information, contrôle. . . ). Ainsi lesméthodes mathématiques et numériques sous-jacentes à ces modèles ont percolé d’une discipline à une autre, diversifiant leurs champs d’application.
Dans ce cours, les étudiant·e·s se familiariseront avec quelques approches utilisées en physique pour modéliser le réel, les méthodes mathématiques analytiques et numériques sur lesquelles elles reposent et les applications de ces méthodes dans d’autres disciplines.
- Enseignant: Florian Desmons
- Enseignant: Jessen Page
25-26 / 202.2 - Programmation concurrente 25-26 / 202.2 - CONC
- Donné en : 2ème année
- Périodes hebdomadaires : 6
- Semestre: Automne
Le cours présente les principaux concepts de la programmation concurrente (thread, exclusion mutuelle, communication et synchronisation) et les outils et librairies de haut niveau (frameworks d’exécution de threads, divers objets de verrouillage, synchroniseurs, etc.) pour gérer les problèmes qui surgissent avec la programmation concurrente (tel que ceux de liveness).
- Enseignant: Michael Schumacher
25-26 / 202.1 - Systèmes d'exploitation 25-26 / 202.1 - OS
- Donné en : 2ème année
- Périodes hebdomadaires : 6
- Semestre: Automne
Les systèmes d'exploitation sont une partie essentielle de tout système informatique car ils permettent d’abstraire le matériel et simplifier l’usage des ressources computationnelles (mémoire et CPU) à des programmes fonctionnant en parallèle. Les systèmes d’exploitation permettent ainsi d’exécuter des programmes, offrent des primitives pour la gestion de l’allocation du ou des processeurs, de la mémoire et des périphériques pour le stockage et la communication.
Ce cours présente des concepts des systèmes d'exploitation avec une approche pratique. Les sujets abordés comprennent l'organisation des systèmes d'exploitation, la programmation système, la gestion de la mémoire vive et les systèmes de stockage.
- Enseignant: Dimi Racordon





















