TIEA341 Funktio-ohjelmointi 1 (3-5 op)

Arvosteluasteikko
Hyväksytty-hylätty
Opetuskieli/-kielet
englanti , suomi

Osaamistavoitteet

Yhden opintopisteen suoritettuaan opiskelija kykenee laatimaan yksinkertaisia toimivia Haskell-ohjelmia. Toisen opintopisteen suoritettuaan opiskelija kykenee lisäksi käyttämään algebrallisia tietotyyppejä Haskell-kielisessä ohjelmassa. Kolmannen opintopisteen suoritettuaan opiskelija hallitsee lisäksi rekursion käyttämisen ohjelmointitehtävien ratkaisemisessa ja induktion käyttämisen yksinkertaisten ohjelmien ominaisuuksien todistamisessa oikeaksi. Neljännen opintopisteen suoritettuaan opiskelija lisäksi osaa käyttää tyyppiluokkia ja funktoreita Haskell-ohjelmoinnissa. Viidennen opintopisteen suoritettuaan opiskelija lisäksi osaa käyttää fold-funktionaalia yksinkertaisissa ohjelmointitehtävissä.

Suoritustavat

Kurssi suoritetaan oppimistehtävillä.

Sisältö

Perusteet funktio-ohjelmoinnista käyttäen Haskell-kieltä.

Oppimateriaalit

Allen&Moronuki, Haskell programming from first principles

Arviointiperusteet

Kullekin opintopistemäärälle määritellään oppimistehtävät. Tietyn opintopistemäärän tekeminen vaatii kaikkien sille ja pienemmälle opintopistemäärälle määriteltyjen tehtävien tekemisen.

Esitietovaatimukset

Kurssia pyritään kehittämään täysin esitiedottomaksi, mutta nykyisellään tietokoneen ja komentorivin käyttötaidoista on etua. Myös aiempi ohjelmointikokemus on hyödyksi samoin kuin matematiikan perustaidot.