SLO | EN

Cilji in kompetence

Cilj predmeta je naučiti študente algoritmičnega razmišljanja in strukturiranega programiranja.

Vsebina

• Uvod: osnovna sintaksa in semantika visoko nivojskega programskega jezika, algoritem, von Neumannov računalnik, spremenljivka, prirejanje, enostavni primeri programov. • Tipi in izrazi: osnovni podatkovni tipi, izrazi in operatorji. • Krmilne strukture: pogojne in iterativne krmilne strukture, strukturna dekompozicija. • Funkcije: podprogram, prenos parametrov po vrednosti, prenos parametrov po referenci, prekrivanje funkcij. • 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 in kazalci, uporabniško definirane podatkovne strukture, predstavitev podatkov v pomnilniku, nizi in delo z nizi. • Kazalci in reference: kazalec na strukturo, referenca, upravljanje s pomnilnikom v času izvajanja programa. • Dinamična podatkovna struktura, seznam. • Rekurzija: rekurzivne matematične funkcije, implementacija rekurzije, algoritmi, dinamične podatkovne strukture, drevo.

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 in uporabiti osnovne pristope pri analizi, načrtovanju, kodiranju in testiranju računalniških programov, • načrtovati algoritme za reševanje preprostih nalog, • 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

• Žumer, V., & Brest, J. (2006). Strukturirano in objektno usmerjeno programiranje v C++ (p. 2 zv.). Fakulteta za elektrotehniko, računalništvo in informatiko, Inštitut za računalništvo. • Prata, S. (2005). C++ primer plus (5th ed., p. XVII, 1202). Sams. • Sahni, S. (2005). Data structures, algorithms, and applications in C++ (2nd ed., p. XXIV, 792, 11). Silicon Press. • Deitel, P. J., & Deitel, H. M. (2017). C++: how to program: introducing the new C++14 standard (10th ed., Global ed., p. 1074). Pearson Education. • Lippman, S. B., Lajoie, J., & Moo, B. E. (2013). C++ primer: [completely rewritten for the new C++11 standard] (5th ed., p. XXVII, 938). Addison-Wesley.

Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti

Ni pogojev.

  • red. prof. dr. JANEZ BREST, univ. dipl. inž. rač. in inf.

  • Računalniško delo: 50
  • Pisni izpit: 50

  • : 30
  • : 45
  • : 135

  • slovensko
  • slovensko

  • RAČUNALNIŠTVO IN INFORMACIJSKE TEHNOLOGIJE - 1.