Funktionaalinen ohjelmointiLaajuus (3 op)
Opintojakson tunnus: TT00AC44
Opintojakson perustiedot
- Laajuus
- 3 op
Osaamistavoitteet
Opintojakson suoritettuaan opiskelija on tutustunut funktionaalisen ohjelmoinnin perusteisiin käyttäen Haskell98-ohjelmointikieltä. Opintojaksolla esille tulevia ajatuksia voi hyvin soveltaa myös tavanomaisessa ohjelmoinnissa. Funktionaalisilla ohjelmointikielillä on usein mahdollista ratkaista ohjelmointitehtäviä perinteisiä imperatiivisia kieliä (C, C++, Java, Javascript, PHP) yksinkertaisemmin, tiiviimmin ja elegantimmin. Funktionaalisessa ohjelmoinnissa ohjelma koostetaan joukosta funktioita yhdistelemällä niitä.
Sisältö
- funktioiden määrittely, hahmontunnistus (pattern matching) ja rekursio
- tarveohjattu suoritus (lazy evaluation), listat ja äärettömät tietorakenteet
- korkeamman kertaluvun funktiot ja foldit
- I/O ja monadit
- lambda-kalkyylin alkeet
Esitietovaatimukset
- Ohjelmoinnin perusteet
- Jonkin verran ohjelmointikokemusta