673 Programiranje in algoritmi

673 Programiranje in algoritmi

  • Vrsta programa: univerzitetni študijski program Upravna informatika
  • 1. stopnja
  • 1. letnik
  • 6 ECTS
  • Tip predmeta: obvezni
  • Število ur: 75
  • Nosilec: dr. Saša Divjak
  • Sodeluje: dr. Igor Kononenko

1. Namen predmeta

Cilj predmeta je razširiti znanje programiranja skozi spoznavanje tehnik programiranja, osnovnih pricipov načrtovanja  in analize algoritmov na osnovnih in dinamičnih podatkovnih strukturah. 

2. Vsebina predmeta

Slušatelji se razdelijo v dve skupini, glede na predznanje iz programiranja. V skupini A je večji poudarek na tehnikah programiranja (izvaja prof. Divjak), v skupini B pa večji poudarek na razvoju in analizi algoritmov (izvaja prof. Kononenko).  Obe skupini pokrivata znanja, ki so nujna za prehod v višji letnik in s tem za izvajanje predmeta Algoritmi in podatkovne strukture.

Skupina A (Divjak):

  • Programiranje na nivoju zbirnega jezika
  • Razvoj programov in razhroščevanje
  • Programski jezik C
  • Kazalci in dinamične podatkovne strukture: seznami, drevesa
  • Iteracija in rekurzija
  • Reševanje problemov in algoritmi
  • Več o objektno usmerjenem programiranju
  • Kolekcije, generiki
  • Zgoščene tabele in binarna iskalna drevesa
  • Osnovne implementacije grafov
  • Niti in konkurenčno programiranje
  • Grafika in animacija
  • Programiranje grafičnih aplikacij
  • Programiranje mrežnih aplikacij
  • Skriptno programiranje

 

Skupina B (Kononenko):

  • Razvoj programov in razhroščevanje
  • Kazalci in dinamične podatkovne strukture: seznami in drevesa
  • Relacija med iteracijo in rekurzijo
  • Reševanje problemov in algoritmi
  • Analiza časovne zahtevnosti algoritmov
  • Abstraktni podatkovni tip in kolekcije
  • Osnovni abstraktni podatkovni tipi: seznam, množica, vrsta, sklad, preslikava (ter ustrezne kolekcije)
  • Zgoščene tabele
  • Abstraktni podatkovni tip drevo; primer: Izrazna drevesa
  • Abstraktni podatkovni tip slovar; iskalna drevesa: binarna,  AVL,  B-drevesa
  • Abstraktna podatkovna tipa prioritetna vrsta in disjunktne množice
  • Abstraktna podatkovna tipa graf in usmerjeni graf,
  • Iskanje najdaljših in najkrajših poti v usmerjenem grafu, minimalno vpeto drevo v neusmerjenem grafu

 

3. Študijska literatura

I.Kononenko in sod.: Programiranje in algoritmi (v pripravi)
S. Divjak: Programiranje  lgm.fri.uni/lj.si/P2
B. Eckel: Thinking in Java, 3rd edition, Prentice Hall PTR, 2002
I.Kononenko in M. Robnik-Šikonja: Algoritmi in podatkovne strukture 1, Založba FE in FRI, 2003
R. Sedgewick: Algorithms in Java, 3rd edition, Addison Wesley, 2003

4. Obveznosti študenta

Opravljanje študijskih obveznosti je opredeljeno v Pravilniku o preverjanju in ocenjevanju znanja ter izpitnem redu FRI. Za opravljanje izpita so pogoj pozitivno ocenjene vaje.

5. Oblika preverjanja in ocenjevanja znanja

Ocena pri predmetu je sestavljena iz ocene izpita (I) in ocene vaj (V): I/V.
Pogoj za uspešno opravljene vaje so pozitivno ocenjene seminarske naloge. Ocena iz vaj je utežna povprečna ocena seminarskih nalog.
Pogoj za opravljanje izpita so pozitivno ocenjene vaje. Pri pisnem izpitu je treba doseči najmanj 50 od 100 točk, da lahko pristopijo k ustnemu izpitu.