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.
Explore la gestion des défauts, des stratégies d'essai et des défis en matière de qualité des logiciels, avec des exemples du monde réel et des études de cas.
Explore les processus de développement logiciel, comparant le modèle Waterfall aux méthodes Agile, en se concentrant sur Scrum, les valeurs, les principes et les rôles d'équipe.
Explore l'analyse automatisée de terminaison à l'aide de paires de dépendances, couvrant les techniques classiques et modernes, les concours annuels et des outils comme AProVE.
Offre un cours de crash en MATLAB, couvrant la représentation des données, l'indexation des tableaux, les opérations mathématiques, et les pièges communs.
Couvre les stratégies de test, en mettant l'accent sur la couverture et la qualité du code dans le développement de logiciels à travers diverses méthodologies de test et des exemples pratiques.
Explore la sécurité du langage de programmation, couvrant la sécurité de type, la sécurité de la mémoire, la sécurité des menaces, le modèle de propriété de Rust, le sandboxing et la compartimentation.
Couvre l'essentiel de l'ingénierie logicielle, en mettant l'accent sur les exigences, la modularité et l'abstraction, avec des idées et des exemples pratiques.
Explore les concepts d'ingénierie logicielle, en soulignant l'importance des tests et des spécifications claires pour assurer l'exactitude du logiciel.
Couvre la pensée algorithmique, la programmation Python, les méthodes numériques et les concepts informatiques essentiels pour l'informatique scientifique.
Explore le flou, les oracles de bogues, les revues de codes et les techniques de test automatisé, soulignant l'importance de la désinfection pour détecter les défauts.
Couvre la définition et les applications des pointeurs dans la programmation C, en mettant l'accent sur leur rôle dans la gestion de la mémoire et la programmation générique.
Explore les pratiques exemplaires en matière d'élaboration, de débogage, d'essai et de gestion des codes, en mettant l'accent sur l'exactitude, la documentation et l'efficacité.
Couvre les aspects essentiels du génie logiciel, en se concentrant sur la compréhension des étapes du développement de programmes et de la gestion des erreurs.