Couvre les bases de la programmation parallèle, y compris l'exploitation du parallélisme dans les algorithmes et l'importance d'éviter les conditions de race.
Explore l'importance de la concurrence dans l'amélioration des performances et de la réactivité du système, en mettant l'accent sur la nécessité de la synchronisation et de l'atomicité pour prévenir les conditions de course et le non-déterminisme.
Couvre la pensée algorithmique, la programmation Python, les méthodes numériques et les concepts informatiques essentiels pour l'informatique scientifique.
Couvre la mise en œuvre et la manipulation de tableaux dynamiques en C++ à l'aide de vecteurs, en se concentrant sur leurs caractéristiques et leurs implications en termes de performances.
Couvre l'évolution de l'informatique, du droit de Moore au multicores, la recherche sur la parallélisation du code Lisp, les expériences à UC Berkeley et Microsoft Research, et les idées sur l'informatique en nuage et la gestion du corps professoral.
Couvre les bases de la programmation parallèle, y compris la concurrence, les formes de parallélisme, la synchronisation et les modèles de programmation tels que PThreads et OpenMP.
Explore la cohérence de la mémoire, la cohérence, la faible cohérence et la cohérence séquentielle, en soulignant l'importance de la cohérence au niveau du langage et de la programmation sans course aux données.
Explore le parallélisme dans la programmation, en mettant l'accent sur les compromis entre la programmabilité et la performance, et introduit la programmation parallèle en mémoire partagée à l'aide d'OpenMP.
Explore les mécanismes de synchronisation évolutive pour de nombreux systèmes d'exploitation de base, en mettant l'accent sur les défis de la gestion de la croissance des données et des régressions dans le système d'exploitation.
Présente la programmation LabVIEW, couvrant la gestion de la mémoire, les types de données et les concepts de programmation parallèle, avec des démonstrations pratiques.