Detail předmětu
Principy programovacích jazyků a OOP
FIT-IPPAk. rok: 2018/2019
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ů.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
Užití vybraných návrhových vzorů.
Prerekvizity
Způsob a kritéria hodnocení
- 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ů.
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í.
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
- 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.)
Prerekvizity a korekvizity
- povinná prerekvizita
Algoritmy - doporučená prerekvizita
Formální jazyky a překladače
Doporučená literatura
Kolář, D.: Principy programovacích jazyků a objektově orientovaného programování - III, studijní opora pro kombinované studium, modul IPP III, 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
Lecture notes in PDF file (EN)
Lee, D.K.: Foundations of Programming Languages, Second Edition, Springer, 2017
MacLennan, B.J.: Principles of Programming Languages: Design, Evaluation, and Implementation (3rd Edition). Oxford University Press, 1999
Sebesta R.W.: Concepts of Programming Languages, 4th edition, ADDISON-WESLEY, 1999, ISBN 0-201-38596-1
Texty přednášek v elektronické podobě (CS)
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
- Ú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ů
Projekt
Vyučující / Lektor
Osnova