Spoznavali bomo področje inženiringa algoritmov,
katerega vodilo je premoščanje razlike med teorijo in prakso. Znanih je
več primerov, kjer klasični teoretični pristop nezadovoljivo opiše
obnašanje algoritma v praksi, npr. simpleksni algoritem, hitro urejanje,
LIFO/FIFO strategije, ravninskost grafa,
minor grafa itd. Posledično je izredno pomembna dobra implementacija
in eksperimentalen preizkus algoritma. Tekom predmeta si bomo
ogledali proces inženiringa algoritmov in njegove posamezne stopnje:
realistični modeli računanja, snovanje algoritmov, implementacija
algoritmov, analiza algoritmov preko najslabšega primera, izvedba
eksperimentov, generiranje realističnih vhodov, izvedba
algoritmičnih knjižnic.