PB006 Principy programovacích jazyků a OOP

Fakulta informatiky
podzim 2021
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í)
Mgr. Anna Řechtáčková (pomocník)
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
Rozvrh
Út 14. 9. až Út 7. 12. Út 8:00–9:50 D2, Út 8:00–9:50 D1
Předpoklady
( IB111 Základy programování || IB002 Algoritmy a datové struktury ) && PB071 Principy nízkoúr. prog.
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
Studijní materiály
Předmět je vyučován každoročně.
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, podzim 2020, podzim 2022, podzim 2023, podzim 2024.