Semestre 5
Présentation & objectifs
Pendant le semestre 5, l’objectif principal du cours d’informatique est de consolider vos connaissances en programmation, algorithmique et informatique en général, que vous avez acquises lors de vos études précédentes.
Pour ce faire, vous suivrez plusieurs cours, qui vous guideront depuis la mise en place d’un environnement jusqu’à l’écriture d’un programme complet en utilisant des notions plus avancées telles que la programmation orientée objet et les outils d’intelligence artificielle.
Au cours de ce semestre, nous raisonnerons à l’échelle d’un seul ordinateur.
Vous apprendrez comment résoudre un problème, en utilisant des algorithmes, ou en vous basant sur des données existantes.
L’extension de cela à un écosystème de machines est l’objectif principal du semestre 6.
En termes de langages de programmation, nous utiliserons principalement Python, pour sa simplicité, sa grande communauté et sa prévalence dans de nombreuses applications réelles.
Cependant, chaque fois que vous rencontrerez un bloc de code sur ce site, nous vous fournirons également la version Java de ce code.
Durant le semestre 6, vous utiliserez principalement Java, alors soyez curieux dès maintenant pour vous familiariser avec sa syntaxe.
-
Slides – Voici les diapositives utilisées pour introduire le cours en classe.
-
Discord – Un serveur Discord est à votre disposition pour interagir avec d’autres étudiants et les enseignants en dehors des cours.
Vous devriez le rejoindre dès que possible. -
Moodle – Bien que le contenu du cours soit sur ce site, la plupart des évaluations devront être réalisées sur la plateforme Moodle de l’IMT Atlantique.
Comment est organisé le semestre ?
Pendant le semestre 5, le cours d’informatique est divisé en quatre blocs :
-
Les leçons sur l’environnement vous aideront à comprendre la machine sur laquelle vous travaillez, votre système d’exploitation, les fichiers, les permissions, etc.
De plus, nous vous aiderons à installer un environnement adapté à la programmation.
Globalement, nous vous présenterons certains aspects généraux de l’informatique. -
Dans ces leçons, vous apprendrez comment passer d’un problème à une solution algorithmique.
Nous vous présenterons également certaines propriétés des algorithmes et des structures de données, afin que vous puissiez les comparer.
Enfin, vous aborderez des éléments plus avancés et aurez une introduction aux stratégies algorithmiques avancées et à l’intelligence artificielle. -
Dans ces leçons, vous apprendrez à traduire une solution algorithmique en un programme bien écrit, en langage Python.
Vous découvrirez également différents paradigmes de programmation et apprendrez comment vous assurer correctement qu’un programme fonctionne bien. -
Pendant tout le semestre, vous devrez travailler sur un petit projet, qui vous aidera à mettre en pratique les concepts et pratiques appris dans les trois autres blocs.
Ce projet tourne autour d’un jeu vidéo appelé PyRat, dans lequel vous devez guider un rat dans un labyrinthe pour attraper des morceaux de fromage.
À la fin du semestre, vous participerez à un tournoi PyRat pour rivaliser avec d’autres étudiants.
Évaluation
Vous serez principalement évalué sur le projet, de manière régulière.
De plus, il y aura des évaluations ponctuelles dans les cours de programmation et d’algorithmique.
Veuillez consulter les pages associées à ces cours pour plus de détails.
Ces évaluations correspondent aux compétences suivantes, issues du référentiel officiel de l’IMT Atlantique :
-
BC04 – Concevoir une solution à un problème, en priorisant les besoins et contraintes des parties prenantes, dans une approche qui met l’accent sur l’innovation et anticipe les évolutions futures (technologiques, socio-économiques, écologiques et sociétales…).
Proposer une solution algorithmique à un problème donné et justifier les choix sur la base de critères objectifs.
-
BC07 – Produire, mettre en œuvre et maintenir selon un cahier des charges (y compris les exigences économiques, réglementaires et de sécurité) tout en étant capable de discuter, négocier et justifier les décisions prises dans la catégorie concernée.
Développer un programme informatique en réponse à un problème algorithmique en utilisant les constructions du langage de programmation de manière appropriée, en respectant les bonnes pratiques du domaine, et en justifiant vos choix.