TIEA341 Functional Programming 1 (1–5 cr)

Study level:
Intermediate studies
Grading scale:
0-5
Language:
English, Finnish
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2020-2021, 2021-2022, 2022-2023, 2023-2024

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.

Study materials

Allen&Moronuki, Haskell programming from first principles

Completion methods

Method 1

Select all marked parts
Parts of the completion methods
x

Teaching (1–5 cr)

Type:
Participation in teaching
Grading scale:
0-5
Language:
English, Finnish

Teaching