FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO


Učna enota
 PRINCIPI PROGRAMSKIH JEZIKOV 
https://aips.um.si/PredmetiBP5/UcnaEnotaInfo.asp?Zavod=15&Jezik=&Leto=2015&Nacin=&Predmet=61M003

Šifra učne enote    61M003 2015

Nivo Študijkski program ali njegov del Letnik Semester
1 BM20 RAČUNALNIŠTVO IN INFORMACIJSKE TEHNOLOGIJE 1 Zimski

ECTS točke 5

Ure - Predavanja 30
Ure - Seminarske vaje 2
Ure - Računalniške vaje 28
Ure - Samostojno delo študenta 90

Nosilci
red. prof. dr. BREST JANEZ

Jeziki predavanj slovenski
Jeziki vaj slovenski

Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Osnovno znanje programiranja. 
Vsebina
Uvod: zgodovina in klasifikacija programskih jezikov, kriteriji za načrtovanje programskih jezikov. Koncepti: vrednosti, pomnilnik, povezovanje, abstrakcija, kapsuliranje, sistemi tipov, sekvencerji, sočasnost. Sintaksa in semantika: uvod v teorijo formalnih jezikov, leksikalna analiza, sintaktična analiza, abstraktna sintaksa, atributna gramatika, aksiomatska semantika, denotacijska semantika, generiranje in optimizacija kode. Vzorci: imperativno programiranje (Pascal, ADA), funkcijsko programiranje (Lisp, Haskell, ML), logično programiranje (Prolog), objektno programiranje (Smalltalk, C++, Java, Python).  
Temeljni literatura in viri
• V. Žumer, M. Mernik, Principi programskih jezikov, Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, 2003. • Michael L. Scott, Programming Language Pragmatics, Morgan Kaufmann Publishers Inc., San Francisco, 2000. • D. A. Watt, Programming Language Design Concepts, John Wiley & Sons, Chichester, 2004. • Maurizio Gabbrielli in Simone Martini, Programming Languages: Principles and Paradigms, Springer, 2010  
Cilji in kompetence
Cilj predmeta je spoznati študente s principi programskih jezikov. 
Predvideni študijski rezultati - znanje in razumevanje
Po zaključku tega predmeta bo študent sposoben - razumeti delovanje prevajalnikov in interpreterjev, - načrtovati in implementirati nov prevajalnik ali interpreter, - identificirati prednosti in slabosti posameznega vzorca, - izbrati primeren programski jezik za rešitev dane naloge, - razumeti koncepte programskih jezikov, s pomočjo katerih se bodo hitreje naučili novega programskega jezika, - načrtovati in implementirati programske jezike. 
Predvideni študijski rezultati - Prenosljive/ključne spretnosti in drugi atributi
Spretnosti komuniciranja: ustni zagovor laboratorijskih vaj, pisno izražanje pri pisnem izpitu. Uporaba informacijske tehnologije: uporaba objektno usmerjenih, funkcijskih in logičnih programskih jezikov. Reševanje nalog: uporaba programskih vzorcev pri načrtovanju in implementaciji programov. Implementacija prevajalnikov.  
Metode poučevanja in učenja
• predavanja, • seminarske vaje, • laboratorijske vaje, • reševanje domačih nalog.  

Načini ocenjevanja Delež (%)
Laboratorijske vaje 30  
opravljene domače naloge 20  
1. vmesni pisni izpit 16  
2. vmesni pisni izpit 17  
3. vmesni pisni izpit 17  
Opombe
Če študent ni uspešno opravil vseh treh vmesnih izpitov, jih nadomesti s pisnim izpitom v deležu 50 %. 
[EOP]