PB006 Principy programovacích jazyků a OOP

Fakulta informatiky
podzim 2020
Rozsah
2/0/0. 2 kr. (plus ukončení). Ukončení: zk.
Vyučující
doc. Mgr. Jan Obdržálek, PhD. (přednášející)
Garance
doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování - Fakulta informatiky
Kontaktní osoba: doc. Mgr. Jan Obdržálek, PhD.
Dodavatelské pracoviště: Katedra teorie programování - Fakulta informatiky
Předpoklady
IB111 Základy programování && PB071 Principy nízkoúr. prog. && IB015 Neimperativní programování
Předmět je určen pro studenty, kteří již mají základní znalost moderního imperativního programovacího jazyka (Python), nízkoúrovňového jazyka (C) a funkcionálního jazyka (Haskell).
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
předmět má 61 mateřských oborů, zobrazit
Cíle předmětu
Cílem kurzu je seznámit se s koncepty přítomnými v moderních programovacích jazycích. Kurz také slouží jako úvod do objektově orientovaného programování.
Výstupy z učení
Na konci tohoto kurzu bude student schopen:
zvolit programovací jazyk (popř. programovací paradigma) vhodný pro řešení daného problému;
analyzovat silné i slabé stránky daného programovacího jazyka;
rychle do hloubky porozumět (pro něj) novému programovacímu jazyku;
rozumět principům objektově orientovaného programování.
Osnova
  • Jména, vazby, rozsahy platnosti. Bloková struktura. Paměťová reprezentace objektů.
  • Primitivní a složené datové typy. Typová kontrola. Seznamy. Ukazatele a odkazy. Odvozování typů.
  • Tok řízení: výrazy, příkazy, řídící struktury.
  • Podprogramy: lokální definice, metody předávání parametrů, přetížené a generické funkce. Koprogramy.
  • Abstraktní datové typy: základní koncepty, zapouzdření. Parametrizované ADT, generika. Prostory jmen.
  • Objektově orientované programování: principy OOP, dědičnost, dynamická vazba.
  • Výjimky: základní koncepty, příkladové studie, výjimky ve funkcionálních jazycích. Obsluha událostí.
Literatura
    doporučená literatura
  • SEBESTA, Robert W. Concepts of Programming Languages. 10th Edition. : Addison-Wesley, 2012. 816 s. ISBN 978-0-13-139531-2. info
  • Programming language pragmatics. Edited by Michael Lee Scott. 2nd ed. Oxford: Elsevier Science [distributor], 2006. xxxi, 875. ISBN 9780126339512. info
Výukové metody
Kurs probíhá formou přednášek.
Metody hodnocení
Kurs je ukončen písemnou zkouškou na konci semestru.
Informace učitele
https://is.muni.cz/el/1433/podzim2020/PB006/index.qwarp
Další komentáře
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
Nachází se v prerekvizitách jiných předmětů
Předmět je zařazen také v obdobích podzim 2002, podzim 2003, podzim 2004, podzim 2005, podzim 2006, podzim 2007, podzim 2008, podzim 2009, podzim 2010, podzim 2011, podzim 2012, podzim 2013, podzim 2014.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/podzim2020/PB006