Preskoči na glavno vsebino

Programiranje 1

2026/2027
Program:
Interdisciplinarni univerzitetni študijski program 1. stopnje Računalništvo in matematika
Letnik:
1 letnik
Semester:
prvi
Vrsta:
obvezni
ECTS:
6
Jezik:
slovenski
Nosilec predmeta:

Luka Fürst

Ure na teden – 1. semester:
Predavanja
3
Seminar
0
Vaje
2
Laboratorij
0
Vsebina

predavanja:

  1. Pregled programskih jezikov s poudarkom na sodobnih programskih jezikih 3. generacije

  2. Primer preprostega programa, postopek priprave programa, prevajanje in izvajanje

  3. Osnovni podatkovni tipi

    • Predstavitev celih in realnih števil, znakov ter logičnih vrednosti

    • Deklaracije konstant in spremenljivk

  4. Stavki

    • Prireditveni stavek, pisanje izrazov, operatorji in njihova prioriteta

    • Izbirni stavki

    • Ponavljalni stavki

  5. Metode

    • Vloga in vrste metod

    • Formalni in dejanski parametri

    • Rekurzija

  6. Razredi in objekti

    • Spremenljivke in metode objekta

    • Konstruktorji, večkratno definiranje konstruktorjev

    • Dostopna določila

    • Vnaprej deklarirani razredi

  7. Tabele

    • Enodimenzionalne in večdimenzionalne tabele

    • Tabele objektov

  8. Nizi

  9. Dedovanje

    • Redefinicija metod

    • Konstruktorji v podrazredih

    • Dinamično povezovanje podprogramov

    • Abstraktni razredi in abstraktne metode

    • Razred Object

    • Vmesnik (interface)

  10. Grafične knjižnice, komponente grafičnega uporabniškega vmesnika

  11. Dogodkovno vodeno programiranje

    vaje:

    Na vajah študenti rešujejo praktične probleme, s katerimi utrjujejo snov, ki so jo obravnavali na predavanjih. Poudarek je na samostojnem delu ob pomoči asistentov.

    domače naloge:

Študenti dobijo seznam nalog (programov), ki jih morajo izdelati doma in zagovarjati na vajah v vnaprej predpisanih rokih. S tem jih vzpodbujamo k sprotnemu študiju in samostojnemu delu. Študent, ki nima pozitivno ocenjenih domačih nalog, ne more pristopiti k izpitu.

Temeljni literatura in viri
  1. V. Mahnič, L. Fürst, I. Rožanc: Java skozi primere, Bi-TIM, 2008.

  2. J. Farrell: Java Programming, Seventh Edition, Course Technology, Cengage Learning, 2014.

    Dodatna literatura:

  1. I. Horton: Beginning Java, Java 7 Edition, John Wiley & Sons, Inc., 2011

  2. Uroš Mesojedec, Borut Fabjan: Java 2: Temelji programiranja, Pasadena, 2004.

Cilji in kompetence

Cilj predmeta je študentom predstaviti osnovne koncepte objektno usmerjenega programiranja v enem izmed splošno namenskih programskih jezikov 3. generacije in jih usposobiti za samostojen razvoj enostavnih računalniških programov.

Predvidene kompetence:

  • razvoj sposobnosti za kritično, analitično in sintetično razmišljanje,

  • sposobnost razumevanja in reševanja strokovnih izzivov na področju računalništva in informatike,

  • sposobnost uporabe pridobljenega znanja pri samostojnem delu za reševanje tehničnih in znanstvenih problemov na področju računalništva in informatike; sposobnost nadgradnje pridobljenega znanja,

  • temeljna znanja na področju računalništva in informatike, ki vključujejo temeljna teoretična znanja, praktična znanja in znanja, ki so bistvena za področje računalništva in informatike,

  • temeljna znanja na področju računalništva in informatike, ki so pomembna za nadaljevanje študija na drugi stopnji.

Predvideni študijski rezultati

Po uspešnem zaključku tega predmeta bo študent zmožen:

  • razumeti postopek priprave, prevajanja in izvajanja računalniškega programa

  • razumeti in uporabljati osnovne programske konstrukte in podatkovne strukture

  • razumeti koncepte objektno usmerjenega programiranja (vključno z dedovanjem)

  • razumeti in uporabljati osnovne algoritme za reševanje tipičnih programerskih problemov

  • izkazati poznavanje osnov računalniške grafike in osnovnih komponent grafičnega uporabniškega vmesnika

  • izkazati poznavanje osnov dogodkovno vodenega programiranja

  • pisati enostavne računalniške programe v splošno namenskem jeziku tretje generacije

Metode poučevanja in učenja
  • Predavanja z aktivno udeležbo študentov (razlaga, diskusija, vprašanja, primeri, reševanje problemov);

  • Laboratorijske vaje (refleksija izkušenj, praktično reševanje več tipičnih problemov na računalniku, predstavitev in zagovor programskih rešitev, diskusija, sporočanje povratne informacije);

  • Domače naloge (samostojna izdelava računalniških programov)

  • Individualne konsultacije (diskusija, dodatna razlaga, obravnava specifičnih vprašanj)

Načini ocenjevanja

Način (pisni izpit, ustno izpraševanje, naloge, projekt):
Sprotno preverjanje (3 seminarske naloge, kratki testi v obliki kvizov)

Končno preverjanje (izpit)

Ocene: 6-10 pozitivno, 5 negativno
(v skladu s Statutom UL).

Reference nosilca

Pet najpomembnejših del:

FÜRST, Luka, MERNIK, Marjan, MAHNIČ, Viljan. Improving the graph grammar parser of Rekers and Schürr. IET Software, 2011, vol. 5, no. 2, str.246-261.

FÜRST, Luka, MERNIK, Marjan, MAHNIČ, Viljan. Converting metamodels to graph grammars: doing without advanced graph grammar features. Software and systems modeling, 2015, vol. 14, no. 3, str. 1297-1317.

FÜRST, Luka, ČIBEJ, Uroš, MIHELIČ, Jurij. Maximum exploratory equivalence in trees. FedCSIS 2015, Łódź, Poljska, september 2015, str. 507-518.

FÜRST, Luka, MAHNIČ, Viljan. Introductory programming course: motivating students with prior knowledge. World transactions on engineering and technology education, ISSN 1446-2257, 2013, vol. 11, no. 4, str. 400-405. http://wiete.com.au/journals/WTE&TE/Pages/Vol.11, %20No.4%20(2013)/08-Fuerst-L.pdf.

MAHNIČ, Viljan, FÜRST, Luka, ROŽANC, Igor. Java skozi primere. Šenčur: Bi-tim, 2008. XIV, 478 str., ponovni ponatis 2012.

Celotna bibliografija je dostopna na Cobissu oziroma Sicrisu:

http://bib.cobiss.si/cobiss/BibPersonal.jsp?init=t&code=25527