Explore la recherche de bugs, la vérification et l'utilisation d'approches aidées à l'apprentissage dans le raisonnement de programme, montrant des exemples comme le bug Heartbleed et le raisonnement bayésien différentiel.
Couvre l'héritage, le polymorphisme et le casting dans la programmation orientée objet, en mettant l'accent sur la factorisation du code et la manipulation générique d'objets.
Couvre les bases de la programmation scientifique pour les ingénieurs, en soulignant l'importance de GIT pour le travail collaboratif et en fournissant un aperçu des défis du développement de logiciels scientifiques.
Couvre les bases de la sécurité informatique, mettant l'accent sur la responsabilité de chacun dans la protection des données et la prévention des cybermenaces.