TIEA341 Functional Programming 1 (1–5 cr)
Description
Sisältö
Perusteet funktio-ohjelmoinnista.
Suoritustavat
Kurssi suoritetaan osallistumalla aktiivisesti kurssin oppimistilaisuuksiin, toteutuskerrasta riippuen joko etänä tai luokkahuoneessa. Suoritukseen kuuluu myös tentti ja/tai välikokeet.
Arviointiperusteet
Kurssin arvosana määräytyy sekä mahdollisen tentin, välikokeiden, että luennoilla osallistumisen perusteella. Kurssin laajuuden voi valita väliltä 1-5op.
Learning outcomes
1op - Ymmärtää vähintään karkealla tasolla ero funktio-ohjelmoinnin ja olio- tai imperatiivisen ohjelmoinnin välillä. Osaa tehdä yksinkertaisia ohjelmia funktio-ohjelmointia hyödyntäen.
2op - Ymmärtää perustasolla Hindley-Damas-Milner tyylisen tyyppijärjestelmän toiminnan ja kykenee ratkomaan yksinkertaisia ohjelointiongelmia käyttäen rekursiota ja muita yksinkertaisia funktio-ohjelmointitekniikoita.
3op - Osaa ratkoa ohjelmointiongelmia käyttäen korkeamman kertaluokan funktioita. Osaa soveltaa sekä formaalia päättelyä, että tyyppijärjestelmää ohjelman oikeellisuuden varmistamiseen.
4op - Hallitsee suurempien ohjelmakokonaisuuksien tuottamisen funktio-ohjelmoinnin keinoin. Osaa hyödyntää tyyppijärjestelmää ohjelman toiminnallisuuden tuottamiseen.
5op - Osaa aiemmin mainitut sujuvasti.
Description of prerequisites
Ainoa ehdoton vaatimus kurssilla on sujuva tietokoneen käyttötaito. Pystyt käyttämään komentoriviä, versionhallintaa ja tekemään alkeellisia järjestelmänhallintatoimia.