Cilji in kompetence
Cilj predmeta je seznaniti študente algoritmičnim razmišljanjem in strukturiranim programiranjem.
Vsebina
Uvod: osnovna sintaksa in semantika visoko nivojskega programskega jezika, algoritem, spremenljivka, prirejanje, enostavni primeri programov.
Preprost vhod in izhod.
Tipi in izrazi: osnovni podatkovni tipi, izrazi, operatorji.
Krmilne strukture: pogojne krmilne strukture, iterativne krmilne strukture za ponavljanja, strukturna dekompozicija.
Funkcije: podprogram, prenos parametrov po vrednosti, prenos parametrov po referenci.
Algoritmi in reševanje nalog: strategije reševanja nalog, vloga algoritmov pri reševanju nalog, koncepti in lastnosti algoritmov.
Načrtovanje programov: psevdokod, strategije implementacij algoritma, funkcije, testiranje, razhroščevanje.
Polja: algoritmi iskanja, urejanje polj, prenos polj v funkcijo.
Strukture: uporabniško definirane podatkovne strukture, nizi.
Kazalci in reference: upravljanje s pomnilnikom v času izvajanja programa.
Rekurzija: rekurzivne matematične funkcije, implementacija rekurzije, algoritmi.
Metode poučevanja in učenja
• Predavanja: pri predavanjih študentje spoznajo teoretične vsebine predmeta. Predavanja se izvajajo kot klasična predavanja v frontalni obliki z diskusijo ob primerih uporabe konceptov programiranja.
• Seminarske vaje: pri seminarskih vajah se študentje seznanijo s potekom računalniških vaj.
• Računalniške vaje: pri računalniških vajah študentje uporabljajo usvojeno znanje programiranja na konkretnih programskih problemih.
Predvideni študijski rezultati - znanje in razumevanje
Po zaključku tega predmeta bo študent sposoben
• izkazati znanje in razumevanje strukturiranega programiranja,
• izkazati znanje in razumevanje sintakse programskega jezika C++,
• izkazati razumevanje in uporabo osnovnih pristopov pri analizi, načrtovanju, kodiranju in testiranju računalniških programov,
• izkazati znanje in implementirati osnovne algoritme in podatkovne strukture.
Predvideni študijski rezultati - Prenosljive/ključne spretnosti in drugi atributi
Spretnosti komuniciranja: ustni zagovor laboratorijskih vaj, pisno izražanje pri pisnem izpitu, ustno izražanje pri ustnem izpitu.
Uporaba informacijske tehnologije: uporaba programskih orodij za programiranje.
Reševanje nalog: načrtovanje, kodiranje, testiranje programov.
Temeljni literatura in viri
• V- Žumer., J. Brest: Uvod v programiranje in programski jezik C++, 2. izdaja, Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, 2004.
• S. Prata: C++ Primer Plus. Sixth Edition. Addison Wesley Professional, Indianapolis, 2011.
• S. Sahni: Data Strutures, Algorithms, and Applications in C++, Second Edition, Silicon Press, Summit, NJ, 2005.
• P. Deitel, H. Deitel: C++ How to Program, Tenth Edition, Pearson Education Limited, Harlow, Essex, England, 2017.
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Ni pogojev.
Podrobnosti o izvedbi in ocenjevanju Pisni izpit se lahko nadomesti s kolokviji v enakem deležu 50 %.