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

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
P (Evelin teisaldas lehekülje Loogiline programmeerimine pealkirja Loogiline programmeerimine (2017) alla)
 
(ei näidata 2 kasutaja 85 vahepealset redaktsiooni)
12. rida: 12. rida:
 
Kursus varasematel aastatel: [[Loogiline programmeerimine (2015)| Sügis 2015]]
 
Kursus varasematel aastatel: [[Loogiline programmeerimine (2015)| Sügis 2015]]
  
==Sügis 2016==
+
==Sügis 2017==
 +
 
 +
 
 +
==NB!<span style="color: red; font-weight: bold;"> Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)==
 +
 
 +
==NB!<span style="color: red; font-weight: bold;"> Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)==
 +
 
 +
* Loeng: Teisipäeval kl. 10:00 - 11:30 ruumis U02-102 (õppejõud prof. Jüri Vain)
 +
* Praktikumid  ruumis ICT-401: (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
 +
** IAPB51,  IAPB52,  IAPB53,  IAPB54,  IAPB55
 +
*** Rühm A: Teisipäeval  kl. 12:00-13:30
 +
*** Rühm B: Teisipäeval  kl. 14:00-15:30
 +
*** Rühm C: Teisipäeval  kl. 16:00-17:30
 +
 
  
* 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'''
 
* '''Eksam'''
37. rida: 37. rida:
  
 
==Hindamiskriteeriumid==
 
==Hindamiskriteeriumid==
 
+
* [[Media:Hindamiskriteeriumid2017Sest.pdf|HINDAMISKRITEERIUMID vt siit]]
* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi), testide (10 testi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.
+
<!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) 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- 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)
 
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)
 
* Kodutöö - Kabe programmi programmeerimine - 10 p
 
* Kodutöö - Kabe programmi programmeerimine - 10 p
 
** Võimalikud boonuspunktid  
 
** Võimalikud boonuspunktid  
* Kontrolltööd (3 tk - kokku 70 p)
+
* Kontrolltööd (3 tk - kokku 80 p)
 
** Kontrolltöö 1 - põhimõisted 30 p
 
** Kontrolltöö 1 - põhimõisted 30 p
** Kontrolltöö 2 - rekursiooni programmeerimine 20 p
+
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p
 
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p  
 
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p  
  
51. rida: 51. rida:
 
* 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.
 
* 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ööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel  
 +
** 12.12.2017 järeltööd kontrolltööle 1 ja kontrolltööle 2
 +
** 19.12.2017 järeltööd kontrolltööle 2 ja kontrolltööle 3
 
* Järeltööde sooritamise tingimused:
 
* Järeltööde sooritamise tingimused:
 
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.
 
** 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.
 
** 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.
+
* Arvestuse hinnet tõstab see, kui kodutööna valminud kabeprogramm saavutab viimase praktikumi ajal toimuval võistlusel auhinnalise koha: I koht +3 (mod 5) palli; II koht +2(mod 5) palli; III koht +1(mod 5) pall.
  
 
* '''Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)'''
 
* '''Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)'''
  
 
==Loengud==
 
==Loengud==
* [[Media:ITI0021_Loeng 1_2016.pdf|Loeng 1]]: Mis on loogiline programmeerimine?
+
* [[Media:ITI0021_Loeng 1_2017.pdf|Loeng 1]]: Mis on loogiline programmeerimine?
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog
+
* [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika
* [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 3.1]]: Loogika alusmõisted: lauseloogika
+
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 3.2]]: Loogika alusmõisted: predikaatloogika
+
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog
 
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine
 
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine
* '''!!!Kontrolltöö 1 (13.10.2016):''' Loengute 1-4 materjalile: teadmiste formaliseerimine 1st järku predikaatloogikas, Horni lause, resolutsioon, unifitseerimine, mgu, literaal, term, rekursiivne reegel, lihtsamate päringute ja rekursiivsete reeglite koostamine. '''Kontrolltöö toimub ruumis: U01-202'''
 
 
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)
 
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)
 +
* '''Kontrolltöö 1 (10.10.2017):''' Loengute 1-4 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_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine
 
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine
* '''Kontrolltöö 2 (3.11.2016):''' Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
 
 
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine
 
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine
 +
<!-- * <span style="color: red; font-weight: bold;"> '''Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. ''' Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine </span>
 +
-->
 +
* '''Kontrolltöö 2 (7.11.2017):''' Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
 +
* [[Media:ITI0021_Loeng_8_2016.pdf|Loeng 8]]: 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]
 +
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine
 +
* Loeng 10: Prologi liidestamine C ja Java programmidega
 +
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis
 +
* '''Kontrolltöö 3 (05.12.2017):''' Loengute 5,6,7,8,9 materjalile
  
* [[Media:ITI0021_Lecture_6_2015.pdf|Loeng 8]]: 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]
 
* [[Media:ITI0021_Lecture_10_2015.pdf|Loeng 9]]: Mängu ja otsingustrateegiate 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
 
** Algebra ja hulgateooria mõisted
 
** DCG grammatikareeglid, reeglite Prologi sisekuju  
 
** DCG grammatikareeglid, reeglite Prologi sisekuju  
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum 9 juhendit).
+
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).
* (....12.2016) '''Kontrolltööde 1 ja 2 järeltööd'''  
+
<!--
* (....12.2016) '''Kontrolltöö 3 järeltöö'''  
+
* (15.12.2016) '''Kontrolltööde 1 ja 2 järeltööd'''  
 +
* (22.12.2016) '''Kontrolltöö 3 järeltöö'''
 +
* (12.01.2017) '''Järeltööde sooritamise lisaaeg I'''
 +
* (19.01.2017) '''Järeltööde sooritamise lisaaeg II'''
  
<!--
 
 
*  
 
*  
 
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid
 
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid
93. rida: 99. rida:
 
* Järeltöö I (03.12.2014)
 
* Järeltöö I (03.12.2014)
 
* Järeltöö II (10.12.2014)
 
* Järeltöö II (10.12.2014)
 +
 
-->
 
-->
  
115. rida: 122. rida:
 
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]
 
* 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!'''
 
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]]
 
[[ITI0011:git|Giti juhend Eclipse'is kasutamiseks]]
 +
-->
 +
'''GIT'''
 +
 +
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.
 +
 +
 +
Loo endale projekt nimega "iti0021" (NB!! Väikesed tähed).
 +
https://gitlab.cs.ttu.ee/dashboard/projects -> "New Project". Visibility las olla "private".
 +
 +
 +
Kui projekt tehtud, siis mine üleval menüüst "Members".
 +
Lisa kasutajatena 'hodor-live' ja 'Evelin.Halling'. Määra "access level" "Developer".
 +
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.
 +
 +
 +
Lisa webhook. Ülevalt "Settings" -> "Integrations". Sinna kirjuta
 +
URL: https://ained.ttu.ee/mod/charon/api/git_callback
 +
Jäta peale "Push events"
 +
Võta maha linnuke "Enable SSL verification"
 +
Nüüd nupp "Add webhook"
 +
  
 
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.
 
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.
132. rida: 161. rida:
 
** [[Media:ITI0021_Praktikum_PR03_juhend_2016.pdf|Praktikumi 3 juhend]]
 
** [[Media:ITI0021_Praktikum_PR03_juhend_2016.pdf|Praktikumi 3 juhend]]
  
* Praktikum 4: Rekursioon PR05
+
* Praktikum 4: Rekursioon PR04
 
** [[Media:ITI0021_Praktikum_PR04_juhend_2016.pdf|Praktikumi 4 juhend]]
 
** [[Media:ITI0021_Praktikum_PR04_juhend_2016.pdf|Praktikumi 4 juhend]]
 
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]
 
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]
 
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]
 
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]
  
* Praktikum PR06: Listid  
+
* Praktikum PR05: Listid  
** [[Media:ITI0021_Praktikum_PR06_juhend_2016.pdf|Praktikumi PR06 juhend]]
+
** [[Media:ITI0021_Praktikum_PR06_juhend_2016.pdf|Praktikumi PR05 juhend]]
 +
 
 +
* Praktikum PR06: Semantilised võrgud ja freimid
 +
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]
 +
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]
  
 
* Praktikum PR07: Hulgateoreetilised tehted
 
* Praktikum PR07: Hulgateoreetilised tehted
145. rida: 178. rida:
 
* Praktikum PR08: Otsingu juhtimine
 
* Praktikum PR08: Otsingu juhtimine
 
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]
 
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]
 +
 +
* Praktikum PR09: Reisi marsuudi leidimine
 +
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]
 +
 +
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine
 +
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]
 +
 +
* Praktikum PR11: Faktide hulgal otsingu programmeerimine
 +
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR11 juhend]]
 +
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]
 +
** Tuleb implementeerida predikaadid 'vota' ja 'tee_kaik'
 +
 +
* Praktikum PR12: Tammi programmeerimine
 +
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR11) loodud kabe programmi.
 +
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
 +
** predikaat 'kaigu_variandid' peab toetama tammiga käimist ja võtmist
  
 
<!--
 
<!--
 +
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses)
 +
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]
 +
 +
 
* Praktikum 5: Listid  
 
* Praktikum 5: Listid  
 
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]
 
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]
186. rida: 239. rida:
 
<!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]<br> -->
 
<!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]<br> -->
  
==Kodutöö 2015==
+
==Kodutöö 2017==
* Kodutööks on kabeprogrammi programmeerimine Prologis
+
* Kodutööks on kabeprogrammi programmeerimine Prologis  
 +
* Kood laadida git-i salve: KABE
 
* Kabe
 
* Kabe
 
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]]  
 
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]]  
 
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]
 
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]
 
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]
 
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]
 +
 +
** Graafiline Arbiiter:
 +
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]
  
 
** Programm Arbiiter juhib mängu.  
 
** Programm Arbiiter juhib mängu.  
197. rida: 254. rida:
 
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]
 
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]
 
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]
 
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]
 +
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]
 +
  
 
<!--
 
<!--
 
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]<br>
 
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]<br>
'''Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)'''
 
 
-->
 
-->
 +
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)
  
 
==Lisamaterjalid==
 
==Lisamaterjalid==
 
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]
 
* [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]
 
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]
 +
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]

Viimane redaktsioon: 3. september 2018, kell 07:31


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 2017

NB! Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)

NB! Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)

  • Loeng: Teisipäeval kl. 10:00 - 11:30 ruumis U02-102 (õppejõud prof. Jüri Vain)
  • Praktikumid ruumis ICT-401: (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)
    • IAPB51, IAPB52, IAPB53, IAPB54, IAPB55
      • Rühm A: Teisipäeval kl. 12:00-13:30
      • Rühm B: Teisipäeval kl. 14:00-15:30
      • Rühm C: Teisipäeval kl. 16:00-17:30


Hindamiskriteeriumid

  • HINDAMISKRITEERIUMID vt siit
  • Järeltööd kontrolltöödele 1-3 toimuvad semestri viimaste loengute aegadel
    • 12.12.2017 järeltööd kontrolltööle 1 ja kontrolltööle 2
    • 19.12.2017 järeltööd kontrolltööle 2 ja kontrolltööle 3
  • 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 auhinnalise koha: I koht +3 (mod 5) palli; II koht +2(mod 5) palli; III koht +1(mod 5) pall.
  • Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)

Loengud

  • Loeng 1: Mis on loogiline programmeerimine?
  • Loeng 2.1: Loogika alusmõisted: lauseloogika
  • Loeng 2.2: Loogika alusmõisted: predikaatloogika
  • Loeng 3: Loogilise programmeerimise keel Prolog
  • Loeng 4: Resolutsioon ja unifitseerimine
  • Loeng 5: Prologi andmestruktuurid: listid, freimid (lisamaterjal [1] vt Chapter 10)
  • Kontrolltöö 1 (10.10.2017): Loengute 1-4 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: Hulgateooria ja algebra mõistete programmeerimine
  • Loeng 7: Prolog programmi täitmine ja täitmise juhtimine
  • Kontrolltöö 2 (7.11.2017): Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine
  • Loeng 8: DCG grammatika reeglid ja loomuliku keele parsimine (lisamaterjal [2] ja[3]
  • Loeng 9: Mängu ja otsingustrateegiate programmeerimine
  • Loeng 10: Prologi liidestamine C ja Java programmidega
  • Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis
  • Kontrolltöö 3 (05.12.2017): Loengute 5,6,7,8,9 materjalile
    • Algebra ja hulgateooria mõisted
    • DCG grammatikareeglid, reeglite Prologi sisekuju
    • Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).


Praktikumid

Praktikumides kasutame SWI-Prologi SWI-Prolog.

Eclipse plugin: Prolog Development Tool - PDT.

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

GIT

Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.


Loo endale projekt nimega "iti0021" (NB!! Väikesed tähed). https://gitlab.cs.ttu.ee/dashboard/projects -> "New Project". Visibility las olla "private".


Kui projekt tehtud, siis mine üleval menüüst "Members". Lisa kasutajatena 'hodor-live' ja 'Evelin.Halling'. Määra "access level" "Developer". Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.


Lisa webhook. Ülevalt "Settings" -> "Integrations". Sinna kirjuta URL: https://ained.ttu.ee/mod/charon/api/git_callback Jäta peale "Push events" Võta maha linnuke "Enable SSL verification" Nüüd nupp "Add webhook"


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 PR12: Tammi programmeerimine
    • Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR11) loodud kabe programmi.
    • Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.
    • predikaat 'kaigu_variandid' peab toetama tammiga käimist ja võtmist


Kodutöö 2017

  • Kodutööks on kabeprogrammi programmeerimine Prologis
  • Kood laadida git-i salve: KABE
  • Kabe


Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)

Lisamaterjalid