Erinevus lehekülje "Loogiline programmeerimine (2017)" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
(Evelin teisaldas lehekülje Loogiline programmeerimine pealkirja Loogiline programmeerimine (2015) alla)
 
1. rida: 1. rida:
#suuna [[Loogiline programmeerimine (2015)]]
+
<!-- #suuna [[Loogiline programmeerimine (2015)]] -->
 +
 
 +
'''Ainekood''': ITI0021<br>
 +
'''Link''': http://courses.cs.ttu.ee/pages/ITI0021<br>
 +
 
 +
'''Õppejõud''': prof. Jüri Vain<br>
 +
'''Kontakt''': juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu<br>
 +
 
 +
 
 +
<!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]<br> -->
 +
 
 +
Kursus varasematel aastatel: [[Loogiline programmeerimine (2015)| Sügis 2015]]
 +
 
 +
==Sügis 2016==
 +
 
 +
* Loeng: Nejapäeval kl. 10:00 - 11:30 ruumis CYB - VEENUS (õppejõud prof. Jüri Vain)
 +
* Praktikumid:
 +
** IAPB51, IAPB52: Neljapäeval kl. 12:40-14:10 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
 +
** IAPB53: Neljapäeval kl. 14:15-15:45 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
 +
<!--
 +
* '''Praktimumi- ja programmeerimistööde järelkaitsmine'''
 +
** '''21.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411'''
 +
-->
 +
<!--
 +
* '''Järeltööd'''
 +
** '''07.01.2016, kell 14.00 Akadeemia tee 15A ruumis ICT-A1'''
 +
** '''14.01.2016, kell 14.00 Akadeemia tee 15A ruumis ICT-A1'''
 +
-->
 +
<!--
 +
* '''Eksam'''
 +
** '''07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411'''
 +
** '''14.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411 (NB! vastu tulles paljudele soovidele on viimase eksami aeg nihutatud 14-ndalt 21-le jaanuarile)'''
 +
* '''Programmeerimistööde kaitsmine'''
 +
** '''07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403'''
 +
** '''21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403'''
 +
-->
 +
 
 +
==Hindamiskriteeriumid==
 +
 
 +
* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi), testide (10 testi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.
 +
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.
 +
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)
 +
* Loengu kontrollküsimused (Moodle test): 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p) -> NB! Ei lähe arvesse veel 2015 sügissemestril.
 +
* Kodutöö - Kabe programmi programmeerimine - 10 p
 +
** Võimalikud boonuspunktid
 +
* Kontrolltööd (3 tk - kokku 70 p)
 +
** Kontrolltöö 1 - põhimõisted 20 p
 +
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p
 +
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p
 +
 
 +
<!--
 +
* Arvestusel osalemine ei ole kohustuslik nendele, kes on edukalt kaitsnud praktikumitööd ja kodutöö ning sooritanud 3 testi igaüks tulemusega 60 p ja enam.
 +
-->
 +
* Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel.
 +
* Järeltööde sooritamise tingimused:
 +
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
 +
** 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 punkti; II koht +2 punkti; III koht +1 punkt.
 +
 
 +
* '''Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)'''
 +
 
 +
==Loengud==
 +
* [[Media:ITI0021_Loeng 1_2015.pdf|Loeng 1]]: Mis on loogiline programmeerimine?
 +
* [[Media:Loeng_4.pdf|Loeng 2]]:Loogilise programmeerimise keel Prolog
 +
* [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 3.1]]: Loogika alusmõisted: lauseloogika
 +
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 3.2]]: Loogika alusmõisted: predikaatloogika
 +
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine
 +
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Otsingu juhtimine ja listid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)
 +
* '''Kontrolltöö 1 (13.10.2016):''' Loengute 1-5 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel, lihtsamate päringute ja rekursiivsete reeglite koostamine.
 +
* [[Media:ITI0021_Loeng_5_2015.pdf|Loeng 6]]: Teadmiste esitamise andmestruktuurid
 +
* [[Media:ITI0021_Lecture_6_2015.pdf|Loeng 7]]: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [http://www.learnprolognow.org/slides/official/LPNchapter7.pdf] ja[http://www.learnprolognow.org/slides/official/LPNchapter8.pdf]
 +
* '''Kontrolltöö 2 (3.11.2016):''' Loengute 5 ja 6 materjalile: Listid, rekursiivsed reeglid listidel
 +
* [[Media:ITI0021_Lecture_10_2015.pdf|Loeng 8]]: Mängu ja otsingustrateegiate programmeerimine
 +
* [[Media:ITI0021_Loeng_11_2015.pdf|Loeng 9]]: Hulgateooria ja algebra mõistete programmeerimine
 +
* [[Media:ITI0021_Loeng_12_l2015.pdf|Loeng 10]]: Loogika valemite interpreteerimine
 +
* '''Kontrolltöö 3 (1.12.2016):''' Loengute 7-10 materjalile
 +
** Temporaalloogika (CTL) valemite interpreteerimine
 +
** Algebra ja hulgateooria mõisted
 +
** DCG grammatikareeglid, reeglite Prologi sisekuju
 +
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum 9 juhendit).
 +
* (....12.2016) '''Kontrolltööde 1 ja 2 järeltööd'''
 +
* (....12.2016) '''Kontrolltöö 3 järeltöö'''
 +
 
 +
<!--
 +
*
 +
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid
 +
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis
 +
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil
 +
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine
 +
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming
 +
* Test 3 (26.11.2014): Loengute 6-9 materjal
 +
* Järeltöö I (03.12.2014)
 +
* Järeltöö II (10.12.2014)
 +
-->
 +
 
 +
<!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted
 +
* Loogilise programmeerimise andmestruktuurid
 +
* Hulgateooria ja algebra mõistete programmeerimine Prologis
 +
* DCG grammatika reeglid ja loomuliku keele parsimine
 +
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)
 +
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil
 +
* Predikaat- ja temporaalloogika valemite interpreteerimine
 +
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega
 +
* Kitsendustega loogiline programmeerimine
 +
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal
 +
* Loeng 15: Testide 1 ja 2 järeltööd
 +
* Loeng 16: Koondjäreltöö * -->
 +
 
 +
==Praktikumid==
 +
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].
 +
 
 +
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].
 +
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]
 +
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]
 +
 
 +
GIT URI: https://teie-ttu-uni-id-kasutajanimi@git.ttu.ee/ained/iti0021/teie-ttu-uni-id-kasutajanimi.git (NB! see link brauseris ei tööta!). NB! Uni-ID kasutajanimes peavad olema '''KÕIK VÄIKESED TÄHED!'''
 +
 
 +
[[ITI0011:git|Giti juhend Eclipse'is kasutamiseks]]
 +
 
 +
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git'i vastavasse kausta (PR0x, kus x on praktikumi number [1, 2, 3, 4]). Kaustas peab olema fail nimega prax0x.pl (kus x on praktikumi number [1, 2, 3, 4]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.
 +
 
 +
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]
 +
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]]
 +
 
 +
* Praktikum 2: Prologi teadmusbaasi koostamine
 +
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi 2 juhend]]
 +
 
 +
* Praktikum 3: Rekursioon
 +
** [[Media:ITI0021_Praktikum_3_juhend_2015.pdf|Praktikumi 3 juhend]]
 +
 
 +
* Praktikum 4: Rekursioon
 +
** [[Media:ITI0021_Praktikum_4_juhend_2015.pdf|Praktikumi 4 juhend]]
 +
 
 +
* Praktikum 5: Listid
 +
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]
 +
 
 +
* Praktikum 6: Hulgateoreetilised tehted
 +
** [[Media:ITI0021_Praktikum_6_juhend_2015.pdf|Praktikumi 6 juhend]]
 +
 
 +
* Praktikum 7: Semantilised võrgud ja freimid
 +
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]
 +
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]
 +
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine
 +
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]
 +
* Praktikum 9: Faktide hulgal otsingu programmeerimine
 +
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]
 +
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]
 +
* Praktikum 10: Tammi programmeerimine
 +
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi.
 +
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
 +
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]]
 +
* Praktikum 11: Tammi programmeerimine
 +
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.
 +
* Praktikum 12: CTL valemite interpreteerimine
 +
** [[Media: Praktikum_12_juhend_2015.pdf |"Eventuality" valemid ja Kripke struktuur]] .
 +
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
 +
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
 +
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid
 +
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas
 +
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus
 +
 
 +
 
 +
<!--
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea'''Ainekood''': ITI0021<br>
 +
'''Link''': http://courses.cs.ttu.ee/pages/ITI0021<br>
 +
 
 +
'''Õppejõud''': prof. Jüri Vain<br>
 +
'''Kontakt''': juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu<br>
 +
 
 +
 
 +
<!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]<br> -->
 +
 
 +
 
 +
==Sügis 2016==
 +
 
 +
* Loeng: Nejapäeval kl. 10:00 - 11:30 ruumis CYB - VEENUS (õppejõud prof. Jüri Vain)
 +
* Praktikumid:
 +
** IAPB51, IAPB52: Neljapäeval kl. 12:40-14:10 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
 +
** IAPB53: Neljapäeval kl. 14:15-15:45 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
 +
<!--
 +
* '''Praktimumi- ja programmeerimistööde järelkaitsmine'''
 +
** '''21.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411'''
 +
-->
 +
<!--
 +
* '''Järeltööd'''
 +
** '''07.01.2016, kell 14.00 Akadeemia tee 15A ruumis ICT-A1'''
 +
** '''14.01.2016, kell 14.00 Akadeemia tee 15A ruumis ICT-A1'''
 +
-->
 +
<!--
 +
* '''Eksam'''
 +
** '''07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411'''
 +
** '''14.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411 (NB! vastu tulles paljudele soovidele on viimase eksami aeg nihutatud 14-ndalt 21-le jaanuarile)'''
 +
* '''Programmeerimistööde kaitsmine'''
 +
** '''07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403'''
 +
** '''21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403'''
 +
-->
 +
 
 +
==Hindamiskriteeriumid==
 +
 
 +
* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi), testide (10 testi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.
 +
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.
 +
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)
 +
* Loengu kontrollküsimused (Moodle test): 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p) -> NB! Ei lähe arvesse veel 2015 sügissemestril.
 +
* Kodutöö - Kabe programmi programmeerimine - 10 p
 +
** Võimalikud boonuspunktid
 +
* Kontrolltööd (3 tk - kokku 70 p)
 +
** Kontrolltöö 1 - põhimõisted 20 p
 +
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p
 +
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p
 +
 
 +
<!--
 +
* Arvestusel osalemine ei ole kohustuslik nendele, kes on edukalt kaitsnud praktikumitööd ja kodutöö ning sooritanud 3 testi igaüks tulemusega 60 p ja enam.
 +
-->
 +
* Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel.
 +
* Järeltööde sooritamise tingimused:
 +
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
 +
** 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 punkti; II koht +2 punkti; III koht +1 punkt.
 +
 
 +
* '''Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)'''
 +
 
 +
==Loengud==
 +
* [[Media:ITI0021_Loeng 1_2015.pdf|Loeng 1]]: Mis on loogiline programmeerimine?
 +
* [[Media:Loeng_4.pdf|Loeng 2]]:Loogilise programmeerimise keel Prolog
 +
* [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 3.1]]: Loogika alusmõisted: lauseloogika
 +
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 3.2]]: Loogika alusmõisted: predikaatloogika
 +
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine
 +
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Otsingu juhtimine ja listid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)
 +
* '''Kontrolltöö 1 (13.10.2016):''' Loengute 1-5 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel, lihtsamate päringute ja rekursiivsete reeglite koostamine.
 +
* [[Media:ITI0021_Loeng_5_2015.pdf|Loeng 6]]: Teadmiste esitamise andmestruktuurid
 +
* [[Media:ITI0021_Lecture_6_2015.pdf|Loeng 7]]: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [http://www.learnprolognow.org/slides/official/LPNchapter7.pdf] ja[http://www.learnprolognow.org/slides/official/LPNchapter8.pdf]
 +
* '''Kontrolltöö 2 (3.11.2016):''' Loengute 5 ja 6 materjalile: Listid, rekursiivsed reeglid listidel
 +
* [[Media:ITI0021_Lecture_10_2015.pdf|Loeng 8]]: Mängu ja otsingustrateegiate programmeerimine
 +
* [[Media:ITI0021_Loeng_11_2015.pdf|Loeng 9]]: Hulgateooria ja algebra mõistete programmeerimine
 +
* [[Media:ITI0021_Loeng_12_l2015.pdf|Loeng 10]]: Loogika valemite interpreteerimine
 +
* '''Kontrolltöö 3 (1.12.2016):''' Loengute 7-10 materjalile
 +
** Temporaalloogika (CTL) valemite interpreteerimine
 +
** Algebra ja hulgateooria mõisted
 +
** DCG grammatikareeglid, reeglite Prologi sisekuju
 +
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum 9 juhendit).
 +
* (....12.2016) '''Kontrolltööde 1 ja 2 järeltööd'''
 +
* (....12.2016) '''Kontrolltöö 3 järeltöö'''
 +
 
 +
<!--
 +
*
 +
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid
 +
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis
 +
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil
 +
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine
 +
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming
 +
* Test 3 (26.11.2014): Loengute 6-9 materjal
 +
* Järeltöö I (03.12.2014)
 +
* Järeltöö II (10.12.2014)
 +
-->
 +
 
 +
<!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted
 +
* Loogilise programmeerimise andmestruktuurid
 +
* Hulgateooria ja algebra mõistete programmeerimine Prologis
 +
* DCG grammatika reeglid ja loomuliku keele parsimine
 +
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)
 +
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil
 +
* Predikaat- ja temporaalloogika valemite interpreteerimine
 +
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega
 +
* Kitsendustega loogiline programmeerimine
 +
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal
 +
* Loeng 15: Testide 1 ja 2 järeltööd
 +
* Loeng 16: Koondjäreltöö * -->
 +
 
 +
==Praktikumid==
 +
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].
 +
 
 +
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].
 +
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]
 +
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]
 +
 
 +
GIT URI: https://teie-ttu-uni-id-kasutajanimi@git.ttu.ee/ained/iti0021/teie-ttu-uni-id-kasutajanimi.git (NB! see link brauseris ei tööta!). NB! Uni-ID kasutajanimes peavad olema '''KÕIK VÄIKESED TÄHED!'''
 +
 
 +
[[ITI0011:git|Giti juhend Eclipse'is kasutamiseks]]
 +
 
 +
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git'i vastavasse kausta (PR0x, kus x on praktikumi number [1, 2, 3, 4]). Kaustas peab olema fail nimega prax0x.pl (kus x on praktikumi number [1, 2, 3, 4]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.
 +
 
 +
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]
 +
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]]
 +
 
 +
* Praktikum 2: Prologi teadmusbaasi koostamine
 +
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi 2 juhend]]
 +
 
 +
* Praktikum 3: Rekursioon
 +
** [[Media:ITI0021_Praktikum_3_juhend_2015.pdf|Praktikumi 3 juhend]]
 +
 
 +
* Praktikum 4: Rekursioon
 +
** [[Media:ITI0021_Praktikum_4_juhend_2015.pdf|Praktikumi 4 juhend]]
 +
 
 +
* Praktikum 5: Listid
 +
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]
 +
 
 +
* Praktikum 6: Hulgateoreetilised tehted
 +
** [[Media:ITI0021_Praktikum_6_juhend_2015.pdf|Praktikumi 6 juhend]]
 +
 
 +
* Praktikum 7: Semantilised võrgud ja freimid
 +
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]
 +
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]
 +
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine
 +
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]
 +
* Praktikum 9: Faktide hulgal otsingu programmeerimine
 +
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]
 +
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]
 +
* Praktikum 10: Tammi programmeerimine
 +
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi.
 +
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
 +
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]]
 +
* Praktikum 11: Tammi programmeerimine
 +
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.
 +
* Praktikum 12: CTL valemite interpreteerimine
 +
** [[Media: Praktikum_12_juhend_2015.pdf |"Eventuality" valemid ja Kripke struktuur]] .
 +
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
 +
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
 +
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid
 +
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas
 +
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus
 +
 
 +
 
 +
<!--
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Teadmusbaas]]
 +
* Praktikum 3: Rekursiooni programmeerimine: sügavuti otsing suunatud graafil
 +
** [[Media:ITI0021_Praktikum_3_juhend.pdf|Praktikumi 3 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_3_Marsruutide_leidmine.pl|Teadmusbaas]]
 +
* Praktikum 4: Listioperatsioonide programmeerimine
 +
** [[Media:ITI0021_Praktikum_4_juhend.pdf|Praktikumi 4 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_4_Listid.pl|Listid]]
 +
* Praktikum 5: Klasside hierarhia ja pärismisreeglite programmeerimine
 +
** [[Media:ITI0021_Praktikum_5_juhend.pdf|Praktikumi 5 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_5_Klassid.pl|Klassid ja pärimine]]
 +
* Praktikum 6: Hulgateooria ja algebra mõistete programmeerimine
 +
** [[Media:ITI0021_Praktikum_6_juhend.pdf|Praktikumi 6 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_6.pl|Hulgad ja relatsioonid]]
 +
* Praktikum 7: Loomuliku keele parsimine
 +
** [[Media:ITI0021_Praktikum_7_juhend.pdf|Praktikumi 7 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_7.pl|Parseri näide]]
 +
* Praktikum 8: Faktide hulgal otsingu programmeerimine
 +
** [[Media:ITI0021_Praktikum_8_juhend.pdf|Praktikumi 8 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_8_kabe.pl|Otsing kabe näitel]]
 +
* Praktikum 9: Tõeväärtuse leidmine lause- ja predikaatarvutuses
 +
** [[Media:ITI0021_Praktikum_9_juhend.pdf|Praktikumi 9 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_LA_solverN.pl|Lausearvutuse solver]]
 +
* Praktikum 10: Temporaalloogika valemite interpreteerimine
 +
** [[Media:ITI0021_Praktikum_10_juhend.pdf|Praktikumi 10 juhend]]
 +
 
 +
-->
 +
 
 +
==Kodutöö 2015==
 +
* Kodutööks on kabeprogrammi programmeerimine Prologis
 +
* Kabe
 +
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]]
 +
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]
 +
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]
 +
 
 +
** Programm Arbiiter juhib mängu.
 +
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]
 +
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]
 +
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]
 +
 
 +
<!--
 +
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]<br>
 +
'''Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)'''
 +
-->
 +
 
 +
==Lisamaterjalid==
 +
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]
 +
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]
 +
dmusbaas]]
 +
* Praktikum 3: Rekursiooni programmeerimine: sügavuti otsing suunatud graafil
 +
** [[Media:ITI0021_Praktikum_3_juhend.pdf|Praktikumi 3 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_3_Marsruutide_leidmine.pl|Teadmusbaas]]
 +
* Praktikum 4: Listioperatsioonide programmeerimine
 +
** [[Media:ITI0021_Praktikum_4_juhend.pdf|Praktikumi 4 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_4_Listid.pl|Listid]]
 +
* Praktikum 5: Klasside hierarhia ja pärismisreeglite programmeerimine
 +
** [[Media:ITI0021_Praktikum_5_juhend.pdf|Praktikumi 5 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_5_Klassid.pl|Klassid ja pärimine]]
 +
* Praktikum 6: Hulgateooria ja algebra mõistete programmeerimine
 +
** [[Media:ITI0021_Praktikum_6_juhend.pdf|Praktikumi 6 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_6.pl|Hulgad ja relatsioonid]]
 +
* Praktikum 7: Loomuliku keele parsimine
 +
** [[Media:ITI0021_Praktikum_7_juhend.pdf|Praktikumi 7 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_7.pl|Parseri näide]]
 +
* Praktikum 8: Faktide hulgal otsingu programmeerimine
 +
** [[Media:ITI0021_Praktikum_8_juhend.pdf|Praktikumi 8 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_8_kabe.pl|Otsing kabe näitel]]
 +
* Praktikum 9: Tõeväärtuse leidmine lause- ja predikaatarvutuses
 +
** [[Media:ITI0021_Praktikum_9_juhend.pdf|Praktikumi 9 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_LA_solverN.pl|Lausearvutuse solver]]
 +
* Praktikum 10: Temporaalloogika valemite interpreteerimine
 +
** [[Media:ITI0021_Praktikum_10_juhend.pdf|Praktikumi 10 juhend]]
 +
 
 +
-->
 +
 
 +
==Kodutöö 2015==
 +
* Kodutööks on kabeprogrammi programmeerimine Prologis
 +
* Kabe
 +
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]]
 +
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]
 +
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]
 +
 
 +
** Programm Arbiiter juhib mängu.
 +
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]
 +
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]
 +
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]
 +
 
 +
<!--
 +
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]<br>
 +
'''Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)'''
 +
-->
 +
 
 +
==Lisamaterjalid==
 +
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]
 +
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]

Redaktsioon: 8. september 2016, kell 08:52


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: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu


Kursus varasematel aastatel: Sügis 2015

Sügis 2016

  • Loeng: Nejapäeval kl. 10:00 - 11:30 ruumis CYB - VEENUS (õppejõud prof. Jüri Vain)
  • Praktikumid:
    • IAPB51, IAPB52: Neljapäeval kl. 12:40-14:10 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
    • IAPB53: Neljapäeval kl. 14:15-15:45 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)

Hindamiskriteeriumid

  • Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi), testide (10 testi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.
  • Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.
  • Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)
  • Loengu kontrollküsimused (Moodle test): 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p) -> NB! Ei lähe arvesse veel 2015 sügissemestril.
  • Kodutöö - Kabe programmi programmeerimine - 10 p
    • Võimalikud boonuspunktid
  • Kontrolltööd (3 tk - kokku 70 p)
    • Kontrolltöö 1 - põhimõisted 20 p
    • Kontrolltöö 2 - rekursiooni programmeerimine 30 p
    • Kontrolltöö 3 - teadmiste esitamine Prologis 20 p
  • Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel.
  • Järeltööde sooritamise tingimused:
    • Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
    • 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 punkti; II koht +2 punkti; III koht +1 punkt.
  • Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)

Loengud

  • Loeng 1: Mis on loogiline programmeerimine?
  • Loeng 2:Loogilise programmeerimise keel Prolog
  • Loeng 3.1: Loogika alusmõisted: lauseloogika
  • Loeng 3.2: Loogika alusmõisted: predikaatloogika
  • Loeng 4: Resolutsioon ja unifitseerimine
  • Loeng 5: Otsingu juhtimine ja listid (lisamaterjal [1] vt Chapter 10)
  • Kontrolltöö 1 (13.10.2016): Loengute 1-5 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel, lihtsamate päringute ja rekursiivsete reeglite koostamine.
  • Loeng 6: Teadmiste esitamise andmestruktuurid
  • Loeng 7: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [2] ja[3]
  • Kontrolltöö 2 (3.11.2016): Loengute 5 ja 6 materjalile: Listid, rekursiivsed reeglid listidel
  • Loeng 8: Mängu ja otsingustrateegiate programmeerimine
  • Loeng 9: Hulgateooria ja algebra mõistete programmeerimine
  • Loeng 10: Loogika valemite interpreteerimine
  • Kontrolltöö 3 (1.12.2016): Loengute 7-10 materjalile
    • Temporaalloogika (CTL) valemite interpreteerimine
    • Algebra ja hulgateooria mõisted
    • DCG grammatikareeglid, reeglite Prologi sisekuju
    • Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum 9 juhendit).
  • (....12.2016) Kontrolltööde 1 ja 2 järeltööd
  • (....12.2016) Kontrolltöö 3 järeltöö


Praktikumid

Praktikumides kasutame SWI-Prologi SWI-Prolog.

Eclipse plugin: Prolog Development Tool - PDT.

  • Installeerimise juhend: [4]
  • Kasutusjuhend: [5]

GIT URI: https://teie-ttu-uni-id-kasutajanimi@git.ttu.ee/ained/iti0021/teie-ttu-uni-id-kasutajanimi.git (NB! see link brauseris ei tööta!). NB! Uni-ID kasutajanimes peavad olema KÕIK VÄIKESED TÄHED!

Giti juhend Eclipse'is kasutamiseks

Praktikumi ülesanded tuleb laadida mainitud tähtajaks git'i vastavasse kausta (PR0x, kus x on praktikumi number [1, 2, 3, 4]). Kaustas peab olema fail nimega prax0x.pl (kus x on praktikumi number [1, 2, 3, 4]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.

  • Praktikum 7: Semantilised võrgud ja freimid
  • Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine
  • Praktikum 9: Faktide hulgal otsingu programmeerimine
  • Praktikum 10: Tammi programmeerimine
    • Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi.
    • Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
    • Kodutöö tööülesande kirjeldus
  • Praktikum 11: Tammi programmeerimine
    • Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.
  • Praktikum 12: CTL valemite interpreteerimine
  • Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
  • Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
  • Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid
  • Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas
  • (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus



Sügis 2016

  • Loeng: Nejapäeval kl. 10:00 - 11:30 ruumis CYB - VEENUS (õppejõud prof. Jüri Vain)
  • Praktikumid:
    • IAPB51, IAPB52: Neljapäeval kl. 12:40-14:10 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
    • IAPB53: Neljapäeval kl. 14:15-15:45 ruumis ICT-401 (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)

Hindamiskriteeriumid

  • Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi), testide (10 testi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.
  • Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.
  • Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)
  • Loengu kontrollküsimused (Moodle test): 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p) -> NB! Ei lähe arvesse veel 2015 sügissemestril.
  • Kodutöö - Kabe programmi programmeerimine - 10 p
    • Võimalikud boonuspunktid
  • Kontrolltööd (3 tk - kokku 70 p)
    • Kontrolltöö 1 - põhimõisted 20 p
    • Kontrolltöö 2 - rekursiooni programmeerimine 30 p
    • Kontrolltöö 3 - teadmiste esitamine Prologis 20 p
  • Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel.
  • Järeltööde sooritamise tingimused:
    • Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
    • 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 punkti; II koht +2 punkti; III koht +1 punkt.
  • Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)

Loengud

  • Loeng 1: Mis on loogiline programmeerimine?
  • Loeng 2:Loogilise programmeerimise keel Prolog
  • Loeng 3.1: Loogika alusmõisted: lauseloogika
  • Loeng 3.2: Loogika alusmõisted: predikaatloogika
  • Loeng 4: Resolutsioon ja unifitseerimine
  • Loeng 5: Otsingu juhtimine ja listid (lisamaterjal [6] vt Chapter 10)
  • Kontrolltöö 1 (13.10.2016): Loengute 1-5 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel, lihtsamate päringute ja rekursiivsete reeglite koostamine.
  • Loeng 6: Teadmiste esitamise andmestruktuurid
  • Loeng 7: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [7] ja[8]
  • Kontrolltöö 2 (3.11.2016): Loengute 5 ja 6 materjalile: Listid, rekursiivsed reeglid listidel
  • Loeng 8: Mängu ja otsingustrateegiate programmeerimine
  • Loeng 9: Hulgateooria ja algebra mõistete programmeerimine
  • Loeng 10: Loogika valemite interpreteerimine
  • Kontrolltöö 3 (1.12.2016): Loengute 7-10 materjalile
    • Temporaalloogika (CTL) valemite interpreteerimine
    • Algebra ja hulgateooria mõisted
    • DCG grammatikareeglid, reeglite Prologi sisekuju
    • Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum 9 juhendit).
  • (....12.2016) Kontrolltööde 1 ja 2 järeltööd
  • (....12.2016) Kontrolltöö 3 järeltöö


Praktikumid

Praktikumides kasutame SWI-Prologi SWI-Prolog.

Eclipse plugin: Prolog Development Tool - PDT.

  • Installeerimise juhend: [9]
  • Kasutusjuhend: [10]

GIT URI: https://teie-ttu-uni-id-kasutajanimi@git.ttu.ee/ained/iti0021/teie-ttu-uni-id-kasutajanimi.git (NB! see link brauseris ei tööta!). NB! Uni-ID kasutajanimes peavad olema KÕIK VÄIKESED TÄHED!

Giti juhend Eclipse'is kasutamiseks

Praktikumi ülesanded tuleb laadida mainitud tähtajaks git'i vastavasse kausta (PR0x, kus x on praktikumi number [1, 2, 3, 4]). Kaustas peab olema fail nimega prax0x.pl (kus x on praktikumi number [1, 2, 3, 4]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.

  • Praktikum 7: Semantilised võrgud ja freimid
  • Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine
  • Praktikum 9: Faktide hulgal otsingu programmeerimine
  • Praktikum 10: Tammi programmeerimine
    • Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi.
    • Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
    • Kodutöö tööülesande kirjeldus
  • Praktikum 11: Tammi programmeerimine
    • Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.
  • Praktikum 12: CTL valemite interpreteerimine
  • Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
  • Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine
  • Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid
  • Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas
  • (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus


Kodutöö 2015


Lisamaterjalid

dmusbaas]]

-->

Kodutöö 2015


Lisamaterjalid