Funktsionaalprogrammeerimise meetodid (2005)
ehk programmeerimine (2025)
Üldinfo
- Kursuse kodulehekülg
- Härmel Nestra lehekülg selle kursuse kohta
- Praktikumi ajad
- Teisipäeval, kell 12:15
- Reedel, kell 10:15
- Praktilise töö hindamine
- Eksami osa lõpphindest on 60%.
- Projektitöö moodustab 30%.
- Kodutöö eest saab veel 10%.
- Praktikumist aktiivne osavõtt võib tõsta lõpphinde ühe võrra.
- Praktikumide eesmärgid (praktikumide edukal läbimisel tudeng ...)
- oskab redigeerida, kompileerida ja käivitada programme Unix'i laadsetes keskkondades.
- on rekursiooni intiimne sõber ja ei karda enam seda kasutada.
- oskab programmeerida kõrgemat järku funktsioonidega.
- teab mille poolest funktsionaalne paradigma erineb imperatiivsest.
- saab aru reduktsioonist ning oskab väärtustada Haskelli avaldisi paberil.
Praktikumid
- Tere Haskell! ... ja milleks?
- Sõber rekursioon täisarvude maal
- Sõber rekursioon listide maal
- Operatsioon: Listid
- Kombinatoorsed funktsioonid listidel
- Kuidas programmeerida
- Kodutöö
- Veel kodutööst
- Proovieksami ülesanded
- Veel listirekursioonist
- Varmo viimaed praktikumiülesanded
Muud soovitused
Kallis tudeng! Soovitan usinalt õppida Haskellit.
Sa elad
lamedas maailmas,
kus jäävad ellu need, kes on suutelised omandama uusi tehnoloogiaid.
Tasub lugeda:
- Yet Another Haskell Tutorial.
Kõige uuem ja tõenäoliselt ka kõige parem haskelli tutorial. - Haskell programmerija areng.
Akadeemiline huumor... tegelikult on see üsna hariv ja ma soovitaks sealt vaadata meie lektori arengutaset. Kohustuslik lugemine faktoriaali fännidele meie seas. - The Wizard Book
Structure and Interpretation of Computer Programs on maailma parim programmeerimise õpik, mida kasutavad Ameerika juhtivad kõrgkoolid. Raamatu autorite legendaarsed videoloengud kuuluvad informaatika kullafondi. Programmeerimiskeeleks on Scheme (Lispi variatsioon), kuid õpetatakse programmeerimist kui sellist (sõltumata keelest).- MIT programmeerimise algkursus koodiga 6.001!
- UC Berkeley samasugune kursus.
- CalTechi esimene arvutiteaduse kursus CS1.