1. Programmation séquentielle et analyse algorithmique.
2. Calcul parallèle avec mémoire partagée (utilisation de fils threads).
3. Calcul parallèle synchronisé sans mémoire partagée (utilisation de MPI).
4. Calcul distribué (utilisation de hadoop/spark).