Detail předmětu

Principy programovacích jazyků a OOP

FIT-IPPeAk. rok: 2017/2018

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

Jazyk výuky

angličtina

Počet kreditů

5

Nabízen zahraničním studentům

Všech fakult

Výsledky učení 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.

Prerekvizity

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

Způsob a kritéria hodnocení

Student musí během semestru získat alespoň 50% bodů z možného maxima, tj. 20 bodů ze 40.

Osnovy výuky

    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 oběktově orientovaných jazyků
    • Srovnání imperativních programovacích jayzků 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.

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

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 mohou být jak větné, 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ů)

Prerekvizity a korekvizity

Základní literatura

Sebesta R.W.: Concepts of Programming Languages, 4th edition, ADDISON-WESLEY, 1999, ISBN 0-201-38596-1

Doporučená literatura

Lecture notes in PDF file (EN)

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

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

    obor 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 oběktově orientovaných jazyků
  • Srovnání imperativních programovacích jayzků 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., nepovinná

Vyučující / Lektor