Arvutiteaduse instituut
  1. Kursused
  2. 2021/22 sügis
  3. Funktsionaalprogrammeerimine (LTAT.03.019)
EN
Logi sisse

Funktsionaalprogrammeerimine 2021/22 sügis

  • Üldinfo
    • Õppekorraldus
  • Loengud ja Praksid
  • Moodle
  • Fleep

Üldiselt

Funktsionaalprogrammeerimine (ehk FP) on välja kasvanud λ-arvutuse teooriast ja on oma heade omaduste tõttu leidnud tee paljudesse levinud programmeerimiskeeltesse. Kuigi funktsionaalses stiilis saab programmeerida nii Pythonis, Javas, C++-is, C#-is kui ka JavaScriptis, eelistame õppimiseks puhast funktsionaalset keelt Idris. Lisaks FP alustele õpime tüübipõhist programmeerimist, mis väidab, et tüüpe arvestades on lihtsam kirjutada korrektseid ja tõhusaid programme. Kursuse lõpus vaatame põgusalt paari tänapäevasemat FP teemat: sõltuvate tüüpide teooriat ja kvantitatiivset tüübiteooriat. Sõltuvad tüübid Idrises võimaldavad näiteks funktsioonide korrektust tõestada. Kvantitatiivses tüübiteoorias saame lisaks väljendada, mitu korda mingit väärtust kasutatakse -- võimaldades täpselt spetsifitseerida piiratud ressurssidega arvutusi, näiteks mitmelõimelist arvutamist.

Teemad nädalate kaupa

  1. Funktsionaalse programmeerimiskeele tutvustus, λ-arvutuse tutvustus
  2. Keel Idris, baasväärtused ja -operatsioonid, listid
  3. Polümorfism, kõrgemat järku funktsioonid, fold-imine
  4. Uute andmestruktuuride defineerimine, tüübiklassid (ad hoc polümorfism)
  5. Monaadid, sisend-väljund
  6. Tüüpimata λ-arvutus, reduktsioon
  7. Lihtsalt tüübitud lambda arvutus
  8. Vahekontrolltöö!
  9. Churchi tees
  10. Laisk väärtustamine ja lõpmatud struktuurid
  11. Tüübituletus
  12. Kombinaatorloogika
  13. Lineaarsete tüüpidega sisend-väljund
  14. Vektorid ja muud sõltuvad tüübid
  15. Tõestused tüübiteooria abil
  16. Kontrolltöö!
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused