Detail předmětu
Principy programovacích jazyků a OOP
IPP Ak. rok 2024/2025 letní semestr 5 kreditů
Předmět nabízí základní klasifikaci programovacích jazyků s podrobnějším představením imperativních a deklarativních jazyků. V rámci imperativních jazyků budou představeny nestrukturované jazyky, blokově a modulárně strukturované jazyky i objektové paradigma. Z programovacích technik návrhové vzory. Úvod do funkcionálních a logických jazyků bude přednesen v rámci deklarativních jazyků. Budou též zmíněny teorie ležící v základu těchto paradigmat. Studenti budou také obeznámeni se způsoby zpracování jednotlivých typů programovacích jazyků.
Proč je předmět vyučován
Absolvent by měl porozumět principům, jak je program reprezentován za běhu, jaké kategorie programovacích jazyků jsou k dispozici, co od nich čekat. Hlubší porozumění zpracování a implementace objektového paradigmatu a návrhových vzorů je nutnou podmínkou a výstupní znalostí též.
Podmínky zápočtu
Student musí během semestru získat alespoň 50% bodů z možného maxima, tj. 20 bodů ze 40.
Pokud bude odhaleno plagiátorství nebo nedovolená spolupráce na projektech, či u půlsemestrální zkoušky, zápočet nebude udělen a dále bude zváženo zahájení disciplinárního řízení.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 39 hod. přednášky
- 13 hod. projekty
Bodové hodnocení
- 60 bodů závěrečná zkouška (písemná část)
- 20 bodů půlsemestrální test (písemná část)
- 20 bodů projekty
Zajišťuje ústav
Přednášející
Cvičící
Křivka Zbyněk, Ing., Ph.D. (UIFS)
Květoňová Šárka, Ing., Ph.D. (UIFS)
Cíle předmětu
Zvládnutí: orientace v programovacích jazycích, jednotlivých programovacích paradigmat, nároků na užití a zpracování jednotlivých typů jazyků.
Studenti budou schopni rozlišovat typy a úroveň programovacích jazyků a orientovat se v problematice jak uživatelského zvládnutí daného paradigmatu, tak v problematice analýzy, či překladu daného typu programovacího jazyka. Užití vybraných návrhových vzorů.
Doporučené prerekvizity
Požadované prerekvizitní znalosti a dovednosti
Formální jazyky a jejich modely, gramatiky, automaty; překlady/analýza formálních jazyků. Zaměření na regulární a bezkontextové jazyky a jejich modely, gramatiky, automaty a zpracování.
Literatura studijní
- Texty přednášek v elektronické podobě
- Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - I, studijní opora pro kombinované studium, modul IPP I, VUT FIT, 2006
- Křivka, Z., Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - II, studijní opora pro kombinované studium, modul IPP II, VUT FIT, 2008
- Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - III, studijní opora pro kombinované studium, modul IPP III, VUT FIT, 2006
- Sebesta R.W.: Concepts of Programming Languages, 4th edition, ADDISON-WESLEY, 1999, ISBN 0-201-38596-1
- MacLennan, B.J.: Principles of Programming Languages: Design, Evaluation, and Implementation (3rd Edition). Oxford University Press, 1999
- Lee, D.K.: Foundations of Programming Languages, Second Edition, Springer, 2017
Osnova přednášek
- Úvodní vymezení pojmů a problematiky
- Úvod do imperativních jazyků - nestrukturované programovací jazyky
- Blokově strukturované jazyky
- Modulární jazyky
- Objektově orientované jazyky
- Některé zvláštnosti objektově orientovaných jazyků
- Návrhové vzory
- Úvod do deklarativních jazyků - lambda kalkul
- Funkcionální jazyky
- Logické programovací jazyky
- Další typy deklarativních jazyků, srovnání
- Hlavní rozdíly v práci a implementaci u imperativních a deklarativních jazyků
- Shrnutí tématu, diskuze navazujících předmětů
Osnova ostatní - projekty, práce
Jednoduchý program, či programy/skripty psané v zadaném jazyce spolu s odpovídající dokumentací.
Průběžná kontrola studia
- Půlsemestrální zkouška, u které neexistuje náhradní, či opravný termín - 20 bodů.
- Řešení 1 projektu v průběhu semestru a jeho odevzdání ve stanovených termínech - 20 bodů.
- Půlsemestrální zkouška - písemně, formou testu, kde odpovědi jsou tvořeny celými větami, neexistuje náhradní/opravný termín. (20 bodů)
- Vypracování projektů - 1 projekt (implementace jednoho či více programů, dle zadání) s příslušnou dokumentací. (20 bodů)
- Závěrečná zkouška - písemně, formou testu, kde odpovědi jsou tvořeny celými větami, 2 opravné termíny. (60 bodů - pro získání bodů ze zkoušky je nutné zkoušku vypracovat tak, aby byla hodnocena nejméně 25 body, v opačném případě bude zkouška hodnocena 0 body.)
Rozvrh
Den | Typ | Týdny | Místn. | Od | Do | Kapacita | PSK | Skup | Info |
---|---|---|---|---|---|---|---|---|---|
Po | přednáška | 1., 4., 6., 7., 8., 9., 10., 11., 13. výuky | E104 E112 | 08:00 | 10:50 | 294 | 2BIB 3BIT | 20 - 29 xx | Kolář |
Po | přednáška | 1., 4., 6., 7., 9., 10., 11., 13. výuky | E105 | 08:00 | 10:50 | 294 | 2BIB 3BIT | 20 - 29 xx | Kolář |
Po | přednáška | 2., 3., 5., 12. výuky | E104 E105 E112 | 08:00 | 10:50 | 294 | 2BIB 3BIT | 20 - 29 xx | Křivka |
St | přednáška | 1., 4., 6., 7., 8., 9., 10., 11., 13. výuky | E104 E112 | 10:00 | 12:50 | 294 | 2BIA 3BIT | 10 - 19 xx | Kolář |
St | přednáška | 1., 4., 6., 7., 9., 10., 11., 13. výuky | E105 | 10:00 | 12:50 | 294 | 2BIA 3BIT | 10 - 19 xx | Kolář |
St | přednáška | 2., 3., 5., 12. výuky | E104 E105 E112 | 10:00 | 12:50 | 294 | 2BIA 3BIT | 10 - 19 xx | Křivka |
Zařazení předmětu ve studijních plánech
- Program BIT, 2. ročník, povinný
- Program BIT (anglicky), 2. ročník, povinný