PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   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 2020
Semestr: zimní
E-Kredity: 4
Rozsah, examinace: zimní s.:0/3, Z [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: angličtina
Způsob výuky: prezenční
Způsob výuky: prezenční
Další informace: http://d3s.mff.cuni.cz/teaching/nprg014
Garant: prof. RNDr. Tomáš Bureš, Ph.D.
Třída: Informatika Mgr. - Softwarové systémy
Kategorizace předmětu: Informatika > Programování
Je neslučitelnost pro: NPRX014
Je záměnnost pro: NPRX014
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ů.
Podmínky zakončení předmětu -
Poslední úprava: prof. RNDr. Tomáš Bureš, Ph.D. (06.10.2017)

Na každém cvičení je zadán jeden domácí úkol. Zápočet je udělen za alespoň 8 správně vypracovaných a odevzdaných úkolů.

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