1. Arhitektura vzporednih sistemov.
2. Sočasnost, procesi in niti: prepletanje, vzporedenje, vrstni red izvajanja, preklapljanje med nitmi.
3. Delo z nitmi: ustvarjanje, pridruževanje, težave.
4. Sočasen dostop do skupnih podatkov: tvegano stanje in medsebojno izključevanje, atomične operacije.
5. Sinhronizacija dogodkov: smrtni objem, pogojne spremenljivke, pregrada.
6. Vzorci: semaforji, izdelovalec-porabnik, bralci in pisatelji, bazen nalog.
7. Večnitnost v praksi: varno delo z nitmi, prednosti večnitnih programov, modeli večnitnih programov
8. Arhitektura grafičnih pospeševalnikov.
9. Programiranje grafičnih pospeševalnikov.
10. Porazdeljeni sistemi: prednosti in izzivi, mrežni protokoli, sistemi odjemalec-strežnik, klicanje oddaljenih funkcij (RPC).
11. Modeli sistemov in napake: sinhroni, delno sinhroni in ne sinhroni, odpoved sistema, napake in odpornost na napake, bizantinske napake in problem dveh generalov.
12. Čas in razvrščanje dogodkov: fizične ure, univerzalni čas, sinhronizacija in polzenje časa, protokol NTP, vzročnost.
13. Logični čas: Lamportova ura, vektorske ure, protokol širjenja informacij.
14. Podvajanje in sklepčnost: konsistentnost replik, branje po pisanju, podvajanje z avtomati stanj, podvajanje z voditeljem.
15. Soglasje: izbiranje voditelja, algoritem Raft.
16. Porazdeljeni sistemi na primerih iz prakse: soglasje, vzročno širjenje, dvostopenjsko potrjevanje.