FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO


Učna enota
 PROGRAMSKI JEZIKI 
https://aips.um.si/PredmetiBP5/UcnaEnotaInfo.asp?Zavod=15&Jezik=&Leto=2020&Nacin=1&Predmet=61V017

Šifra učne enote    61V017 2020

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

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. 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. • 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, logičnim, 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]