Aller au contenu principal

Charleroi > Cours du Bloc 1

epl | Louvain-la-Neuve, Charleroi

Durant la première année, les étudiant.es apprennent les bases de l'informatique, des mathématiques et des sciences de la vie et débutent leur formation en sciences humaines.

 

Formation en informatique

Ce cours aborde les concepts fondamentaux de la programmation orientée-objet. Vous y apprendrez à utiliser le langage de programmation Python, à comprendre et maitriser la structures de données linéaires, mais aussi la résolution de problèmes informatiques à travers l’analyse, la conception, la spécification et la mise en oeuvre de solutions. Le cours s'appuie sur le livre de référence : How to Think Like a Computer ScienGst – Learning with Python 3 (RLE) de Peter Wentworth, Jeffrey Elkner, Allen B. Downey, et Chris Meyers. Le cours est donné par les Professeurs Kim Mens et Siegfried Nijssen.

À découvrir :

- les modalités
- le syllabus interactif
- les informations du cours sur le catalogue de formations

Le cours d'Introduction à l'algorithmique (LSINC1103) vise à enseigner les méthodes de constructions d’algorithmes efficaces sur base d’une spécification formelle répondant à un problème identifié. La récursion sert de base à ce cours et l'évaluation de l’efficacité repose sur le calcul du temps d'exécution et de la consommation de la mémoire (théorie de la complexité). Nous utilisons des structures de données récursives : arbres, arbres rouges-noirs, listes, etc. Ainsi que des méthodes systématiques de construction de programmes efficaces : la méthode "diviser pour régner", les méthodes de mémorisation, dont la programmation dynamique, la méthodes gloutonne et la méthode générer/tester.

Ce cours est donné par le Professeur Xavier Devroey de l’Université de Namur.

Ce cours permet de comprendre comment les éléments principaux d’un ordinateur fonctionnent. Un ordinateur est un excellent exemple de système qui peut être complexe tout en étant finalement un assemblage d’éléments très simples. Au niveau microscopique, le composant de base du microprocesseur et de la mémoire est le transistor. On peut le voir comme un interrupteur dont la dimension peut descendre en dessous du milliardième de mètre.

Certains électroniciens travaillent à cette échelle, mais les informaticiens préfèrent manipuler des groupes de transistors qui traitent des signaux électriques représentant la valeur 0 ou 1. Avec quelques transistors, on construit les portes logiques. Le cours explique comment ces dernières permettent de construire tout un microprocesseur qui est capable de réaliser des additions, des multiplications, mais aussi de stocker des données en mémoire ou de faire des choix. Chaque semaine, de nouveaux concepts sont introduits pas à pas et utilisés afin d’aboutir à un ordinateur simple mais fonctionnel à la fin du quadrimestre.

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.

Le cours est donné par Olivier Bonaventure et s’appuie sur le livre.

À découvrir :

- le livre de référence, The Elements of Computing System par Noam Nisan et Shimon Schocken, publié au MIT Press.

- le syllabus interactif

- les informations du cours sur le catalogue de formations

Ce cours permet de travailler par groupes sur de petits projets informatiques en langage python. Ces projets se déroulent en parallèle avec le cours d'apprentissage de la programmation. Durant le premier projet, vous reviendrez sur des programmes écrits durant l'APP0 et les analyserez afin de les améliorer. Vous serez amenés à lire et comprendre des programmes écrits par d'autres, à tester des programme. Il s’agit d’une compétence essentielle pour des informaticien.nes. Cette compétence sera également travaillée dans de très nombreux cours.

Dans le deuxième projet, vous développerez un logiciel qui permet de poser des QCMs. C'est l'occasion de travailler sur les techniques qui permettent de générer des nombres aléatoires, un problème important dans de nombreuses solutions informatiques.

Le troisième projet est le plus ambitieux. Chaque groupe d'étudiants reçoit un petit ordinateur "raspberry pi" équipé de différents types de capteurs. Vous l’utiliserez pour concevoir un système interactif d’aide à la personne.

En parallèle avec ces projets, vous apprendrez aussi comment utiliser intelligemment Latex pour écrire vos rapports et comment une équipe peut exploiter Git pour partager efficacement du code informatique.

À découvrir :

- le manuel d'apprentissage de Latex de Marc Baudoin

- introduction à SenseHat en python

- les informations du cours sur le catalogue de formations

Dans ce cours vous travaillerez par groupes sur un site web écrit en langage Python en utilisant le framework (Flask). Le projet se fera en plusieurs phases. Au cours de ces phases vous serez guidés pour apprendre les (modèles de conception de logiciels) adaptés au web, la (visualisation de données), les bases de données SQL, les tests unitaires, le HTML, et bien d'autres concepts.

Cependant, la matière du cours ne couvre que les connaissances de base nécessaires au développement d'un site web. Le cours a également pour objectif de vous apprendre à travailler en groupe, à chercher l'information par vous-même, et vous apprendre à lire une documentation. En conséquence, par rapport au Projet 1, l'aide apportée sera plus succincte. Bien qu'un assistant suivra chaque groupe, le cours s'éloignera un peu plus de la méthode d'apprentissage très guidée du secondaire vers l'autonomie nécessaire à l'informaticien autodidacte que vous deviendrez.

Le cours se terminera par une présentation du site web réalisé par chaque groupe d'étudiants, et l'évaluation de votre travail par un autre groupe.

Tom Barbette est un jeune professeur rejoignant l'UCLouvain en 2022. Il est actif dans la recherche en réseau et systèmes informatiques, notamment dans les problèmes de (répartition de charge) à haut débit au sein des processeurs ou des (centre de données) comme ceux de Google. Il publie dans des conférences internationales de pointe telles que (NSDI) ou (SIGCOMM).

À découvrir :

- les informations du cours sur le catalogue de formations

- le site web avec les informations du cours

Vidéo d’intro

Formation en mathématiques

Les mathématiques sont un outil puissant pour comprendre l'univers et résoudre des problèmes pratiques. Pour décrire mathématiquement un phénomène ou un problème, il est nécessaire d'identifier les variables pertinentes et établir la relation entre eux. Cette relation entre les variables correspond à l'objet mathématique appelé "fonction". Après obtention de la fonction (modèle mathématique), l'étude du problème se réduit à l'étude du comportement de la fonction qui le décrit. Le cours LSIN1111 couvre définitions et techniques fondamentales pour l'analyse des fonctions réelles d'une variable et aussi exemples d'applications pratiques. Spécifiquement, le cours traite de calcul différentiel (dérivées) et intégral. Parmi ses applications on trouve la modélisation et l'étude de phénomènes du monde réel (p.ex. physique, biologie) à l'aide de fonctions, l'usage de techniques d'approximation et d'optimisation, le calcul de surfaces et de volumes et la résolution d'équations différentielles décrivant l'évolution temporelle d'un système.

Le cours est donné par le Professeur Geovani Grapiglia.