Cilji in kompetence
Cilj predmeta je, da bodo študentje razumeli osnovne koncepte v programiranju v programskih jezikih C++ in Java in jih znali uporabiti v praksi.
Vsebina
• Uvod: algoritem, strukturirano in objektno programiranje.
• Leksikalni elementi v programskih jezikih C++ in Java, primerjava strukture programa v C++ in Javi.
• Tipi in izrazi: osnovni podatkovni tipi, izrazi in operatorji.
• Krmilne strukture: stavek za izbiro, stavek za ponavljanje, stavek z oznako, sestavljeni stavek, sintaksa krmilnih struktur v C++ in Javi.
• Funkcije: definicija funkcije, klic funkcije, deklaracija funkcije, prenos parametrov po vrednosti, prenos parametrov po referenci, prekrivanje funkcij, funkcije v C++ in Javi.
• Polja: eno- in večdimenzionalna polja, dinamična polja v C++ in Javi, polja in funkcije, statična polja v C++.
• Kazalci v C++: kazalci, reference, kazalci in polja, kazalci in strukture, predstavitev podatkov v pomnilniku, upravljanje s pomnilnikom v času izvajanja.
• Razredi in objekti, , konstruktorji in destruktorji, privatni in javni člani razreda. Objektno programiranje v C++ in Javi.
• Vhodni in izhodni podatkovni tokovi v C++ in Javi.
• Izjeme.
• Rekurzija: rekurzivne funkcije, rekurzivne podat. strukture, implementacija rekurzije v C++ in Javi.
• Reševanje nalog in razvoj programov: analiza problema, načrtovanje, izvedba, testiranje in razhroščevanje.
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. Študentje tudi izpopolnjujejo prenosljive spretnosti uporabe integriranega razvojnega orodje.
• Domače naloge: pri domačih nalogah študentje utrjujejo teoretično znanje in preverjajo svoje razumevanje programskih konceptov.
Predvideni študijski rezultati - znanje in razumevanje
• opisati in uporabiti sintakso programskega jezika C++ in Java
• uporabiti osnovno znanje objektno usmerjenega programiranja
• analizirati preprost problem, načrtovati algoritem, kodirati in testirati računalniški program
Predvideni študijski rezultati - Prenosljive/ključne spretnosti in drugi atributi
• Spretnosti komuniciranja: ustni zagovor računalniškega dela.
• Uporaba informacijske tehnologije: uporaba okolij za programiranje.
• Reševanje problemov: analiza problema, načrtovanje algoritma, implementacija programa in testiranje programa.
Temeljni literatura in viri
• Glassborow, F. (2007). C++ od začetka: uvod za programerje (p. X, 413). Pasadena.
• 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.
• Fürst, L. (2023). Java od začetka (p. XII, 401). Fakulteta za računalništvo in informatiko. http://zalozba.fri.uni-lj.si/fuerst2023.pdf
Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Priporočeno znanje za vključitev v delo: osnovno znanje za delo z računalnikom.Pogoji za opravljanje študijskih obveznosti: za pristop k izpitu mora študent izpolnjevati 80 % prisotnost na laboratorijskih vajah in pozitivno oceno laboratorijskih vaj.
Podrobnosti o izvedbi in ocenjevanju Pisni izpit se lahko nadomesti s sprotnim preverjanjem in ocenjevanjem znanja.