Programiranje 1#

Predmet Programiranje 1 je sestavljen iz dveh delov, ki se bosta prepletala med sabo. V prvem delu se bomo osredotočili na funkcijsko programiranje, ki je bolj matematičen pristop k pisanju programov, osnovan na sestavljanju funkcij in njihovi uporabi na vrednostih. Nasproten pristop bi bilo na primer imperativno programiranje, v katerem programe pišemo kot zaporedja ukazov, ki spreminjajo računalnikovo stanje. Programi, napisani v funkcijskem stilu, so dostikrat krajši in preglednejši, poleg tega pa preprosteje omogočajo porazdeljeno računanje. Tudi zato smo že v Pythonu poleg imperativnega programiranja prek zank in spremenljivk (in seveda objektnega programiranja) spoznali tudi nekaj funkcijskih idej. Na primer rekurziji smo dali večji poudarek, kot bi ga v običajnih začetniških tečajih programiranja.

V drugem delu pa bomo spoznali osnove podatkovnih struktur in algoritmov, tako v kontekstu funkcijskega programiranja kot izven. Nekaj splošnih podatkovnih struktur že poznamo, na primer sezname. Včasih pa so naše želje bolj specifične, zato lahko uporabimo bolj specializirane strukture, ki so učinkovitejše. Podobno poznamo že nekaj algoritmov, na primer Evklidovega ali pa iskanje z bisekcijo v urejenem seznamu. Vseeno pa obstaja nabor klasičnih algoritmov ter pristopov k reševanju problemov, ki jih mora poznati vsak programer.

Opomba: Do vključno študijskega leta 2022/23 je bila del predmeta Programiranje 1 tudi analiza podatkov. Od drugega semestra leta 2022/23 naprej pa je analiza podatkov premaknjena v predmet Uvod v programiranje, zato lahko ustrezne zapiske najdete tam. Razširjena vsebina predmeta Programiranje 1 (modularnost, grafični vmesniki, …) bo v zapiske dodana naknadno v letu 2023/24.