Ce module enseigne les bases du génie logiciel, afin de passer de l'écriture de code au développement de logiciel.
Pour obtenir une copie du matériel sur votre ordinateur, veuillez consulter les instructions de clonage
Ce module est une adaptation du cours "Software Engineering" de l'EPFL, qui était enseigné par le Prof. George Candea et Solal Pirelli.
À la fin du cours, les étudiants devraient être capables de :
- Reconnaître les besoins et problèmes courants dans le développement logiciel
- Expliquer pourquoi certaines techniques aident et pourquoi certaines techniques plus simples sont inadéquates
- Implémenter des logiciels corrects, efficaces, et fiables au niveau de fonctions, modules, et programmes
- Développer un logiciel en équipe, de l'organisation à la revue de code
- Critiquer les logiciels développés par d'autres d'une manière constructive et scientifique
- Produire des logiciels qui permettent aux utilisateurs de faire les tâches dont ils ont besoin de manière fiable et efficace
Ce module demande une familiarité basique avec la programmation, et spécifiquement le langage de programmation Python, pour mettre en pratique les concepts théoriques enseignés dans le cours.
Ce cours utilise des méthodes modernes et basées sur des preuves, particulièrement en ce qui concerne l'interactivité pendant les cours ainsi qu'une structure claire avec des objectifs et des critères d'évaluation.
Les quatre premières parties doivent être faites dans l'ordre, car ce sont des prérequis pour le reste :
Le reste peut être fait dans n'importe quel ordre, par exemple :
Il existe également un résumé de "design patterns" courantes.