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.
Couvre la vérification de la sécurité du matériel et des logiciels, y compris les algorithmes et les techniques vérifiés pour éliminer les fuites spéculatives.
Couvre le système logiciel Canalflow pour l'analyse numérique du flux de fluide incompressible dans les géométries des canaux, y compris les méthodes spectrales et les solutions invariantes.
Met en lumière les gagnants du Jucker Price 1999 et du Bug de l'année 2000, soulignant l'importance des aspects humanistes et les risques associés aux complexités logicielles.
Explore les concepts d'ingénierie logicielle, en soulignant l'importance des tests et des spécifications claires pour assurer l'exactitude du logiciel.