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.
|