Dobro načrtovane podatkovne strukture in učinkoviti algoritmi za njihovo obdelavo so temelj računalništva. Cilj predmeta je spoznavanje osnovnih principov načrtovanja  in analize algoritmov na osnovnih in dinamičnih podatkovnih strukturah za reševanje problemov. Spoznali bomo osnovne principe reševanja problemov, relacijo med iteracijo in rekurzijo, analizo časovne zahtevnosti algoritmov, koncept abstraktnega podatkovnega tipa ter definicijo in implementacijo temeljnih abstraktnih podatkovnih tipov: seznam, vrsta, sklad, množica, preslikava, drevo, slovar, prioritetna vrsta, disjunktne množice, usmerjeni in neusmerjeni graf ter osnovne algoritme za analizo grafov: iskanje najdaljših poti in iskanje najkrajših poti v usmerjenem grafu ter gradnjo minimalno vpetega drevesa v neusmerjenem grafu.

 

Študenti preko e-učilnice sproti rešujejo ob rokih objavljene spletne kolokvije (kvize) in pozitivno ocenjeni so pogoj za opravljanje izpita. V okviru laboratorijskih vaj vsak študent samostojno izdela 2 seminarski nalogi, ki jih oddaja preko učilnice ter zagovarja na laboratorijskih vajah. Ocena seminarskih nalog se upošteva kot ocena vaj. Na pisnem izpitu je od literature dovoljen en A4 list napisan lastnoročno z navadnim svinčnikom (da se lahko radira) in podpisan s kemičnim svinčnikom z imenom in priimkom ter vpisno številko (fotokopije in printi niso dovoljeni). Ta list se odda skupaj s pisnim izdelkom. Na ustnem izpitu lahko študent popravi, potrdi ali pokvari oceno pisnega izpita.Ocena vaj in ocena izpita morata biti pozitivni. Končna ocena predmeta je povprečje ocene iz vaj in ocene iz izpita.

 

Na voljo je učbenik: Igor Kononenko, Marko Robnik Šikonja, Zoran Bosnić: Programiranje in algoritmi, Založba FE in FRI, 2008.