TIEA341 Functional Programming 1 (3–5 cr)

Study level:
Intermediate studies
Grading scale:
Pass - fail
Language:
English, Finnish
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2017-2018, 2018-2019, 2019-2020

Description

Sisältö

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

Suoritustavat

Kurssi suoritetaan oppimistehtävillä.

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.

Learning outcomes

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ä.

Description of prerequisites

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.

Study materials

Allen&Moronuki, Haskell programming from first principles

Completion methods

Method 1

Select all marked parts
Parts of the completion methods
x

Teaching (3–5 cr)

Type:
Participation in teaching
Grading scale:
Pass - fail
Language:
English, Finnish

Teaching