PředmětyPředměty(verze: 811)
Předmět, akademický rok 2017/2018
   Přihlásit přes CAS
Programovací jazyk F# - NPRG049
Anglický název: Programming language F#
Zajišťuje: Informatický ústav Univerzity Karlovy (32-IUUK)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2011
Semestr: zimní
E-Kredity: 3
Rozsah, examinace: zimní s.:0/2 Z [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: nevyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Garant: RNDr. Milan Straka, Ph.D.
Třída: Informatika Mgr. - volitelný
Kategorizace předmětu: Informatika > Programování
Anotace -
Poslední úprava: T_KAM (18.04.2010)

Základy programování v jazycích typu ML (typy, funkce, moduly, striktní a líné vyhodnocování, imperativní i funkcionální konstrukce, výjimky), rozšíření jazyka F# (přetěžování operátorů, sekvence, computation expressions, asynchronní programování) a koncepty funkcionálního programování (pattern matching, funkce jako hodnoty, abstraktní a nekonečné datové struktury, monády, continuation passing style).
Cíl předmětu -
Poslední úprava: T_KAM (18.04.2010)

Cílem semináře je seznámit studenty s klíčovými koncepty funkcionálního programování a jejich použití v jazyce F# či ostatních jazycích rodiny ML

Literatura -
Poslední úprava: T_KAM (06.05.2010)

Don Syme, Adam Granicz, Antonio Cisternino, Expert F#, ISBN 1590598504, APress 2007.

Jon Harrop, F# for Scientists, ISBN 0470242116, Wiley-Interscience 2008.

Chris Smith, Programming F#, ISBN 0596153643, O'Reilly Media 2009.

Don Syme, Adam Granicz, Antonio Cisternino, Programming F#, ISBN 1430224312, APress 2010.

Sylabus -
Poslední úprava: T_KAM (18.04.2010)

1) Základní datové typy, funkce, výrazy a pattern matching.

2) Funkcionální datové struktury - seznamy, stromy, sekvence a další.

3) Imperativní programování - odkazy a pole.

4) Vlastní datové struktury.

5) Výjimky.

6) Objekty.

7) Moduly a signatury.

8) Přetěžování operátorů.

9) Continuation passing style.

10) Sequence expressions a monády.

11) Líné vyhodnocování a nekonečné datové struktury.

12) Asynchronní programování.

13) Paralelní programování v STM monádě.

 
Univerzita Karlova | Informační systém UK