Detail předmětu

Dynamické jazyky

FIT-DJAAk. rok: 2019/2020

Objektová orientace v programovacích jazycích, operačních a databázových systémech. Kořeny Smalltalku: LISP a Simula 67. Čistá objektová orientace. Jazyk Smalltalk. Vývojové prostředí a architektura systémů typu Smalltalk. Jazyk a systém Self. Principy implementace systémů typu Smalltalk a Self. Perzistence v objektově orientovaných systémech. Reflektivita, principy otevřených implementací. Programovací techniky, využivající reflektivitu.

Jazyk výuky

čeština

Počet kreditů

5

Výsledky učení předmětu

Schopnost používat čisté objektově orientované jazyky typu Smalltalk a jejich dynamické vlastnosti.
Vhled do obecných principů čisté objektové orientace a přehled o možnostech aplikací těchto pricipů v různých oblastech.

Způsob a kritéria hodnocení

Projekt.

Učební cíle

Seznámit s podstatou a možnostmi dynamických jazyků. Seznámit s kořeny čisté objektové orientace v podobě dynamického jazyka a systému Smalltalk, seznámit s architekturou dynamických objektově orientovaných systémů a s možnostmi jejich aplikací.

Doporučená literatura

Brauer, J.: Programming Smalltalk - Object-Orientation from the Beginning, Springer, 2015, ISBN 978-3-658-06823-3.
Goldberg, A., Robson, D.: Smalltalk-80: The Language, Addison Wesley, 1989, ISBN 0-201-13688-0
Guzdial, M.: Squeak, Prentice Hall, 2001, ISBN 0-13-028028-3
LaLonde, W., Pugh, J.: Inside Smalltalk, Vol. 1, Prentice Hall, 1990, ISBN: 0134684141

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

  • Program IT-MGR-2 magisterský navazující

    obor MBI , 0 ročník, letní semestr, volitelný
    obor MSK , 0 ročník, letní semestr, volitelný
    obor MMM , 0 ročník, letní semestr, povinně volitelný
    obor MBS , 0 ročník, letní semestr, povinně volitelný
    obor MPV , 0 ročník, letní semestr, volitelný
    obor MIS , 0 ročník, letní semestr, povinně volitelný
    obor MIN , 0 ročník, letní semestr, volitelný
    obor MGM , 0 ročník, letní semestr, volitelný

  • Program MITAI magisterský navazující

    specializace NBIO , 0 ročník, letní semestr, volitelný
    specializace NSEN , 0 ročník, letní semestr, volitelný
    specializace NVIZ , 0 ročník, letní semestr, volitelný
    specializace NGRI , 0 ročník, letní semestr, volitelný
    specializace NISD , 0 ročník, letní semestr, volitelný
    specializace NSEC , 0 ročník, letní semestr, volitelný
    specializace NCPS , 0 ročník, letní semestr, volitelný
    specializace NHPC , 0 ročník, letní semestr, volitelný
    specializace NNET , 0 ročník, letní semestr, volitelný
    specializace NMAL , 0 ročník, letní semestr, volitelný
    specializace NVER , 0 ročník, letní semestr, volitelný
    specializace NIDE , 0 ročník, letní semestr, volitelný
    specializace NEMB , 0 ročník, letní semestr, volitelný
    specializace NSPE , 0 ročník, letní semestr, volitelný
    specializace NADE , 0 ročník, letní semestr, volitelný
    specializace NMAT , 0 ročník, letní semestr, volitelný
    specializace NISY , 0 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

  1. Objektová orientace v programovacích jazycích, operačních a databázových systémech.
  2. Kořeny Smalltalku: LISP a Simula 67. Čistá objektová orientace.
  3. Jazyk Smalltalk - čistá objektová orientace založená na třídách.
  4. Vývojové prostředí systémů typu Smalltalk.
  5. Architektura systémů typu Smalltalk.
  6. Jazyk a systém Self - beztřídní čistá objektová orientace.
  7. Principy implementace systémů typu Smalltalk a Self.
  8. Perzistence v objektově orientovaných systémech.
  9. Reflektivita, principy otevřených implementací.
  10. Programovací techniky, využivající reflektivitu.
  11. Paralelní a distribuované programování v systémech typu Smalltalk.
  12. Objektově orientované modelování a prototypování.
  13. Ostatní dynamické jazyky. Interoperabilita.

Projekt

26 hod., povinná

Vyučující / Lektor

Osnova

  • Jednoduchá aplikace, demonstrující dynamické vlastnosti a reflektivitu v libovolném dynamickém jazyce, porovnání vlastností Smalltalku s jiným dynamickým programovacím jazykem.