Le premier guide de l'étudiant en Sciences Informatiques

Tuyaux

Cette page regroupe une liste de descriptions des différents cours de ton cursus, ainsi qu'une liste de conseils en tous genres pour chacun d'entre eux. Ces conseils proviennent directement des étudiants de 3e année, qui sont donc déjà passés par les cours du Bloc 1 et 2, et qui ont cherché à donner leurs meilleurs conseils.

Liste des cours du Q1

Liste des cours du Q2

[Q1] MATH2007 - Mathématique

Cours de 6 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours est un des plus gros du Bloc 1. Il t'apprend à utiliser divers outils mathématiques qui interviennent dans tous les autres cours. Comme c'est expliqué dans la FAQ, les mathématiques sont omniprésentes dans tous les domaines de la vie quotidienne, donc il faut avoir une bonne compréhension des outils de base, qui sont présentés dans ce cours.

Concrètement, chaque partie du cours comporte des notions mathématiques qui sont utiles dans la suite de ton parcours :

  • Les compétences de base comme la manipulation de valeurs absolues, les ensembles mathématiques, les intervalles, l'utilisation de symboles sommatoires, savoir résoudre des équations de degré 1 et 2, par exemple, sont utiles dans pratiquement tous les autres cours du cursus.
  • La trigonométrie et les coniques sont utiles pour les cours de physique.
  • Le calcul vectoriel, et plus généralement la compréhension de ce qu'est un espace vectoriel, est une compétence utile dans tous les autres cours également puisque c'est un outil mathématique qui permet de manipuler des objets dans plusieurs dimensions. Cela peut sembler un peu abstrait tel quel, mais les vecteurs (et plus généralement les matrices) sont des notions très utiles dans le monde de l'informatique.
  • Les nombres complexes ne sont pas ce qu'il y a de plus important dans la suite de ton cursus, mais sont néanmoins réutilisés dans le cours de Mathématique pour l'informatique 1 et 2, et dans le cours de physique du Q2.
  • Toute la partie sur l'étude des fonctions réelles est essentielle pour tous les autres cours.
  • Les notions de suites et de limites sont des points de matière qui reviennent souvent dans les autres cours d'informatique. Notamment dans ce qu'on appelle les calculs de complexité temporelle, avoir une bonne compréhension du concept de limite est très utile. Ces notions sont d'ailleurs abordées avec une approche plutôt axée autour de l'informatique dans le cours de Mathématiques pour l'informatique 2.
  • La dérivation, primitivation et le calcul intégral sont des notions qui reviennent souvent dans d'autres cours. Notamment dans les cours de probabilités, comprendre ce qu'est une intégrale et comment utiliser cet outil peut être très utile.

Il faut garder en tête qu'il s'agit d'un cours de maths assez abstrait. On n'y explique pas exactement l'utilité que chaque chapitre pourrait avoir dans notre formation, puisque ce cours est partagé avec d'autres sections scientifiques. Mais on découvre, au fil des années, l'utilité de chacun de ces outils dans le reste de nos cours, et on apprend à les maitriser de mieux en mieux. Donc c'est normal d'avoir des difficultés au début, ou bien de ne pas comprendre exactement pourquoi tel outil peut s'avérer très utile pour résoudre un problème donné.

Tuyaux

  • Refais les examens des années précédentes. C'est une excellente façon de te préparer, tu remarqueras d'ailleurs que c'est souvent la même structure qui revient. Mais attention, il faut les refaire en étant dans le bon état d'esprit : place-toi en situation d'examen en coupant ton smartphone et en essayant de réaliser l'examen dans le temps imparti l'année où il avait été donné. Garde-les pour la fin de tes révisions.
  • ASSISTE À TOUTES LES SÉANCES D'EXERCICES !!! C'est malheureusement quelque chose de négligé par certains étudiants, mais les séances d'exercices sont primordiales, surtout dans ce cours. On nous y donne souvent des tuyaux pour l'examen et on y explique comment résoudre exactement les mêmes exercices que ceux qui seront donnés à l'examen. Ne pas y aller par flemme est une très mauvaise idée, tu peux demander l'avis de ceux qui les ont manqués l'année dernière, ils seront peut-être dans ta classe. Il y a une corrélation très forte entre les étudiants qui assistent aux séances d'exercices et ceux qui valident ces crédits...
  • Assiste aux remédiations qui sont mises à ta disposition. En fin de quadri, les assistant(e)s organisent des séances de remédiation où tu peux poser toutes tes questions et refaire des exercices pour mieux comprendre certains points de matière. Généralement, pense à utiliser (et même abuser de) toutes les ressources qui sont mises à ta disposition.
  • Ne te laisse pas décourager par l'interrogation de mi-quadrimestre. Elle n'est là que pour te donner une idée de ce que tu dois changer dans ta manière de travailler, afin de mieux te préparer à l'examen de janvier.
  • Au moindre doute quant à une notion théorique, demande de l'aide aux assistants ! Ils sont là pour ça, et se feront un plaisir de t'expliquer les points de matière où tu as du mal. Soit par e-mail, soit avec un rendez-vous dans leur bureau. Si tu attends trop longtemps avant de prendre rendez-vous, tu risques d'être très vite débordé et d'avoir encore plus de difficultés par la suite. Le cours est donné à un rythme universitaire, les chapitres s'enchainent vitent, il faut donc être capable d'attraper le taureau par les cornes et demander de l'aide dès que cela devient trop difficile.
  • Relis et restructure tes notes régulièrement. Ne va jamais à une séance d'exercices sans avoir relu la matière théorique qui y est associée, sinon tu perdras deux heures de ta journée car tu ne comprendras pas les exercices qui sont donnés.
  • Pour les cours théoriques, assieds-toi dans les rangs de devant, sinon tu ne pourras pas lire le tableau et tu auras du mal à suivre. En plus, tu risques de faire des erreurs en recopiant si tu es trop loin.

Ressources utiles

  • Les sites de l'ULiège relatifs au cours sont présentés au début de l'année. Tu peux y retrouver tous les examens donnés ces dernières années. Pense à les consulter en période de blocus !

[Q1] INFO0946 - Introduction à la programmation

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Avec le cours INFO0947 - Compléments de programmation, ce cours est un des plus importants de ta première année, et peut-être même de la suite de ton cursus aussi. En plus de t'introduire au monde de la programmation et de la gestion de la mémoire d'un ordinateur, il t'apprend un concept essentiel qui se retrouve dans tous les autres cours de ton parcours : comment trouver une solution à un problème. La page officielle de ce cours est très complète et explique les objectifs de celui-ci dans la partie "Acquis d'apprentissage", jettes-y un oeil !

"Résoudre un problème", c'est quelque chose qui peut sembler anodin au premier abord. Car après tout, on se dit que c'est assez intuitif, on fait ça tous les jours dans plein de situations différentes. Mais ce cours te permet de le faire d'une façon très efficace, en t'apprenant une méthodologie de travail qui te sera utile dans tous tes autres cours de programmation, et même ailleurs. En effet, comprendre comment n'importe quel "gros problème" se décompose en un ensemble de plein de petits sous-problèmes, c'est un life changer. C'est quelque chose qui peut être extrapolé dans tes cours de physique, par exemple, où on apprend que pour résoudre un problème en deux dimensions (avec par exemple la distance en x et la hauteur en y), il suffit de décomposer ce problème en deux sous-problèmes d'une dimension, et les résoudre séparément pour obtenir une solution générale. C'est une stratégie Diviser pour régner et c'est quelque chose de primordial dans nos études en Sciences Info, et plus généralement, dans n'importe quelles études qui nécessitent de trouver une solution efficace à un problème.

Un autre concept très important du cours est celui de la construction d'une solution par invariant. C'est un outil dont on va beaucoup parler, qui reviendra tout le temps dans ce cours (et dans INFO0947 - Compléments de programmation) et qui s'avère être très utile une fois qu'on arrive à l'utiliser correctement.

Finalement, ce cours t'apprend trois qualités très utiles dans tes études : la rigueur, la persévérance et l'autonomie. Face à un ordinateur, il faut savoir être rigoureux car la moindre erreur peut faire planter un programme. Cette même rigueur se retrouve dans le respect des consignes de n'importe quel travail universitaire, allant du simple exercice jusqu'aux examens. La persévérance, c'est le fait de se relever et d'aller de l'avant lorsqu'on est confrontés à un échec. Ce cours t'apprend à ne pas baisser les bras et à apprendre de tes erreurs pour aborder la prochaine épreuve en étant encore plus efficace. Enfin, l'autonomie est la qualité #1 de l'étudiant universitaire. Se pousser à travailler, en étant curieux, pouvoir se dire "allez, je m'y mets", et établir un horaire de travail, ce sont des compétences à acquérir au plus vite. Et ça tombe bien, ce cours est là pour t'aider à y parvenir !

Tuyaux

  • Utilise le forum eCampus ! Il est là pour te permettre de poser tes questions, et proposer des solutions alternatives à des exercices, en permettant à tous les autres étudiants de participer à la discussion.
  • Profite de tous les GameCode ! Ce sont des exercices synthétiques ludiques à faire à chaque fin de chapitre, et sont une excellente façon de comprendre si tu as bien compris le contenu d'un chapitre ou pas. Ils reviennent sur des éléments clés vus dans chaque chapitre, il est donc très important de bien les faire jusqu'au bout et de ne pas te contenter de les lire.
  • Teste tes exercices sur ton ordinateur. Trop peu d'étudiants le font, et pourtant, tu peux tester toutes tes solutions grâce à ton ordinateur. De plus, ça te permettra de t'habituer aux messages d'erreurs et te préparera au mieux pour les projets des autres cours (et les challenges de ce cours-ci).
  • "Un dessin vaut mieux qu'un long discours" - une représentation visuelle du problème aide énormément à le comprendre et à trouver une solution. N'hésite pas à le faire le plus souvent possible !
  • Revois la matière avant chaque séance d'exercices. C'est très important d'avoir la matière théorique du cours en tête avant de commencer à t'exercer, sinon tu risques de juste perdre deux heures de ta journée.
  • Ne néglige pas les challenges, et surtout, fais-les tous. Ils te préparent très bien à l'examen et te donnent une bonne idée de ce que tu dois être capable de réaliser.
  • En plus de faire tous les challenges, fais les seul. Le plagiat est très facilement détecté dans ce type d'exercices, et chaque année, des tas d'étudiants qui pensent passer inaperçus se font attraper et finissent sanctionnés. Le plagiat est pris très au sérieux à l'ULiège.
  • Fais les exercices proposés dans les slides théoriques, et envoie ta solution au professeur ou à l'assistant. Ils te permettent de voir si tu as bien compris la matière du chapitre, et sont souvent des exercices très intéressants.
  • Google va devenir ton meilleur ami. Dès que tu ne comprends pas un message d'erreur, ou dès que tu as un doute, lis les documentations proposées sur internet et reste proactif. Ne te laisse pas décourager quand tu ne comprends pas quelque chose et fais des recherches éclairer ta propre lanterne ! D'ailleurs, habitue-toi à faire des recherches en anglais sur Internet; il y a généralement beaucoup plus de résultats.
  • Ton deuxième meilleur ami, c'est un crayon avec du papier. Le but du cours est de t'apprendre à réfléchir avant d'agir, donc ne te lance pas dans l'écriture d'un programme la tête baissée, mais applique la méthodologie donnée en cours. Fais une découpe en sous-problèmes, pense à ton objectif, applique la construction par invariant de boucle, et ENSUITE, une fois que tu as une bonne solution sur papier, passe au code... C'est d'ailleurs principalement sur la méthodologie que tu es évalué à l'examen et non sur l'écriture du code.
  • Ne néglige pas l'invariant de boucle. C'est un outil très utile et puissant, à condition de comprendre comment l'utiliser. Dès que cette matière est abordée dans le cours, reste attentif et fais les exercices supplémentaires proposés.
  • Prépare-toi aux QCM et à l'interrogation de mi-quadri pour ne pas te laisser dépasser par la matière. Ils sont très formateurs et te permettent d'évaluer ton niveau de compréhension régulièrement.
  • Participe à toutes les séances théoriques et aux séances d'exercices. Elles sont très importantes, les slides risquent de ne pas suffir à bien comprendre la matière sans explications orales données en même temps. Et lors des TPs, tu as la chance de pouvoir poser tes questions au professeur, à l'assistant, et aux étudiants moniteurs qui sont à ta disposition durant toute la séance de travail.

Ressources utiles

  • GLI (Graphical Loop Invariant) est un outil en ligne qui te permet de dessiner des invariants graphiques pour t'aider à résoudre des problèmes itératifs. Il te sera présenté assez rapidement dans le cours, pense donc à l'utiliser le plus souvent possible !
  • Ce site t'aide à visualiser ce qui se passe dans la mémoire de l'ordinateur lorsque tu écris un programme. Il peut être très utile pour comprendre l'allocation dynamique, les tableaux et les pointeurs.

[Q1] PHYS3027 - Eléments de physique : mécanique

Cours de 4 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours t'apprend des notions de base en physique mécanique. A priori, le rapport entre ce cours et l'informatique n'est peut-être pas très clair, et on pourrait penser que ce cours est là pour "faire du tri". Mais en réalité, il y a plein de compétences intéressantes à sortir de ce cours, que l'on peut directement appliquer au monde de l'informatique et de l'algorithmique.

Tout d'abord, ce cours est un corequis de PHYS3028 - Eléments de physique : électromagnétisme. Ce cours-là comporte une introduction à l'électronique, ce qui est abordé par d'autres cours plus tard, et qui consiste plus généralement en une notion essentielle pour comprendre comment les composants de base d'un ordinateur fonctionnent. Et les outils de physique mécanique de base sont nécessaires pour comprendre ces notions plus avancées d'électromagnétisme, d'électronique, etc.

Ensuite, il s'agit aussi d'un cours où on t'apprend à résoudre des problèmes. Il y a des parallèles intéressants à faire avec le cours d'INFO0946 - Introduction à la programmation, dans le sens où pour résoudre des problèmes de physique, il y a aussi une certaine méthodologie de résolution à appliquer, et notamment une découpe en sous-problèmes. Pour résoudre un problème à deux dimensions par exemple, c'est beaucoup plus facile de le découper en deux problèmes d'une seule dimension, et combiner les solutions pour obtenir la réponse finale. On retrouve à nouveau cette fameuse technique de "Diviser pour régner", très utilisée dans le monde de l'informatique et de l'algorithmique. Résoudre des problèmes de physique est donc assez formateur à ce niveau là, avec des exemples de phénomènes physiques plus concrets que ce qu'on peut trouver dans le monde de l'informatique.

Finalement, ce cours est vu en parallèle avec le cours INFO2058 - Laboratoire de programmation mathématique et physique 1. Au fil des chapitres, la matière de ce cours y sera aussi vue sous la forme de programmes où tu devras créer des simulations de phénomènes physiques. Et c'est une chance qu'on a dans notre section, car ces laboratoires nous permettent de visualiser concrètement les notions de physique mécanique qu'on découvre dans ce cours, ce qui nous permet de mieux les comprendre, et de mieux nous en souvenir.

Tuyaux

  • Essaye de comprendre les formules au lieu de les étudier par coeur. Ça diminue le risque de tout mélanger à l'examen, avec le stress.
  • "Un dessin vaut mieux qu'un long discours" - une représentation visuelle du problème aide énormément à le comprendre et à trouver une solution. Pense aussi à isoler les informations importantes données dans l'énoncé du problème.
  • Maîtrise bien les différentes unités de mesure. Apprends à toutes les convertir dans les unités du système internationnal, ce sont des points gagnés.
  • Ne te laisse pas déborder par la matière. Revois le cours fréquemment et pose des questions dès que tu as le moindre doute. Les assistants et professeurs sont là pour toi !
  • Si tu as une bonne base de physique mécanique de secondaire, alors tu devrais être assez à l'aise dans ce cours. La matière est très similaire.
  • Ne t'appuie pas uniquement sur les slides du cours et sur les exercices donnés en séances de TPs. Internet est rempli d'explications, de vidéos, et d'exercices très similaires à ceux vus en cours.

[Q1] INFO2056 - Premier projet d'informatique

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours est probablement le plus ludique de ton 1er quadri :)... C'est une première approche à la programmation grâce au langage Python, où tu crées des jeux vidéo. Le cours est composé de plusieurs tutoriels à réaliser soi-même lors des séances de laboratoire, durant lesquelles le prof, des assistants et étudiants moniteurs sont à ta disposition pour t'aider à avancer.

Ce cours est intéressant car il te montre une première application pratique de la programmation, et sûrement une des plus intéressantes à découvrir: celle du jeu-vidéo. Tu es livré à toi-même lors des séances (avec l'aide du personnel encadrant bien sûr), et tu es libre de consulter toutes les ressources que tu veux. C'est un autre aspect du cours assez intéressant; tu apprends à consulter des documentations et des sources sur internet qui te permettent de résoudre les problèmes sur lesquels tu tombes de d'avancer de façon autonome.

Tuyaux

  • Le cours est partagé en deux parties : la première consiste en un tutoriel où tu apprends à utiliser Pygame et le langage Python en créant deux petits jeux. La deuxième est celle où tu travailles sur ton projet de jeu personnel à présenter à la fin de l'année. Ne traine pas sur le tutoriel, essaye de le terminer au plus vite pour pouvoir commencer ton jeu !
  • Ne te contente pas de lire les solutions et de faire des copier/coller pour finir les programmes, sinon tu ne seras pas en mesure de créer ton propre jeu.
  • Si tu souhaites une première introduction au langage Python avant de commencer ce cours, tu peux jeter un oeil aux différents cours proposés sur Internet, il te suffit de taper "cours Python" et tu tomberas sur beaucoup de résultats.
  • Ne repousse pas le projet de fin de cours au dernier moment. Ils demandent beaucoup de temps et tu as d'autres cours à travailler sur le côté. Ce serait dommage de te surcharger de travail car tu as pris ton temps durant les labos...

Ressources utiles

[Q1] INFO2058-INFO2059 - Laboratoire de programmation mathématique et physique 1 et 2

Cours de 4 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ces deux cours sont donnés en parallèle avec les cours de PHYS3027 - Physique, mécanique et PHYS3028 - Physique, électromagnétisme et ont pour but d'illustrer concrètement les concepts qu'on y apprend. C'est une très grande chance que nous avons en Sciences Info de pouvoir bénéficier de ces laboratoires, car nous avons les capacités, en tant qu'étudiants en informatique, de créer des programmes qui simulent les phénomènes physiques qu'on apprend en cours !

En effet, avec le langage Python et à l'aide de Pygame, on va pouvoir appliquer des concepts comme l'accélération, le MRU (Mouvement Rectiligne Uniforme), les tirs balistiques, l'attraction gravitationnelle, le champ électromagnétique, et des tas d'autres encore, grâce à la création de programmes amusants qui nous donnent une idée de la façon dont tout cela fonctionne dans la réalité. La complexité des programmes varie en partant d'idées assez simples, comme l'affichage de vecteurs et le calcul de la position d'un objet, jusqu'à la simulation d'un petit vaisseau spatial qui rebondit contre des planètes dans l'espace, en ce qui concerne la physique mécanique, ou encore la simulation d'un moteur à courant continu pour la partie électromagnétisme.

Ces cours sont particulièrement utiles pour bien te permettre de comprendre le contenu de tes cours de physique et d'appliquer les différentes lois que tu y apprends, en démystifiant certains concepts.

Tuyaux

  • Relis les parties correspondantes de ton cours de physique avant d'aller à une séance de laboratoire pour avoir une idée concrète de ce que tu dois programmer, et pour pouvoir répondre aux rapports à rendre en fin de séance.
  • Raisonne sur papier avant de te lancer sur le code. C'est une règle d'or dans tous tes cours; avoir une idée précise de ce que tu vas programmer avant de te lancer sur ton clavier est indispensable, sinon tu vas perdre beaucoup de temps en faisant de l'essai-erreur.
  • Fais des parallèles avec tes cours de physique. Ces cours sont là pour t'aider à comprendre les concepts qui y sont abordés, profites-en pour faire tomber la pièce.
  • Fais des tests avec les programmes et amuse-toi !! Essaye de bidouiller les valeurs d'entrée : "Tiens, si je lui donne une vitesse de 1000 m/s et diminue la distance de 10m, il se passe quoi ?". Les résultats sont amusants, parfois surprenants, ce qui t'aide à comprendre certains phénomènes physiques.
  • Pour le 2e laboratoire, tu peux tenter de te dépêcher de travailler les laboratoires chez toi avec ton binôme, et ainsi profiter d'avoir congé le jour où ils sont normalement donnés jusqu'à la fin du quadri. C'est un investissement de temps important à faire en début d'année, mais ça te permet de prendre de l'avance sur ton cours de physique, et d'avoir plus de temps à accorder à d'autres projets et à d'autres cours, si ça t'intéresse.

[Q1] MATH2019 - Mathématiques pour l'informatique 1

Cours de 6 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours fait partie des plus gros de ton année. Son objectif est le même que celui de MATH2007 - Mathématique : te donner une palette d'outils mathématiques utiles à ta formation. Mais contrairement à MATH2007, il se concentre plutôt autours des mathématiques discrètes, qui est une discipline mathématique plus proche du monde de l'informatique.

D'une part, grâce aux chapitres sur sur la logique propositionnelle, les techniques de démonstration et aux multiples démonstrations qui interviennent un peu partout, ce cours va entrainer ton raisonnement logique, ce qui est une qualité indispensable pour un bon informaticien. Tu devrais te rendre compte avec le temps que ta façon de considérer des problèmes ou des situations dans la vie de tous les jours sera en train de changer, et tu verras que cette fameuse réflexion logique que ce cours (ainsi que d'autres) essaye de développer chez toi, elle est présente partout.

D'autre part, il t'aide à avoir acquérir une meilleure maitrise d'outils mathématiques de base, comme le symbole sommatoire, les ensembles, les quantificateurs logiques, et bien d'autres. Ces outils sont d'ailleurs directement utiles dans le cadre de tous tes autres cours de programmation. Par exemple, la démonstration par récurrence (sur laquelle ce cours passe beaucoup de temps) est un outil très utilisé dans les cours d'algorithmique et de programmation lorsqu'il faut calculer la complexité et l'efficacité d'un algorithme, et donc d'un programme.

Enfin, ce cours comporte une introduction au calcul matriciel. Les matrices sont très utilisées dans le domaine de l'informatique. Elles le sont tellement que la moitié du cours MATH20200 - Mathématiques pour l'informatique 2 y est dédiée. Aussi, les notions de logique booléenne découvertes dans ce cours sont fortement exploitées et redécouvertes dans le cours ELEN0040 - Digital electronics de ton Bloc 2.

Tuyaux

  • Tous les conseils du cours MATH2007 - Mathématique s'appliquent également à ce cours-ci.
  • Profite de WIMS ! C'est une plateforme en ligne qui regroupe une infinité d'exercices générés aléatoirement, avec une solution proposée à chaque fois. Ils sont très utiles pour voir si tu as bien compris la matière.
  • Ne néglige pas la théorie, elle compte pour 50% de l'examen. C'est malheureusement quelque chose que les étudiants ne prennent pas le temps de réviser car ils s'y prennent souvent un peu trop tard. La théorie, ça s'étudie avec beaucoup d'avance. Si tu as 50 démonstrations à étudier, c'est plus facile d'en étudier deux par jour pendant un mois plutôt que 25 le week-end avant l'examen... Et dans les deux cas, ça compte pour la moitié de ta cote finale !
  • Relis bien le cours théorique avant les séances d'exercices, et profites-en pour comprendre les notions qui te semblent un peu abstraites. La pratique est là pour servir d'illustration à la théorie.

[Q2] INFO0030 - Projet de programmation

Cours de 7 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

La page officielle de ce cours est très complète et explique les objectifs de celui-ci dans la partie "Acquis d'apprentissage", jettes-y un oeil !

Dans ce cours, tu vas apprendre à réaliser de gros projets de programmation. Les objectifs du cours sont multiples :

  • Apprendre à travailler de façon autonome en te fixant tes propres deadlines. En effet, dès l'apparition de l'énoncé du projet en ligne et de la deadline finale, tu es livré à toi-même et tu dois répartir le temps qu'il te reste pour terminer le projet
  • Découvrir et utiliser des outils de création, gestion et documentation de programmes.
  • Appliquer la méthodologie de travail (découpe en sous problème, etc.) abordée dans des cours comme INFO0946 - Introduction à la programmation et INFO0947 - Compléments de programmation.
  • Apprendre à travailler en équipe. Le dernier projet est à réaliser en binôme, vous allez donc devoir répartir le travail entre vous et créer un même programme. C'est une compétence indispensable aujourd'hui pour un informaticien, l'époque des ermites qui travaillent seuls sur un immense projet est révolue ! Aujourd'hui, ce sont des centaines de personnes qui travaillent parfois sur un même programme.
  • Et bien d'autres, disponibles sur le lien au début de ce paragraphe.

Les projets de ce cours sont donnés en même temps que ceux de INFO0947 - Compléments de programmation, ce qui va donc t'apprendre à travailler sur plusieurs projets à la fois... Et c'est une bonne chose car la quantité de projets sur lesquels il faut avancer en parallèle ne fait qu'augmenter au fil des années.

Tuyaux

  • N'attends pas la dernière minute pour te mettre à travailler sur ton projet. Chacun d'entre eux demande beaucoup de temps et une organisation conséquence, tu risques de ne pas avoir le temps de les terminer si tu procrastines...
  • Utilise le forum eCampus ! Il est là pour te permettre de poser tes questions, et proposer des solutions alternatives à des exercices, en permettant à tous les autres étudiants de participer à la discussion.
  • Lis les consignes. Une fois que tu les as lues, relis-les. Et puis, lis les encore une fois.
  • Lis bien les feedbacks après chaque projet et apprends de tes erreurs. Ça t'évitera de refaire les mêmes erreurs dans chacun d'entre eux.
  • Fais très attention au guide de style et aux critères de langage. Ces deux documents viennent avec les slides, ou bien sont présents sur eCampus. Ce sont des points bêtement perdus (ou facilement gagnés) qui reviennent dans chaque projet !
  • On ne change pas une équipe qui gagne : réfléchis tout d'abord sur papier, avec un crayon, et découpe le problème initial en une série de sous problèmes. Fais des liens entre les différentes parties du programme. Une fois que tu as un plan complet de toutes les fonctionnalités à implémenter, penche-toi sur le code, mais pas avant.
  • Vérifie bien tous les cas d'erreurs du programme. Que se passe-t-il si l'entrée du programme est incorrecte ? Est-ce que toutes les causes d'erreurs potentielles sont prises en compte ?
  • Choisis bien ton binôme. La collaboration dans le cadre du dernier projet est très importante.
  • Penche-toi sur les différents outils présentés durant les cours théoriques avant que les projets ne soient annoncés. Tu auras eu l'occasion de les tester avant de les appliquer sur ton projet, comme ça.
  • Trouve un juste milieu entre l'avancement dans tes projets et la révision des autres cours théoriques. Très souvent, il arrive que des étudiants délaissent tous les cours pour avancer sur un projet pour avoir le temps de le finir, et accumulent du retard partout ailleurs, ce qui est très dangereux à l'Université. Le "piège" avec les projets, c'est qu'ils ne sont techniquement jamais terminés à 100% ; tu trouveras toujours quelque chose à améliorer ou une fonctionnalité à ajouter. Établis des deadlines et travaille selon un horaire pour ne pas délaisser d'autres cours qui nécessitent d'être retravaillés aussi.

[Q2] INFO0061 - Organisation des ordinateurs

Cours de 3 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Dans ce cours, on aborde des sujets très importants dans le monde de l'informatique : la notion d'information ("c'est quoi une information exactement ?"), l'encodage binaire de celle-ci et l'architecture d'un processeur avec une introduction au langage Assembleur. Ce cours est étroitement lié à tous ceux relatifs à l'informatique puisqu'en fin de compte, toutes les informations présentes sur un ordinateur sont représentées de façon binaire.

Les notions de ce cours sont notamment réeplorées dans des cours comme MATH2019 - Mathématiques pour l'informatique et ELEN0040 - Digital electronics en ce qui concerne la décomposition d'une information en binaire, ainsi que d'autres cours du 3e bloc pour ce qui est de l'Assembleur et de l'architecture d'un ordinateur.

Tuyaux

  • Le cours n'est pas très chargé d'un point de vue théorique, mais il est important que toutes les notions abordées soient claires pour toi. Pour ce qui est de la partie à propos de l'encodage d'une information en binaire, il faut simplement connaitre les différentes façons de représenter des nombres (Non signée, signée, complément à 1, complément à 2, à virgule flottante) et une fois que tu les as bien en tête, c'est à chaque fois la même chose.
  • Pour la partie concernant l'Assembleur, entraine-toi à faire tous les exercices proposés en séances de TPs. C'est en forgeant qu'on devient forgeron, et n'oublie pas de toujours faire une découpe en sous problèmes et de bien structurer ton programme avant de te lancer dans le code, c'est une règle d'or.
  • Aussi, concernant l'assembleur, ne t'y prends pas à la dernière minute. Ce n'est pas aussi intuitif que de programmer en langage C, il faut donc que tu aies le temps de t'adapter aux spécificités du langage.
  • Pense à compiler le code que tu écris et le lancer sur ton ordinateur pour tester ton programme. C'est simple, efficace, et pourtant peu d'étudiants prennent la peine de le faire.

[Q2] PHYS3028 - Eléments de physique : électromagnétisme

Cours de 4 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

La decription du cours PHYS3027 - Physique mécanique correspond à ce cours aussi, puisqu'il s'agit de la suite logique de sa matière. Ce cours comporte également une introduction au fonctionnement des circuits électriques et aux semi-conducteurs, qui sont des notions importantes dans le monde de l'informatique également. Ces notions interviennent dans d'autres cours comme ELEN0040 - Digital electronics, ou d'autres du 3e bloc où il faut avoir des notions de base d'électronique afin de comprendre le fonctionnement de circuits, et pour pouvoir avancer sur les projets.

Tuyaux

  • Mêmes tuyaux que pour PHYS3027 - Physique mécanique.
  • N'hésite pas à rechercher des vidéos explicatives sur Youtube lorsque tu as du mal à saisir un concept, notamment dans la partie sur les courants induits et le magnétisme. Certains concepts ne sont pas très intuitifs, et regarder une vidéo avec une animation qui explique la circulation du courant aide parfois à faire tomber la pièce.
  • Pense à faire des liens avec le cours INFO2059 - Laboratoire de programmation mathématique et physique 2 ! Les laboratoires sont là pour illustrer les notions abordées en cours, profites-en.
  • Le livre de référence du cours peut t'être utile pour mieux comprendre certaines notions. Les étudiants qui l'ont loué le recommandent généralement car il est très complet et pédagogique. Il est disponible dans les bibliothèques de l'Université : "Physique" de Joseph Kane.

[Q2] INFO0947 - Compléments de programmation

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Le contenu de ce cours te sera utile dans tous les autres cours relatifs à la programmation. Il est composé de deux parties : une partie sur l'algorithmique, et l'autre sur les structures de données. Ces deux notions sont au coeur de la programmation et de la résolution de problèmes informatiques.

Comme INFO0946 - Introduction à la programmation, ce cours a pour but de structurer ta façon de réfléchir aux solutions à un problème grâce à différents outils comme les triplets de Hoare, ou à l'invariant formel, et en t'apprenant plein de nouvelles choses sur les structures de données, qui sont nécessaires pour comprendre la forme que prend un problème informatique (représenter un problème sous forme de liste, de pile, ou bien de file par exemple).

Il t'introduit aussi à la récursivité qui est une notion fondamentale dans le monde de l'informatique, et qui sera abordée plus en profondeur dans des cours du Bloc 2 comme INFO2050 - Programmation avancée et INFO0054 - Programmation fonctionnelle.

Tuyaux

  • La plupart des tuyaux de INFO0946 - Introduction à la programmtion s'appliquent aussi pour ce cours.
  • Utilise le forum eCampus ! Il est là pour te permettre de poser tes questions, et proposer des solutions alternatives à des exercices, en permettant à tous les autres étudiants de participer à la discussion.
  • Profite de tous les GameCode ! Ce sont des exercices synthétiques ludiques à faire à chaque fin de chapitre, et sont une excellente façon de comprendre si tu as bien compris le contenu d'un chapitre ou pas. Ils reviennent sur des éléments clés vus dans chaque chapitre, il est donc très important de bien les faire jusqu'au bout et de ne pas te contenter de les lire.
  • "Un dessin vaut mieux qu'un long discours" - une représentation visuelle du problème aide énormément à le comprendre et à trouver une solution. N'hésite pas à le faire le plus souvent possible !
  • Fais les milestones sérieusement et profite du feedback qui t'est donné par le professeur et l'assistant. Les milestones sont des deadlines qui correspondent à certaines parties de ton projet, qui permettent au prof et à l'assistant de te conseiller et de te rediriger avant la fin du projet, ce qui peut être très utile s'il savère que tu es à côté de la plaque.
  • Lis bien les feedbacks des projets et apprends de tes erreurs. C'est très important pour le reste des projets et pour l'examen.
  • Reste proactif et essaye d'appliquer ce qui est vu en cours chez toi, sans attendre les projets ou l'examen pour les revoir. Quand tu découvres une structure de données, crée un programme qui l'applique en langage C et fais des tests avec !
  • Lis bien l'énoncé des projets. C'est très facile de passer à côté d'un détail important qui aura pour conséquence de te faire recommencer la moitié du programme...
  • Comme toujours, réalise d'abord les projets sur papier, et ENSUITE, commence la programmation. Ce cours est basé autour de la méthodologie de travail, tu n'auras peut-être même pas de code à écrire pour l'examen donc concentre-toi sur celle-ci et garde le programme pour la fin.

[Q2] MATH7370 - Statistique descriptives

Cours de 3 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours consiste en une introduction au monde des statistiques. Il te fournit les outils nécessaires pour apprendre à manipuler et interpréter des données sous forme de statistiques, ce qui est utile non seulement dans la plupart de tes cours lorsqu'il est question de tirer des conclusions grâce à une grande quantité de données (on peut citer pour exemple l'analyse des temps d'exécution de programmes, ou la différence d'efficacité entre différents algorithmes), mais aussi dans ta vie quotidienne, puisque les statistiques et les données manipulées pour tirer des conclusions (parfois douteuses) sont présentes dans ta vie de tous les jours.

Tuyaux

  • Apprends à maîtriser le logiciel R studio le plus vite possible (c'est expliqué dans le cours). Être bloqué à une séance d'exercices car tu ne sais pas utiliser le langage R risque de te faire perdre du temps.
  • Ne néglige pas les QCM, et n'oublie pas de les faire. Ce sont des points qui comptent pour la note finale et ils sont très formateurs; ils te montrent si tu as bien compris la matière que tu viens de voir en cours.
  • Étudie la théorie pour l'examen. Souvent, des étudiants font l'erreur de tout miser sur la partie pratique parce qu'ils n'ont pas le courage d'étudier les quelques démonstrations de ce cours... Mais ce sont des points facilement gagnés, comme souvent quand il s'agit de restitution !
  • En avançant dans le cours, les nouvelles notions que tu apprendras se basent à chaque fois sur celles vues juste avant. Donc si tu ne comprends pas bien quelque chose, n'attends pas d'être dépassé par la matière deux chapitres plus tard pour te rendre compte que tu as besoin de l'assimiler au plus vite.

Liste des cours du Q1

Liste des cours du Q2

[Q1] ECON0107 - Introduction à l'analyse économique

Cours de 3 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours a pour but de t'apprendre des concepts économiques de base via une approche d'abord microéconomique (théorie de l'offre et de la demande, la concurrence parfaite, le monopole, ...) et puis par une approche macroéconomique (comptabilité nationale, consommation et investissement, politiques budgétaires, ...).

Ce cours n'a pas spécialement d'applications pratiques telles quelles dans la suite de ton cursus, mais il t'apprend à mieux comprendre ce qu'il se passe sur le marché du travail, et dans le monde en général. Nous vivons dans un monde où l'économie est omniprésente dans notre vie, c'est donc toujours intéressant d'avoir une petite idée de ce qu'il s'y passe à ce niveau-là (et plus particulièrement si tu comptes fonder ta propre entreprise plus tard). Et à nouveau, même si ce n'est pas en lien direct avec l'informatique, tu peux quand même faire des parallèles intéressants avec des concepts algorithmiques vus dans d'autres cours !

Tuyaux

  • Procure-toi le livre de référence du cours : "Economie politique, 4ème édition, De Boeck Université, 2013" de Bernard Jurion. Toute la partie microéconomie du cours est basée dessus, et le livre explique très bien tous les concepts.
  • Revois régulièrement les chapitres du cours, car ils sont tous liés. Si tu ne comprends pas bien un concept, contacte le professeur ou l'assistant, ou bien lis le chapitre associé dans le livre pour rester à jour ! Comme d'habitude, ne te laisse pas déborder par la matière :)
  • Ce cours contient beaucoup de par coeur, mais ce n'est pas une raison pour ne pas essayer de comprendre les concepts abordés. Tu auras beaucoup plus de facilités à retenir les notions que tu comprends bien, c'est prouvé.

[Q1] INFO2050 - Programmation avancée

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours peut être vu comme une suite directe à INFO0947 - Compléments de programmation. En effet, tu y découvres le même type de contenu : de l'algorithmique et des structures de données. Il te sera donc aussi utile dans tous les cours relatifs à l'informatique dans le reste de ton cursus.

Le cours est divisé en quatre parties :

  • Rappels et introduction d'outils d'analyses : on explore des outils mathématiques et logiques qui permettent de construire des algorithmes et calculer leur complexité. Il y a beaucoup de rappels de notions déjà abordées en INFO0947 - Compléments de programmation, profites-en donc pour te rafraichir la mémoire et comprendre des choses qui n'étaient pas très claires pour toi.
  • Algorithmes de tri : certains algorithmes de tri les plus connus sont expliqués, et leur complexité est analysée.
  • Structures de données : plein de nouvelles structures de données sont abordées dans ce cours, dont la plupart déjà expliquées en INFO0947. À nouveau, profites-en pour comprendre ce qui n'était pas très clair pour toi jusqu'à présent.
  • Résolution de problèmes : des méthodologies de résolution de problèmes sont passées en revue (diviser pour régner, programmation dynamique, algorithme glouton, ...).

En résumé, ce cours t'offre une flopée d'outils mathématiques, logiques et algorithmiques qui te seront très précieux dans la suite de tes études et pour tous tes projets.

Tuyaux

  • La plupart des conseils d'INFO0947 et INFO0030 sont d'application pour ce cours-ci aussi.
  • Analyse les codes dans les slides chez toi, au calme. Calcule leur complexité et essaye de voir si tu as bien tout compris. Parfois ce n'est pas très évident de comprendre "à chaud" en classe, c'est mieux de revoir la matière à tête reposée.
  • Implémente les codes, algorithmes et structures de données vus en classe chez toi. Crée des programmes pour les tester et mieux les comprendre, c'est très important.
  • Utilise la notation adéquate dans les rapports ! Big O, Thêta et Omega sont trois symboles différents qui s'appliquent à des situations bien distinctes. Les assistants sont très insistants à ce sujet-là.

Ressources utiles

  • GLI (Graphical Loop Invariant) est un outil en ligne qui te permet de dessiner des invariants graphiques pour t'aider à résoudre des problèmes itératifs. Il est présentée en INFO0946, mais ne te prive pas de le réutiliser pour ce cours-ci aussi. C'est très utile pour comprendre certains concepts.
  • Ce site t'aide à visualiser ce qui se passe dans la mémoire de l'ordinateur lorsque tu écris un programme. Il peut être très utile pour comprendre le fonctionnement de certaines structures données un peu bizarres.

[Q1] MATH0499 - Théorie des graphes

Cours de 4 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Dans ce cours, tu vas découvrir une branche des mathématiques et de l'informatique qui t'était sûrement inconnue jusqu'à maintenant; celle de la théorie des graphes ! Directement liée aux matrices mathématiques, les graphes sont omniprésents dans le domaine de l'informatique. Ses applications sont très nombreuses :

  • Le "PageRank" de Google qui permet d'ordonner les résultats d'une recherche est basé sur des calculs qui impliquent des graphes et des matrices.
  • Les réseaux informatiques sont très souvent considérés sous forme de graphes; connaitre les propriétés de certains graphes peut s'avérer très utile pour optimiser le trafic des données sur Internet.
  • Les réseaux de neurones artificiels utilisés dans le domaine de l'intelligence artificielle sont structurés sous forme de graphes.
  • Les réseaux sociaux comme Facebook, Twitter, etc. utilisent activement des graphes pour interpréter les données des utilisateurs et leur fournir le contenu le plus pertinent possible.
  • Et bien d'autres encore !

Ce cours est directement lié à MATH2020 - Mathématiques pour l'informatique 2, où des propriétés sur les matrices (d'adjacence) de graphes sont expliquées. Il est aussi lié à MATH1222 - Introduction aux processus stochastiques, où des propriétés relatives à certains types de graphes sont réutilisées, ainsi qu'à INFO2050 - Programmation avancée où d'autres types de graphes (les arbres) sont utilisés. Globalement, ce cours te sera utile dans beaucoup d'autres cours relatifs à l'informatique; la théorie des graphes est vraiment très utilisée dans ce domaine.

Tuyaux

  • Prends note des exemples donnés au cours théorique. Ils sont souvent différents de ceux présents dans les notes et te permettent de mieux comprendre la matière.
  • Apprendre à maîtriser le logiciel Mathematica te sera très utile pour ce cours. Une licence étudiant t'est donnée lors de ton inscription à l'ULiège.

[Q1] MATH0500 - Introduction à l'algorithmique numérique

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours se trouve à la frontière entre les mathématiques et l'informatique. Tu vas y découvrir que certains problèmes mathématiques ne peuvent être résolus que grâce à des ordinateurs, car ils sont trop longs pour être résolus à la main, et tu apprends comment mettre en place des algorithmes de résolution adaptés et efficaces. C'est ce qu'on appelle l'analyse numérique.

Ce cours est directement lié à MATH2019 - Mathématiques pour l'informatique, où des notions d'algèbre linéaire sont réutilisées, ainsi qu'à MATH2020 - Mathématiques pour l'informatique 2 où ce qui concerne les matrices est utilisé également. Il est également lié à INFO0061 - Organisation des ordinateurs où la représentation des nombres en binaire est souvent exploitée.

Tuyaux

  • Assiste et comprends toutes les séances d'exercices. L'examen est essentiellement basé autour de la pratique, donc si tu comprends bien chacune des séances, tu auras un grand avantage lors de ta séance de blocus.
  • Le projet de ce cours est très volumineux. Ne le néglige pas et commence à travailler dessus le plus tôt possible. À nouveau, sois sûr d'avoir une solution théorique sur papier avant de te lancer dans le code, sinon tu risques de perdre énormément de temps.
  • Pense à refaire les examens des années précédentes. Ils sont disponibles en ligne.
  • Apprendre à maîtriser le logiciel Mathematica pourrai t'être utile pour ce cours. Une licence étudiant t'est donnée lors de ton inscription à l'ULiège.

[Q1] MATH0495 - Eléments du calcul des probabilités

Cours de 3 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Les probabilités sont essentielles pour la suite de ton parcours. Ce sont des notions utilisées dans divers domaines de l'informatique, comme :

  • Algorithmes probabilistes : certains algorithmes informatiques sont basés sur des probabilités pour résoudre des problèmes particuliers,
  • L'intelligence artificielle : dès qu'il est question d'incertitude, les probabilités interviennent, et sont constamment utilisées dans ce domaine,
  • Les réseaux informatiques : la modélisation de trafic de données sur internet fait appel à des notions de probabilités,
  • La sécurité informatique : les applications des probabilités dans ce domaine sont très nombreuses; on peut par exemple citer les algorithmes de détection d'e-mails frauduleux, qui calculent la probabilité qu'un e-mail soit malveillant ou non,
  • Et bien d'autres encore !

En particulier, les probabilités sont réutilisées sans modération dans les cours MATH1222 - Introduction aux processus stochastiques, ainsi que dans ceux concernant l'I.A. et les statistiques en Bloc 3, et dans beaucoup de cours de Master.

Tuyaux

  • Si tu as du mal avec certaines notions, loue le livre de référence du cours : A First Course in Probability, par Sheldon Ross. Toutes les notions y sont expliquées en détails, avec beaucoup d'exemples et d'exercices à chaque chapitre. Ce livre est disponible dans les bibliothèques de l'ULiège, et il en existe même des traductions en français.
  • Refais des exercices chez toi. C'est une bonne façon de savoir si tu as bien compris le contenu du cours.
  • Reste proactif et n'accumule pas de retard dans la matière; revois régulièrement le cours car chaque chapitre s'appuye sur les précédents.
  • Retiens les astuces données lors des cours théoriques pour mieux comprendre les formules données.
  • Ne retiens pas des listes de formules par coeur, mais comprends-les et essaye de les reconstruire au cas par cas. C'est beaucoup plus facile de retenir des notions que tu comprends.
  • Applique-toi bien sur le projet du cours.

Ressources utiles

  • Le livre A First Course in Probability, par Sheldon Ross.

[Q1] MATH2020 - Mathématiques pour l'informatique 2

Cours de 6 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours a le même objectif que MATH2019 - Mathématiques pour l'informatique 1 : te donner une palette d'outils mathématiques utiles à ta formation. Il est divisé trois grands chapitres : les polynômes, les espaces vectoriels & les matrices (la plus grande partie du cours), et quelques outils d'analyse. La notion de ce cours qui est réutilisée dans beaucoup d'autres du Bloc 2 est celle concernant les matrices et les espaces vectoriels à laquelle tu dois donc particulièrement faire attention.

La dernière partie du cours est consacrée à l'introduction mathématique de certains outils que tu as déjà pu utiliser dans d'autres cours, comme les notations de Landau (Big O, Thêta, Omega, petit o, ...), les suites et les séries numériques, ou encore l'approximation polynomiale.

Ce cours est directement lié à MATH0499 - Théorie des graphes où les matrices d'adjacence de graphes sont très exploitées et donc où les propriétés de certaines matrices sont utilisées, à MATH0500 - Introduction à l'algorithmique numérique où des notions sur les matrices ainsi que sur l'approximation polynomiale sont également utilisée, à INFO2050 - Programmation avancée où les concepts relatifs aux séries et aux suites sont exploités, ainsi qu'à MATH1222 - Introduction aux processus stochastiques où les matrices sont également très utilisées. En bref, ce cours est un des plus importants et le plus gros du Bloc 2.

Tuyaux

  • C'est pour ce cours-ci qu'une bonne maîtrise du logiciel Mathematica te sera particulièrement utile, notamment lorsqu'il s'agit de faire des calculs de polynômes ou bien concernant des matrices (calcul de déterminant, diagonalisation, produits, ...). Tu as une licence étudiant à ta disposition, profites-en !
  • Utilise la plateforme WIMS pour t'entrainer ! Les exercices générés aléatoirement te permettent d'en faire autant que tu veux, et de voir si tu as bien compris la matière. Profites-en.
  • Revois la matière théorique avant les séances d'exercices, ou bien tu n'arriveras pas à suivre. Utilise ces séances pour réaliser si tu as bien compris la matière ou non. Reste proactif !
  • Revois le cours régulièrement et ne laisse pas s'accumuler les chapitres
  • Négliger la théorie est une stratégie perdante. Comme dans Mathématiques pour l'informatique 1, l'examen est composé à 50% de théorie, il est donc essentiel de passer un certain temps à retenir toute la matière théorique.

Ressources utiles

  • Pour obtenir une licence étudiant Mathematica, crée ton compte étudiant sur ce site, et fais une demande de clé sur cette page.
  • La chaine de 3Blue1Brown, et plus particulièrement la playlist Essence of linear algebra illustrent à merveille certains concepts abordés dans ce cours. Et plus généralement, cette chaine illustre beaucoup de notions que tu verras en cours, pense à y jeter un oeil.

[Q2] GEST0029 - Comptabilité générale des entreprises

Cours de 4 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours a pour but de t'apprendre des notions de comptabilité de base. Il t'apprend, dans un premier temps, l'utilité de la comptabilité. Ensuite, on te présente des concepts de comptabilité de base (comme les comptes actifs et passifs, le bilan comptable, ...). Et finalement, on t'expliquera comment évaluer la santé d'une entreprise.

Ce cours n'a pas spécialement d'applications pratiques telles quelles dans la suite de ton cursus, mais il t'apprend à mieux comprendre comment fonctionne la gestion de la comptabilité d'une entreprise. C'est très intéressant d'avoir une petite idée de comment cela fonctionne à ce niveau-là (et surtout particulièrement si tu comptes fonder ta propre entreprise plus tard). Et à nouveau, même si ce n'est pas en lien direct avec l'informatique, tu peux quand même faire des parallèles intéressants avec des concepts algorithmiques vus dans d'autres cours !

Tuyaux

  • Maîtrise le vocabulaire spécifique à la comptabilité le plus tôt possible pour ne pas te laisser dépasser par les concepts qui accumulent le vocabulaire de chapitre en chapitre. Tu auras beaucoup moins de mal à aborder les chapitres les plus complexes du cours, de cette façon.
  • Entraine-toi à faire des exercices le plus souvent possible. Certaines opérations reviennent très souvent. Si tu maîtrises les opérations de base, tu auras plus de temps à l'examen pour t'attarder sur les parties les plus compliquées.
  • Assiste aux séances théoriques. Les slides seuls ne suffisent pas à comprendre la matière.

[Q2] ELEN0040 - Digital electronics

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours est une introduction au fonctionnement des différents composants électroniques qui se trouvent dans un ordinateur, et plus généralement dans beaucoup d'appareils électroniques qui font appels à de la logique ou à une mémoire.

Ce cours réexplique des notions abordées en MATH2019 - Mathématiques pour l'informatique 1 concernant les expressions logiques et l'algèbre booléenne, ainsi que les nombres et codes binaires abordés en INFO0061 - Organisation des ordinateurs.

Ensuite, il te présente et t'explique le fonctionnement de certains composants électroniques de base qui sont présents dans tous les hardwares informatiques, qui structurent des circuits combinatoires et des circuits synchrones. On explique ce qu'est un registre, la mémoire d'un ordinateur, les compteurs, un bus, ...

L'introduction du cours a donc un lien très direct avec l'informatique et la logique booléenne, et avec d'autres cours du Bloc 3 (comme Computation Structure) et du Master, selon ton orientation. Il nécessite aussi une compréhension de base des circuits électriques, ce qui est expliqué dans le cours PHYS3028 - Physique : électromagnétisme.

Note : ce cours est désormais donné en anglais.

Tuyaux

  • Grâce à MATH2019 - Mathématiques pour l'informatique 1, tu as de l'avance sur le début de ce cours concernant la logique booléenne et les tables de vérité. Profites-en pour travailler d'autres cours davantage !
  • Le projet est très conséquent, commence-le à temps.
  • Ne laisse pas s'accumuler la matière et revois-là régulièrement. Dans ce cours aussi, chaque chapitre s'appuie sur le précédent. Donc si tu es largué à un endroit, il y a de très fortes chances que ça te retombe dessus par après !

Ressources utiles

  • Ce site comporte beaucoup d'animations ainsi qu'un outil de création de circuits utiles qui t'aideront à mieux comprendre le fonctionnement de certains mécanismes, comme les compteurs par exemple.

[Q2] INFO0062 - Object-oriented programming

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Dans ce cours, tu vas découvrir ce qu'on appelle un paradigme de programmation : la programmation orientée objet. C'est une autre façon d'écrire des programmes, que tu as peut-être eu l'occasion d'observer en utilisant le langage Python, et que tu vas découvrir dans ce cours via le langage Java. C'est un cours important car l'orienté objet est une façon de programmer que tu retrouveras dans de multiples cours du Bloc 3 et de ton Master.

Tuyaux

  • La pratique est la clé de ce cours. Crée des programmes qui appliquent chaque nouveau concept abordé afin de bien les comprendre.
  • Fais tous les exercices des TPs. Ils illustrent tous les concepts abordés et te permettent de voir si tu as bien compris la matière.
  • Il y a une infinité de façons de créer un programme qui résout un certain problème. Ne te contente pas de la solution proposée par les assistants, essaye de trouver la tienne !
  • Pense à consulter la documentation Java dès que tu es face à une erreur que tu ne comprends pas, ou bien que tu cherches une fonctionnalité à intégrer dans ton programme.

[Q2] INFO0054 - Programmation fonctionnelle

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Ce cours aborde un autre paradigme de programmation que l'orienté objet : la programmtion fonctionnelle. C'est une autre façon de programmer, où un programme peut être considéré comme une suite d'évaluation de fonctions, tandis qu'en programmation orientée objet par exemple, on considère un programme comme un ensemble d'objets en interaction.

Ce cours est basé sur la récursivité, et t'apprend à considérer un programme d'un point différent de d'habitude, où tout n'est que fonction mathématique. C'est une façon très spéciale de programmer qui demande beaucoup de pratique pour s'y habituer. La programmation fonctionnelle est par ailleurs très utilisée dans le domaine de l'intelligence artificielle.

Tuyaux

  • Revois tes notions d'analyse combinatoire. Les coefficients binomiaux, le triangle de Pascal, et toutes les notions similaires sont très importantes dans le cadre de ce cours.
  • Entraine-toi le plus possible. C'est un cours qui demande beaucoup de pratique, et tu ne seras pas capable de répondre aux questions des interrogations ou des examens si tu ne t'entraines pas régulièrement. La pratique est vraiment la clé de ce cours.
  • Refais tous les exercices des séances de TP, et toutes les interrogations auxquelles tu as accès. Ce sont d'excellents entrainements qui te permettent de voir à quoi t'attendre pour l'examen.

[Q2] INFO0009 - Bases de données

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Qui dit stockage d'une grande quantité d'informations dit base de données. Ce cours t'introduit à ce concept de modélisation d'informations, qui est utilisé dans toutes les applications, tous les programmes, sites web, jeux vidéos, etc., qui ont besoin de stocker des informations quelque part.

Les bases de données sont omniprésentes sur Internet. Tous les statuts sur Facebook, les tweets de Twitter, les comptes de jeux vidéos, les photos sur Instagram, et bien d'autres données, sont stockés dans d'immenses bases de données. Grâce à ce cours, tu seras capable de toi-même créer une application qui exploite une base de données et tu auras une bonne connaissance des caractéristiques des systèmes de gestion de données.

Tuyaux

  • N'attends pas les solutions des séances d'exercices pour travailler. Essaye par toi-même, et ensuite corrige-toi.
  • Comme d'habitude, choisis bien ton groupe pour les projets. Le travail d'équipe est très important pour les projets de ce cours.
  • Regarde les examens des années précédentes. Ils sont découpés en trois grandes questions, et c'est toujours la même structure qui revient. Refais-les pour te préparer au mieux !

[Q2] MATH1222 - Introduction aux processus stochastiques

Cours de 5 crédits

Note : Lis aussi la page officielle du cours pour des informations complémentaires.

Utilité du cours dans ton cursus

Les processus stochastiques sont des systèmes probabilistes qui évoluent en fonction du temps selon des variables aléatoires. Leurs applications sont très nombreuses dans le domaine de l'informatique, et notamment dans celui de l'intelligence artificielle. On peut par exemple citer le Google PageRank comme système utilisant des chaines de Markov (un type de processus stochastique), qui permet de trier les sites internet référencés par le moteur de recherche, et ils sont également utilisés dans des algorithmes d'approximation numérique.

Plus concrètement, le contenu de ce cours est directement exploité dans le cours d'introduction à l'intelligence artificielle de Bloc 3, ainsi que dans de multiples cours de Master, peu importe l'orientation choisie, un peu au même titre que les probabilités.

Tuyaux

  • Une bonne maîtrise du logiciel Mathematica te sera particulièrement utile, notamment pour tous les calculs impliquant des intégrales ou des matrices. Tu as une licence étudiant à ta disposition, profites-en !
  • Avoir de bonnes bases de probabilités et de calcul intégral est nécessaire pour pouvoir suivre ce cours correctement. Tu dois absolument avoir une idée claire de ce que sont les variables aléatoires, de comment les utiliser avec des valeurs réelles, de comment calculer des probabilités conditionnelles, etc... Tout cela est expliqué dans le cours d'introduction aux probabilités du Bloc 2, mais il est important que tout soit clair pour toi dès le début du cours. Un rappel à ce sujet est d'ailleurs organisé au premier chapitre.
  • Juge les avantages et inconvénients de tous les langages de programmation proposés pour les projets à réaliser dans le cadre de ce cours. Généralement, Python est privilégié par les étudiants d'informatique.