Pri predmetu bomo spoznali sodobne pristope k snovanju algoritmov. Ti pristopi vključujejo razne tehnike analiziranja, metode snovanja in računske modele. Spoznali bomo:

  • proces inženiringa algoritmov (proces, ki se trudi premoščati razlike med teorijo in prakso),
  • algoritme za večnivojsko pomnilniško hierarhijo (algoritme, ki upoštevajo značilnosti predpomnilnikov ipd.),
  • načine za pohitritev natančnih eksponentnih algoritmov (npr. rezanje prostora iskanja ipd.),
  • parametrične algoritme (algoritme, ki so hitri pri določenih vrstah vhodnih podatkov),
  • aproksimacijske algoritme (algoritme, ki hitro vrnejo približen, toda kakovosten rezultat),
  • verjetnostne algoritme (algoritme, ki hitro vrnejo negotov, toda verjetno pravilen rezultat),
  • kvantne algoritme (algoritme, ki izkoriščajo načela kvantne fizike).

Vse našteto bomo podkrepili s sodobno analizo algoritmov in problemov (npr. analizo najslabšega primera).