Durant la troisième année, les étudiant.es étendent leurs connaissances en informatique, mathématiques et sciences de la vie tout en commençant à combiner ces compétences dans des cours interdisciplinaires comme "Analyse de données biologiques" ou "Biotechnologies: omics".
Formation en informatique
Algorithmique et structure de données (LSINC1121)
L’algorithmique et les structures de données sont parmi les piliers les plus importants de l’informatique. Peu importe dans quel domaine de l’informatique vous travaillerez, vous en avez besoin. Ce cours est considéré comme un préalable pour tous vos autres cours qui suivent en informatique. C’est d’ailleurs aussi pour cela que la plupart des tests à l’entrée des plus gros acteurs de l’informatique font passer un test aux candidats pour vérifier la bonne maitrise théorique et pratique de ce sujet. Ce cours vise à étudier les structures de données et algorithmes les plus importants et plus fréquemment utilisés comme les tas, les dictionnaires, les arbres de recherches, les graphes, les algorithmes de tris, de recherche de chemins, d’arbre sous-tendants, de compression de texte, de recherche dans un texte, etc.
Pierre Schaus utilise et conçoit et implémente des algorithmes depuis plus de 15 ans dans le domaine de l’optimisation.
À découvrir :
Ce cours utilisera le livre de référence très connu Algorithms utilisé par les meilleures universités. Ce livre offre un très bon compromis entre la théorie et le concret (le code est donné en Java et ce code est très propre).
L’évaluation et l’apprentissage utiliseront l’outil Inginious où l’étudiant sera amené à réfléchir à des exercices théoriques et pratiques (implémentation).
La Page du cours.
La pédagogie utilisée sera celle des classes inversées basée sur “J’entends et j’oublie, Je vois et je me souviens, Je fais et je comprends.”
Les étudiants doivent lire chaque semaine par eux-mêmes certains chapitres et préparer des exercices théoriques et d’implémentation avant les séances de restructurations.
Bases de données et modélisation (LSINC1301)
Prochainement disponible.
Systèmes informatiques (LSINC1252)
Systèmes Informatiques (LSINC1252) explique comment concevoir et utiliser un système d’exploitation moderne. Le système d’exploitation est la couche logicielle située entre le matériel et les applications utilisées par les utilisateurs. Sans le système d’exploitation, la construction d’applications serait très complexe et limitée : on ne saurait par exemple pas facilement lancer plusieurs programmes en même temps ou bien protéger les données des utilisateurs sur un ordinateur partagé. Pour simplifier le travail des programmeurs et améliorer la sécurité des utilisateurs, le système d’exploitation fournit un certain nombre d’abstractions comme les processus (programme en cours d’exécution), un modèle mémoire « idéalisé », ou encore des outils de synchronisation permettant d’exploiter de façon efficace les processeurs modernes comprenant plusieurs cœurs d’exécution.
Dans le cours LSINC1252, les étudiant·es apprennent comment fonctionnent les différentes couches du système d’exploitation GNU/Linux et comment bien tirer parti des services associés dans leurs programmes. Le cours est accompagné de nombreux exercices pratiques dans le langage C ainsi que de deux mini-projets permettant de comprendre et pratiquer à la fois l’utilisation des services d’un système d’exploitation que leur construction dans un environnement simplifié.
Le cours est donné par le professeur Etienne Rivière. En parallèle de ses activités d’enseignement à l’EPL, Etienne Rivière dirige le laboratoire de « Cloud Computing » et systèmes répartis à grande échelle. Le groupe construit et évalue des services et systèmes d’exploitation pour les grands réseaux formés de très nombreuses machines, comme par exemple, un centre de données ou la combinaison entre l’internet des objets et les ressources clouds. En lien avec l’informatique pour les sciences de la vie, le groupe du Pr. Rivière s’intéresse aussi à la protection des données personnelles dans les systèmes informatiques utilisés dans l’automatisation des maisons, par exemple pour le maintien à domicile des personnes âgées et vulnérables.
Quelques liens pour en savoir plus, comme par exemple le lien vers un livre de référence, un lien vers moodle (assurez-vous qu'il est ouvert aux utilisateurs anonymes), un lien vers l'enregistrement du premier cours où vous expliquez ce qu'il contient...
Le syllabus du cours est en accès libre.
Éventuellement
https://sites.uclouvain.be/SystInfo/notes/Theorie/_images/threads_states.png
https://sites.uclouvain.be/SystInfo/notes/Theorie/_images/cache_bus.png
https://sites.uclouvain.be/SystInfo/notes/Theorie/_images/ext4_redirections.png
ou en CC :
https://commons.wikimedia.org/wiki/File:Operating_system_placement-fr.svg?uselang=fr
Introduction à l'Intelligence Artificielle (LSINC1361)
L’intelligence artificielle devient omniprésente dans nos vies grâce à la digitalisation. Les algorithmes nous conseillent de plus en plus, que ce soit pour se faufiler dans le trafic à l’heure de pointe, pour identifier les causes d’une panne industrielle ou identifier des traces cancéreuses sur des images médicales.
Mais comment développe-t-on de tels algorithmes ? Comment fait-on pour que les décisions qu’ils nous conseillent soient si pertinentes ?
Ce cours répond à ces questions et étudie plusieurs techniques qui nous permettent de développer des algorithmes d'intelligence artificielle.
L’intelligence artificielle apporte beaucoup de valeur dans des domaines très varié, et en particulier dans le domaine de la santé. Il est important d’avoir une vue claire sur ce domaine afin de pouvoir saisir les opportunités qui se présenteront dans votre vie professionnelle.
Ce cours sera aussi l’occasion pour vous de développer une intelligence artificielle pour un jeu et une compétition entre vos algorithmes vous permettra d’apprendre énormément sur la mise en place concrète de ces techniques.
Ce cours se base sur le livre de Stuart Russell, Peter Norvig: Artificial Intelligence : a Modern Approach, 3nd Edition.
Sébastien Mouthuy est sorti de l’UCLouvain en 2011 après un doctorat dans le domaine de la recherche locale (que nous verrons dans ce cours). Depuis, Sébastien applique les techniques d’intelligence artificielle à la prise de décision automatique et développe des solutions pour les secteurs pharmaceutique, énergétique et logistique.
Sébastien Mouthuy pourra donc bien vous accompagner dans l’application des techniques de l’intelligence artificielle, depuis une idée, jusqu’à sa réalisation dans une solution concrète.
Réseaux informatiques (LSINC1341)
Les réseaux informatiques et Internet sont aujourd’hui au coeur de notre société. Rares sont les applications informatiques qui n’utilisent pas le réseau. Le cours est organisé en deux parties. La première se concentre sur les principes théoriques du fonctionnement des réseaux informatiques en général. Vous y apprendrez comment transférer de l’information de façon fiable, comment organiser un réseau, comment partager les ressources ainsi que les principes de la sécurité des réseaux informatiques. La seconde partie du cours se concentre sur la façon dont ces principes sont mis en oeuvre sur l’Internet. Vous apprendrez comment fonctionnent les principaux protocoles utilisés dont notamment le DNS, email, TLS, ssh ou les différentes versions de HTTP. L’exploration des protocoles se poursuit avec les protocoles de transport, UDP et TCP y compris le très important mécanisme de contrôle de congestion. Au niveau du réseau, le cours se concentre sur IPv6 et présente les principaux protocoles de routage dont BGP. Le cours se termine par une présentation des deux principales technologies de réseaux locaux : Ethernet et Wi-Fi.
Outre le cours théorique, les étudiants mettent en œuvre les concepts vus dans le cadre de travaux pratiques et de projets.
Olivier Bonaventure est professeur à l’UCLouvain. Il travaille sur l’amélioration des protocoles Internet depuis une trentaine d’années et dirige l’IP Networking Lab de l’UCLouvain. Il est l’auteur du livre open-source Computer Networking : Principles, Protocols and Practice utilisé par de nombreuses universités.
À découvrir :
- Le syllabus interactif avec de nombreux exercices
- Les enregistrements du cours
Projet 4 : Application des bases de données (LSINC1509)
Projet 4: Application des bases de données (LSINC1509) permet de travailler en groupe sur un projet d’application (web/mobile/de bureau) apportant une réponse à un problème lié aux sciences du vivant. Le travail se déroule en deux temps : dans un premier temps, les groupes identifient des besoins utilisateurs et définissent une proposition répondant à ces besoins. Dans un second temps, les groupe suivent un processus de développement itératif et incrémental afin de développer un prototype pour l’une des application pitchées dans la phase précédente.
Ce cours est donné par le Professeur Xavier Devroey de l’Université de Namur.
Formation en mathématiques
Statistiques et sciences des données (LSINC1109)
Prochainement disponible.
Analyse de données biologiques (LSINC1114)
Ce cours propose une introduction à l'analyse de signaux neurophysiologiques (électroencéphalogrammes – EEG, électrocardiogrammes – ECG...), ainsi qu'au traitement d’images biomédicales. De telles données sont au cœur de la prise en charge de la majorité des patients dans un hôpital, mais elles se caractérisent par une grande complexité et une haute dimensionnalité, ce qui requiert l’usage de techniques mathématiques et informatiques adaptées. Vous serez amenés à mettre en pratique ces techniques de traitement du signal en créant des applications Web (écrites en JavaScript) qui communiqueront à travers des API REST avec un serveur en charge de réaliser les calculs (écrit en Python avec le module Flask).
Sébastien Jodogne travaille dans le domaine de l’informatique médicale. Il est notamment l’auteur de l’écosystème libre et open-source Orthanc pour l’imagerie médicale.
À découvrir :
- Ouvrage de référence pour la partie “traitement d’images biomédicales” : Introduction to Medical Image Analysis, par Rasmus Paulsen et Thomas Moeslund (2020).
Illustration
Formation en sciences
Biologie moléculaire (LSINC1331)
L’ADN est le matériel génétique de tous les êtres vivants de notre planète. Voici les questions qui vont animer ce cours :
Par quels mécanismes se modifie-t-il au cours de l’évolution?
Comment les bactéries peuvent-elles s’échanger de l’ADN?
Comment nous, les scientifiques, pouvons-nous manipuler l’ADN, afin de produire des protéines d’intérêt thérapeutique par exemple?
Comment pouvons-nous tenter de comprendre comment le vivant fonctionne dans son “intimité moléculaire” avec une approche génétique?
Et enfin, comment l’étude des allèles des gènes humains peut-elle nous permettre de prédire des traitements adaptés et des risques de pathologies?
Dans la recherche qu’il anime avec son équipe, Xavier De Bolle met en oeuvre des approches génétiques pour comprendre les mécansimes moléculaires qui permettent aux bactéries de grandir et de se diviser.
> lien vers la page recherche
Biotechnologies : omics (LSINC1332)
Les systèmes biologiques peuvent être étudiés à différents niveaux.
La génomique est la branche des sciences qui étudie en détail l'ensemble des gènes d'un ou plusieurs organismes vivants.
La protéomique est la branche qui caractérise l'ensemble des protéines d'un système vivant.
De façon générale, les sciences dites "-omiques" s'intéressent à un domaine spécifique d'un système biologique et essayent d'en caractériser globalement tous les aspects.
Dans un premier temps, différentes méthodes de production de données biologiques seront étudiées.
Pour chaque méthode, on s'intéressera :
- au principe de fonctionnement,
- à la préparation et au traitement des données brutes,
- à l'analyse et à la visualisation des résultats produits.
Ensuite, des outils génériques pour l'analyse et l'interprétation des résultats obtenus seront étudiés.
Enfin, une introduction aux bases de données biologiques sera proposée pour permettre de comparer et d'évaluer les résultats produits.
Au terme de ce cours, donné par Vincent Branders, vous serez capable de réaliser l'étude de nombreux domaines tels que le génome, le protéome, le métabolome ou le métagénome.
Formation en langues et en sciences humaines
Anglais pour informaticiens 3 (LANGL1184)
Le cours s'articule sur divers thèmes et activités en rapport avec l’informatique, l’ingénierie, l’écologie dans le secteur des sciences du vivant et de la santé, l’objectif à visé au terme du cours est l’acquisition d’un niveau B2+/C1 du CEFR (Cadre Européen commun de référence pour les langues).
Les méthodes utilisées privilégient l'apprentissage actif et interactif des étudiants et sont basées sur le principe de la classe inversée. Les étudiants sont amenés à discuter et débattre des sujets préparés. Un projet final, ainsi qu’une unité d’enseignement sur la conception d’un CV, d’une lettre de motivation, et d’un entretien d’embauche, feront office d’évaluation.
Le cours est donné par Lucille Meyers. Ayant vécu plus de 10 ans aux USA, Miss Meyers est spécialisée en linguistiques appliquées, didactique des langues étrangères, et les technologies pédagogiques.
Les outils principaux du cours d’anglais III sont le syllabus et la plateforme MoodleUCL, mais d’autres outils digitaux sont régulièrement mis à disposition et exploités.
Gestion des personnes (LSINC1805)
Ce cours vise à appréhender les concepts-clés du management humain et de la gestion des personnes en contexte de travail. Trois niveaux d’analyse seront abordés : l'individu dans le groupe, l'individu au travail, l'individu dans l'organisation. Le cours mettra l’accent sur une pédagogie active, permettant aux étudiants de faire le lien entre les différents modèles théoriques présentés, leur vécu propre de la thématique durant les exercices proposés et l'analyse de situations organisationnelles concrètes. Des modules en e-learning seront également proposés.
Le cours est donné par Harmony Glinne-Demaret.
À découvrir :