Le cours d'informatique manquant
Aperçu des sections
-
-
Les cours vous enseignent tous les sujets avancés de la science informatique, des systèmes d’exploitation au machine learning, mais il y a un sujet essentiel qui est rarement abordé et qui est plutôt laissé aux étudiants pour qu’ils le découvrent par eux-mêmes : la maîtrise de leurs outils. Nous vous apprendrons à maîtriser la ligne de commande, à utiliser un éditeur de texte puissant, à utiliser les fonctions sophistiquées des systèmes de contrôle de version, et bien plus encore !
Les étudiants passent des centaines d’heures à utiliser ces outils au cours de leurs études (et des milliers au cours de leur carrière), il est donc logique de rendre l’expérience aussi fluide que possible. La maîtrise de ces outils vous permet non seulement de passer moins de temps à comprendre comment plier vos outils à votre volonté, mais elle vous permet également de résoudre des problèmes qui vous semblaient auparavant impossibles.
Découvrez pourquoi nous enseignons ce cours.
-
-
Durant cette semaine, nous vous proposons un cours d'introduction qui vous en apprendra plus sur ce qu'est un shell, comment l'utiliser, ainsi que certaines commandes de base de la ligne de commande. Le premier cours est disponible ici : https://ucl-ingi.github.io/missing-semester/2020/course-shell/
A la fin du chapitre, vous pourrez trouver une suite d'exercices. Ces exercices n'ont pas de correction, n'hésitez donc pas à poser une question dans le forum de ce cours si vous êtes coincés. On vous recommande aussi le site https://inginious.org/course/cli-linux, qui propose une série d'exercices captivants sur la ligne de commande Linux.
-
-
-
Cette semaine, nous vous invitons à plonger dans un monde passionnant : celui de Bash, le langage de script qui va révolutionner votre façon d'interagir avec votre ordinateur. Vous vous demandez comment automatiser des tâches ennuyeuses en quelques lignes de code ? Ou comment accomplir des actions complexes en un instant grâce à des commandes magiques ? Eh bien, c'est exactement ce que vous allez apprendre cette semaine !
Nous vous présenterons quelques bases de l’utilisation de bash comme langage de script, ainsi qu’un certain nombre d’outils de l’interpréteur de commandes qui couvrent plusieurs des tâches les plus courantes, que vous serez amené à effectuer en ligne de commande.
Le deuxième cours est disponible ici : https://ucl-ingi.github.io/missing-semester/2020/shell-tools/
Comme la semaine passé, à la fin du chapitre, vous pourrez trouver une suite d'exercices. Ces exercices n'ont pas de correction, n'hésitez donc pas à poser une question dans le forum de ce cours si vous êtes coincés.
Vous pouvez également continuer les exercices de la semaine passée sur la ligne de commande : https://inginious.org/course/cli-linux
Un des exercices du cours de la semaine sur le scripting bash a été adapté sur INGInious avec une correction automatique : https://inginious.org/course/missing-semester
Ce repository GitHub peut être une aide intéressante concernant bash. Si vous devez écrire quelque chose en bash et que la solution ne vous vient pas tout de suite, jetez un oeil ici !
-
-
-
Le cours de cette semaine se concentre sur les éditeurs de texte, et plus particulièrement sur Vim. Apprendre Vim peut paraître long et difficile mais maîtriser les bases peut être très utile, notamment si vous devez modifier un fichier sur un serveur en ligne de commande.
Le cours est disponible à l'addresse suivante : https://ucl-ingi.github.io/missing-semester/2020/editors/
Des exercices sont proposés à la fin du cours, nous vous conseillons ce jeu pour un apprentissage plus fun de Vim. Vous pouvez également essayer cet outil interactif pour apprendre Vim.
-
-
-
Le cours de cette semaine porte sur le traitement de données. L'objectif de ce cours est de vous permettre d'analyser et de traiter efficacement des fichiers en ligne de commande afin d'extraire certaines informations. Par exemple, les expression régulières est un outil efficace pour extraire certaines informations de fichiers de logs.
Le cours est disponible à l'adresse suivante : https://ucl-ingi.github.io/missing-semester/2020/data-wrangling/
Deux exercices sur les expressions régulières sont disponibles sur la page INGInious du cours : https://inginious.org/course/missing-semester
-
-
-
Lors de cette semaine, nous explorerons diverses techniques pour améliorer votre efficacité lors de l'utilisation de l'interpréteur de commandes. Même si vous utilisez un interpréteur de commandes depuis un certain temps, nous nous sommes principalement concentrés sur l'exécution de commandes de base.
Nous allons voir comment lancer plusieurs processus en même temps, comment arrêter ou mettre en pause un processus spécifique, et comment exécuter un processus en arrière-plan, les différentes méthodes pour personnaliser votre interpréteur, les connections à distance en utilisant SSH, mais aussi les fichiers de configuration appelé 'dotfiles'.
Le cours est disponible à l'addresse suivante : https://ucl-ingi.github.io/missing-semester/2020/command-line/
Des exercices sont proposés à la fin du cours.
Vous pouvez utiliser cette tâche inginious pour ajouter votre clé publique ssh au serveurs INGI.
Ce site web vous permet d'apprendre tout ce qui est nécessaire pour administrer un serveur Linux à distance avec votre terminal.
-
-
-
Pour cette semaine, vous en apprendrez d'avantage sur git. Vous avez déjà probablement utiliser git, mais il est utile de bien comprendre son fonctionnement afin de l'utiliser correctement et efficacement.
Le cours est disponible ici : https://ucl-ingi.github.io/missing-semester/2020/version-control/
Ce site web est une bonne resource concernant la terminologie de git, qui peut parfois être compliquée.
-
-
-
Le cours de cette semaine porte sur le débogage et le profilage de votre code. Il existe plusieurs techniques, allant du print jusqu'à utiliser des otuils complexes comme gdb. Le cours aborde aussi différentes technique de profiling pour mesure, par exemple, le temps d'exécution ou la consommation de mémoire de votre code.
Le cours est disponible à l'adresse suivante : https://ucl-ingi.github.io/missing-semester/2020/debugging-profiling/
Ce site web explique le fonctionnement de base de gdb, un débuggeur pour le language C, avec un exemple.
Cet autre site explique aussi gdb à travers un exemple (en c++ mais le fonctionnement de gdb reste identique).
-
-
-
L'objectif de cette semaine est de vous familiariser avec les outils de build automatique. Le cours abordera tout d'abord les Makefile, et parlera ensuite de la gestion des dépendences. Enfin, vous en apprendrez plus sur les systèmes d'intégration continue (CI), qui sont très largement utilisés.
Le cours est disponible ici : https://ucl-ingi.github.io/missing-semester/2020/metaprogramming/
Ce site web propose un tutoriel intéressant sur les Makefiles.
-
-
-
L'objectif du cours de cette semaine est de vous en apprendre plus sur les différentes techniques existantes en terme de sécurité et cryptographie. Il vous expliquera ce qu'est un hash, la cryptographie symétrique/asymétrique ainsi que certaines études de cas en terme de sécurité.
Le cours est disponible à l'adresse suivante : https://ucl-ingi.github.io/missing-semester/2020/security/
-
-
-
Le dernier cours porte sur plusieurs sujets qui n'avaient pas forcément leur place dans les cours précédents, mais qui sont tout de même utiles à connaître. Le cours parle notamment de backups, APIs, Notebook programming, GitHub, Markdown,... et pleins d'autres sujets.
Le cours est disponible ici : https://ucl-ingi.github.io/missing-semester/2020/potpourri/
-