PředmětyPředměty(verze: 806)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Koncepty moderních programovacích jazyků - NPRG014
Anglický název: Concepts of Modern Programming Languages
Zajišťuje: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2016
Semestr: zimní
E-Kredity: 3
Rozsah, examinace: zimní s.:0/3 Z [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: angličtina
Způsob výuky: prezenční
Další informace: http://d3s.mff.cuni.cz/teaching/nprg014
Garant: doc. RNDr. Tomáš Bureš, Ph.D.
Třída: Informatika Mgr. - Softwarové systémy
Kategorizace předmětu: Informatika > Programování
Anotace -
Poslední úprava: Tajemník Katedry (12.05.2017)

Cílem předmětu je seznámit studenty se zajímavými a pokročilými koncepty objektově orientovaných jazyků a ukázat jejich typické použití spojené s praktickým procvičením. Předmět je určen především studentům, kteří již mají zkušenosti s vývojem v jazycích Java/C++/C#. Koncepty budou ilustrovány v jazycích Scala, Groovy, IO, JavaScript, TypeScript. Předchozí znalost těchto jazyků není nutná. Předmět poskytne dostatečný úvod do každého z těchto jazyků.
Literatura -
Poslední úprava: Tajemník Katedry (12.05.2017)

Dierk Koenig with Andrew Glover, Paul King, Guillaume Laforge and Jon Skeet: Groovy in Action 2nd edition, Manning Publications Co., 2016.

Martin Odersky, Lex Spoon, and Bill Venners: Programming in Scala, 3rd Edition, Artima

Sylabus -
Poslední úprava: Tajemník Katedry (12.05.2017)

Probírané koncepty:

  • jazyky s třídami (staticky typované a dynamicky typované)
  • typování, kovariance, kontravariance
  • funkcionální programování v rámci objektově orientovaných procedurálních jazyků
  • meta-programování v dynamických jazycích
  • doménově specifické jazyky
  • transformace kódu během překladu, statické meta-programování
  • konkurentní programování
  • objektové jazyky bez tříd (tzv. prototypové jazyky)

Koncepty budou názorně prezentovány na uvedených jazycích, které jsou reálně používané v praxi:

  • Groovy
  • Scala
  • TypeScript/JavaScript, Io

 
Univerzita Karlova | Informační systém UK