PB006 Principy programovacích jazyků

Fakulta informatiky
podzim 2013
Rozsah
2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
doc. Mgr. Jan Obdržálek, PhD. (přednášející)
Mgr. Bc. Tomáš Janík (cvičící)
Mgr. Jan Fikejs (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
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 8:00–9:50 D1
  • Rozvrh seminárních/paralelních skupin:
PB006/T01: St 2. 10. až Pá 20. 12. St 13:00–14:55 Učebna S9 (55), J. Fikejs, T. Janík, Nepřihlašuje se. Určeno pro studenty se zdravotním postižením.
Předpoklady
Znalost minimálně jednoho imperativního (C/C++/Java) a jednoho funkcionálního programovacího jazyka. Znalost dalších programovacích jazyků výhodou.
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
Cíle předmětu
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 porozumnět (pro něj) novému programovacícmu jazyku;
Osnova
  • Stručná historie vývoje programovacích jazyků, přehled základních paradigmat.
  • Syntax, jazyk, program. Abstraktní a konkrétní syntax.
  • Statická sémantika. Otypování, validační funkce.
  • Prostor jmen, viditelnost. Bloková a modulární struktura jazyka.
  • Typy a typové systémy. Základní typy a typové konstruktory. Polymorfní typy, parametrický a inklusní polymorfismus, přetížení, typové třídy.
  • Podtypy, dědičnost. Typy jako sorty, signatury, teorie.
  • Sémantika, model, výpočet.
  • Imperativní paradigma. Příkazy a jejich sémantika, přepisovatelné proměnné. Stav, stavové transformátory.
  • Funkcionální paradigma. Výrazy, funkce, parametry. Aplikace, abstrakce, redukční strategie.
  • Logické paradigma. Syntax a sémantika prototypového jazyka, řízení výpočtu.
  • Souběžné zpracování. Komunikace, uváznutí, přerušení, události, semafory, výlučný přístup, kritické oblasti.
  • Volání funkcí a předávání parametrů. Volání hodnotou a jménem. Volání výsledkem, hodnotou-výsledkem.
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
  • WATT, David Anthony a William FINDLAY. Programming language design concepts. Chichester: John Wiley & Sons, 2004, xviii, 473. ISBN 0470853204. 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/podzim2013/PB006/index.qwarp
Další komentáře
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 2014, podzim 2020, podzim 2021, podzim 2022, podzim 2023, podzim 2024.