Funktsionaalprogrammeerimine (kevad 2004)

Kood: ITT 9080

Punkte: 3.0

Nädalatunde: 4, sh loenguid 3, harjutusi 1

Kontrollivorm: eksam

Õppejõud: dots Tarmo Uustalu, arvutiteaduse instituut

Kontakt: firstname(at)cs.ioc.ee, 620 4250

Tunniplaan:

Aine sisu:

Moodsa funktsionaalprogrammeerimise paradigma põhialused ja programmeerimine funktsionaalkeeles Haskell, rõhuasetusega kõrgemat järku funktsioonidel, tugeval tüüpimisel, laisal väärtustamisel, konstruktorklassidel. Rakendused: programmikeelte disain ja kiire prototüüpimine, reaktiivne funktsionaalne programmeerimine (valdkonnaspetsiifiline keel Yampa).

NB: R 16.4. loengut/harjutust ei toimu!

Loengud, harjutused

Kuupäev L/H Teema Materjalid
R 2.4. L/H1 Sissejuhatus: Funktsionaalprogrammeerimine, Haskell, Haskelli iseloomulikud jooned PiH, Ch 1,2
T 6.4. L/H2 (Sisseehitatud) tüübid ja tüübiklassid PiH, Ch 3
T 13.4. L/H3 Funktsioonide defineerimise mehhanismid, list comprehensions PiH, Ch 4,5
l3.hs
T 20.4. L/H4 Rekursiivsed definitsioonid, kõrgemat järku funktsioonid PiH, Ch 6,7
l4.hs
R 23.4. L/H5 Tüüpide defineerimine  
l5.hs
T 27.4. L/H6 Monaadid ja funktsionaalsed parserid PiH, Ch 9
l6.hs
R 30.4. L/H7 Interpreteerimine (denotatsioonsemantika) Haskellis l7.hs (hugs -98)
T 4.5. L/H8 Interpreteerimine (denotatsioonsemantika) Haskellis (jätk) l8a.hs
l8b.hs
R 7.5. L/H9 Kompileerimine Haskellis l9.hs
T 11.5. L/H10 Kompileerimine Haskellis (jätk) l10.hs
R 14.5. L/H11 Nooled ja funktsionaalne reaktiivne programmeerimine  
T 18.5. L/H12 Funktsionaalne robootika  
R 21.5. L/H13 Funktsionaalne robootika (jätk)  
R 28.5. L/H14 Jalgpalli demo ja nooltest veel l14.hs

Ülesanded

Yampa installeerimine

Mõned õpikud

Veebiviiteid funktsionaalprogrammeerimise ja Haskelli kohta

Muid viiteid


Tarmo Uustalu
Viimane uuendus 28.5.2004