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