Explore les défis de programmation, les techniques de débogage, les tests de logiciels et les pratiques de sécurité dans le développement de logiciels.
Introduit les fondamentaux de l'ingénierie logicielle, couvrant le traitement de l'instruction, les algorithmes, les langages de programmation, les abstractions, les tests, la sécurité et l'open source.
Souligne l'importance de la version et des dépendances dans le développement des logiciels, en soulignant l'évolution continue et la nécessité de la compatibilité.
Analyse l'étude de cas Ariane 501, en se concentrant sur les erreurs logicielles et les complexités du système qui ont conduit à un échec de lancement.
Explore les vulnérabilités dans les applications web et logicielles, en discutant le contrôle d'accès cassé, les défauts d'injection, et les stratégies de défense comme DEP et ASLR.