456-0026/01 – Introduction to Programming Languages (UDPJ)
Gurantor department | Department of Computer Science | Credits | 4 |
Subject guarantor | doc. Ing. Miroslav Beneš, Ph.D. | Subject version guarantor | doc. Ing. Miroslav Beneš, Ph.D. |
Study level | undergraduate or graduate | Requirement | Choice-compulsory |
Year | | Semester | summer |
| | Study language | Czech |
Year of introduction | 1992/1993 | Year of cancellation | 2002/2003 |
Intended for the faculties | FEI | Intended for study types | Master |
Subject aims expressed by acquired skills and competences
Teaching methods
Summary
The course introduces current programming paradigms. Various programming languages are compared to understand general principles. Functional programming concepts, languages, and techniques are thoroughly examined and used to solve practical projects.
Compulsory literature:
Recommended literature:
Way of continuous check of knowledge in the course of semester
Podmínky udělení zápočtu:
Pro získání zápočtu je třeba dosáhnout alespoň 26 bodů za projekty a půlsemestrální písemnou práci.
E-learning
Other requirements
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
Přednášky:
Význam programovacích jazyků. Klasifikace programovacích jazyků, funkcionální programovací jazyky, základní principy.
Lambda kalkul, syntaxe, sémantika, funkcionální reprezentace datových typů
Hodnoty, funkce, funkce vyššího řádu, seznamy, rekurze.
Techniky funkcionálního programování - abstraktní datové typy, algoritmy.
Aplikace funkcionálních jazyků - denotační sémantika, algebraické struktury, analýza textu, relační algebra
Vývoj programovacích jazyků.
Požadavky na programovací jazyk, syntax, sémantika. Překladače a interprety.
Základní pojmy - abstrakce dat, řídicí abstrakce, vazba, proměnná, viditelnost, rozsah platnosti.
Vestavěné typy, agregované typy, uživatelem definované typy, konverze, typová kontrola, přetěžování, abstraktní datové typy.
Sekvence, výběr, opakování, uživatelem definované řídicí struktury, zpracování výjimek, konstrukce pro souběžné zpracování, synchronizační prostředky.
Struktura programu, procedury, funkce, bloky, aktivační záznamy, předávání parametrů, koprogramy.
Moduly, závislosti mezi moduly, třídy, dědičnost, pozdní vazba, distribuované zpracování, systémové nástroje pro vývoj programů.
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction
Předmět neobsahuje žádné hodnocení.