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ů - NPRX014
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 2019
Semestr: zimní
E-Kredity: 3
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: zrušen
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í
Neslučitelnost : NPRG014
Záměnnost : NPRG014
Výsledky anket   Termíny zkoušek   Rozvrh   Nástěnka   
Anotace -
Poslední úprava: Mgr. Petr Jedelský (01.03.2021)
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: Mgr. Petr Jedelský (01.03.2021)

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: Mgr. Petr Jedelský (01.03.2021)

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: Mgr. Petr Jedelský (01.03.2021)

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