Loogiline programmeerimine (2014)
Redaktsioon seisuga 20. november 2014, kell 07:47 kasutajalt Vain (arutelu | kaastöö) (→Praktikumid)
Ainekood: ITI0021
Link: http://courses.cs.ttu.ee/pages/ITI0021
Õppejõud: prof. Jüri Vain
Kontakt: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: kolmapäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu
Kursus varasematel aastatel: 2013
Teated 2014
- Loeng: Kolmapäeval kl. 14:00 - 15:30 ruumis CYB - VEENUS (õppejõud prof. Jüri Vain)
- Praktikumid:
- Neljapäeval kl. 14:15-15:45 ruumis ICT-402 (IAPB54, õppejõud Evelin Halling) ja ruumis ICT-404 (IAPB55, õppejõud Tiina Zingel)
- Neljapäeval kl. 16:00-17:30 ruumis ICT-401 (IAPB51 ja IAPB52, õppejõud prof. Jüri Vain ja Evelin Halling) ja ruumis ICT-404 (IAPB53, õppejõud Tiina Zingel)
Hindamiskriteeriumid
- Hindelise arvestuse eelduseks on praktikumitööde ja kodutöö esitamine ning koondhindeks on testide keskhinne.
- Praktikumi- ja kodutööd tuleb esitada Moodle's ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.
- Arvestusel osalemine ei ole kohustuslik nendele, kes on edukalt kaitsnud praktikumitööd ja kodutöö ning sooritanud 3 testi igaüks tulemusega 60% ja enam.
- Järeltööd testidele 1-3 toimuvad semestri viimaste loengute aegadel.
- Järeltööde sooritamise tingimused:
- Esimesel katsel tuleb teha järeltööd konkreetselt nendele testidele, mille tulemus oli alla 60%.
- Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.
- Arvestuse hinnet tõstab see, kui kodutööna valminud kabeprogramm saavutab viimase praktikumi ajal toimuval võistlusel I-III koha: I koht +3 palli; II koht +2 palli; III koht +1pall.
- Testide ja praktikumide jooksvad tulemused asuvad Moodles.
Loengud
- Loeng 1: Mis on loogiline programmeerimine?
- Loeng 2-1: Alusmõisteid loogikast I: Lausearvutus
- Loeng 2-2: Alusmõisteid loogikast II: Predikaatarvutus
- Loeng 3: Resolutsioon ja unifitseerimine
- Loeng 4:Loogilise programmeerimise keel Prolog
- Test 1 (1.10.2014): Loengute 1-4 materjalile
- Loeng 5:Loogilise programmeerimise andmestrutuurid
- Loeng 6: Hulgateooria ja algebra mõistete programmeerimine Prologis
- Loeng 7: DCG grammatika reeglid ja loomuliku keele parsimine
- Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil
- Loeng 9: Loogikate LA ja CTL interpreteerimine
- Loeng 10: Constraint Logic Programming
- Test 3 (26.11.2014): Loengute 6-9 materjal
- Järeltöö I
- Järeltöö II
Praktikumid
- Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga SWI-Prolog
- Praktikumi 1 juhend
- Näidismaterjal: Objektid ja nende omadused
- Praktikum 2: Prologi teadmusbaasi koostamine
- Praktikumi 2 juhend
- Näidismaterjal: Teadmusbaas
- Praktikum 3: Rekursiooni programmeerimine: sügavuti otsing suunatud graafil
- Praktikumi 3 juhend
- Näidismaterjal: Teadmusbaas
- Praktikum 4: Listioperatsioonide programmeerimine
- Praktikumi 4 juhend
- Näidismaterjal: Listid
- Praktikum 5: Klasside hierarhia ja pärismisreeglite programmeerimine
- Praktikumi 5 juhend
- Näidismaterjal: Klassid ja pärimine
- Praktikum 6: Hulgateooria ja algebra mõistete programmeerimine
- Praktikumi 6 juhend
- Näidismaterjal: Hulgad ja relatsioonid
- Praktikum 7: Loomuliku keele parsimine
- Praktikumi 7 juhend
- Näidismaterjal: Parseri näide
- Praktikum 8: Faktide hulgal otsingu programmeerimine
- Praktikumi 8 juhend
- Näidismaterjal: Otsing kabe näitel
- Praktikum 9: Tõeväärtuse leidmine lause- ja predikaatarvutuses
- Praktikumi 9 juhend
- Näidismaterjal: Lausearvutuse solver
- Praktikum 10: Temporaalloogika valemite interpreteerimine
- Praktikum 11. Iseseisev töö: Kabe programmeerimine (20.11.14)
- Praktikum 12: Iseseisev töö: Kabe programmeerimine (27.11.14)