Detail předmětu
Principy programovacích jazyků a OOP (v angličtině)
IPPe Ak. rok 2021/2022 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. Ú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ů progamovací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
- 20 bodů půlsemestrální test
- 20 bodů projekty
Zajišťuje ústav
Přednášející
Stránky předmětu
Privátní stránky předmětu (anglicky)
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.
Cíle předmětu
Zvládnutí: orientace v programovacích jazycích, jednotlivých programovacích paradigmat, nároků na zpracování jednotlivých typů jazyků.
Doporučené prerekvizity
Požadované prerekvizitní znalosti a dovednosti
Formální jazyky a jejich modely (regulární a bezkontextové gramatiky, konečné a zásobníkové automaty); zpracování formálních jazyků jako analýza (analyzátory) a překlad (kompilátory).
Literatura studijní
- Sebesta R.W.: Concepts of Programming Languages, 4th edition, ADDISON-WESLEY, 1999, ISBN 0-201-38596-1
- Texty přednášek v elektronické podobě
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ů
- Srovnání imperativních programovacích jazyků a paradigmat
- Ú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
Implementovat program pro jednoduchou úlohu v některém nabízeném programovacím jazyce.
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ém termínu - 20 bodů.
Kontrolovaná výuka
- Půlsemestrální zkouška - písemně, formou testu, kde odpovědi mohou být jak větné (otevřené otázky), tak volbou 1 z N, či kombinace obou, neexistuje náhradní/opravný termín. (20 bodů)
- Vypracování projektů - 1 projekt (vytvoření programu, dle zadání) s příslušnou dokumentací. (20 bodů)
- Závěrečná zkouška - písemně, formou testu, kde odpovědi mohou být jak větné, tak volbou 1 z N, či kombinace obou, 2 opravné termíny. (60 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.