Detail předmětu

Principy programovacích jazyků a OOP (v angličtině)

FIT-IPPeAk. rok: 2024/2025

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ů.

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 další výstupní znalostí.

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.

Jazyk výuky

angličtina

Počet kreditů

5

Nabízen zahraničním studentům

Všech fakult

Vstupní znalosti

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); základní programátorské schopnosti.

Pravidla hodnocení a ukončení předmětu

  • 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ů.

  • 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ů)

Učební cíle

Zvládnutí: orientace v programovacích jazycích, jednotlivých programovacích paradigmat, nároků na 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.

Prerekvizity a korekvizity

Doporučená literatura

Lecture notes in PDF file (EN)
Texty přednášek v elektronické podobě (CS)

Zařazení předmětu ve studijních plánech

  • Program IT-BC-1H bakalářský

    specializace BCH , 0 ročník, letní semestr, doporučený kurs

Typ (způsob) výuky

 

Přednáška

39 hod., nepovinná

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ů
  • 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ů

Projekt

13 hod., povinná

Vyučující / Lektor

Osnova

Implementovat program pro jednoduchou úlohu v některém nabízeném programovacím jazyce.