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=2020&Nacin=1&Predmet=61U166

Šifra učne enote    61U166 2020

Nivo Študijkski program ali njegov del Letnik Semester
1 BU20 RAČUNALNIŠTVO IN INFORMACIJSKE TEHNOLOGIJE 2 Poletni

ECTS točke 6

Ure - Predavanja 30
Ure - Seminarske vaje 3
Ure - Računalniške vaje 42
Ure - Samostojno delo študenta 105

Nosilci
red. prof. dr. MERNIK MARJAN

Jeziki predavanj slovenski
Jeziki vaj slovenski

Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Ni pogojev. 
Vsebina
• Uvod v programske jezike: neformalna definicija programskih jezikov, delitve programskih jezikov, kratka zgodovina programskih jezikov. • Vrednosti in tipi: delitev tipov, statično in dinamično preverjanje tipov, ekvivalenca tipov, vrste izrazov. • Pomnilnik: spremenljivka, shranljive vrednosti, življenjska doba spremenljivk, vrste ukazov, izrazi s stranskimi učinki. • Povezovanje: povezljive vrednosti, statični in dinamični doseg, vrste deklaracij, bločni ukazi in bločni izrazi, kvalifikacijski princip. • Abstrakcije: princip abstrakcije, vrste abstrakcij, mehanizmi prenosa parametrov, korespondenčni princip, dosledni in normalni izračun. • Ograjevanje: paketi, abstraktni tipi, objekti in razredi, generični moduli. • Sistemi tipov: monomorfni in polimorfni sistem tipov, vrste polimorfizma. Generiki v programskem jeziku java. • Objektno usmerjeno programiranje: objekt, razred, meta-razred. Razredni objektno usmerjeni jeziki in prototipni objektno usmerjeni jeziki. Vrste dedovanja: enkratno/večkratno, razredno/objektno, striktno/nestriktno, urejeno/neurejeno, dinamično/selektivno, običajno/mixin. Vgnezdeni razredi v programskem jeziku java. • Funkcijsko programiranje: značilnosti funkcijskih jezikov, uvod v programski jezik lisp/haskell.  
Temeljni literatura in viri
• K.C. Louden: Programming Languages: Principles & Practices, Third Edition, Cenage Learning, 2013. • P. Sestoft: Programming Language Concepts, Springer, Berlin, 2012. • D. A. Watt: Programming Language Design Concepts, John Wiley, Chichester, 2004.  
Cilji in kompetence
Cilj tega predmeta je razumevanje osnovnih konceptov programskih jezikov in razumeti bistvene razlike med funkcijskim, proceduralnim in objektno usmerjenim programiranjem. 
Predvideni študijski rezultati - znanje in razumevanje
Po zaključku tega predmeta bo študent sposoben • identificirati slabosti in prednosti posameznega programskega vzorca, • izbrati primeren programski jezik za rešitev dane naloge, • razumeti koncepte programskih jezikov, s pomočjo katerih se bo hitreje naučil novega programskega jezika, • razumeti razlike med statičnim in dinamičnim tipiziranjem, • razumeti različne oblike dodeljevanja pomnilnika, • razumeti različne tehnike prenosa parametrov, • razumeti različne oblike polimorfizma.  
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 različnih prevajalnikov in interpreterjev. • Reševanje problemov: načrtovanje in implementacija programov z uporabo različnih programskih vzorcev.  
Metode poučevanja in učenja
• predavanja, • laboratorijske vaje.  

Načini ocenjevanja Delež (%)
Laboratorijske vaje 50  
1. kolokvij 25  
2. kolokvij 25  
Opombe
Kolokvija se lahko nadomestita s pisnim izpitom v deležu 50 %. 
[EOP]