Detail předmětu
Principy programovacích jazyků a OOP
IPP Ak. rok 2022/2023 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ů.
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í
Stránky předmětu
Získané dovednosti, znalosti a kompetence z předmětu
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ů.
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ů.
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éž.
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í.
Technické vybavení
volně dostupné
- perl, php, python
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ů.
Kontrolovaná výuka
- 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.)
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í.
Způsob kontaktu s vyučujícím
E-mailem - jednotlivé vyučující kontaktujte jejich e-mailem uvedeným na jejích oficiální stránce. Do předmětu e-mailu jako první uveďte zkratku předmětu, tedy IPP: ... nebo [IPP] ...
Takto se lze dotazovat na spíše osobní dotazy a dohodnout konzultace. Pokud chcete věci k projektu, tak použijte fóra k projektům - informace se určitě může hodit i někomu jinému.
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ý
- Program IT-BC-3, obor BIT, 2. ročník, povinný