<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://courses.cs.taltech.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evelin</id>
	<title>Kursused - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="http://courses.cs.taltech.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Evelin"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/pages/Eri:Kaast%C3%B6%C3%B6/Evelin"/>
	<updated>2026-04-10T10:21:11Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Software_Synthesis_and_Verification&amp;diff=10866</id>
		<title>Software Synthesis and Verification</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Software_Synthesis_and_Verification&amp;diff=10866"/>
		<updated>2023-02-09T09:58:38Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Labs - To be updated from lab 4 onwards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course code&amp;#039;&amp;#039;&amp;#039;: ITI8531 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0130&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lecturer&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;#039;&amp;#039;&amp;#039;Lecturer&amp;#039;&amp;#039;&amp;#039;: Leonidas Tsiopoulos &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: leonidas.tsiopoulos ätt ttu.ee, ICT-418 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lecturer&amp;#039;&amp;#039;&amp;#039;: Maksym Bortin &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: maksym.bortin ätt ttu.ee, room B404 in the Cybernetics Building &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lab assistant&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
Evelin Halling &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: evelin.halling ätt ttu.ee &amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Previous courses: [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0060 2014]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Time and place==&lt;br /&gt;
&lt;br /&gt;
Lectures: Thursdays 10:00, ICT-315 &amp;lt;br&amp;gt;&lt;br /&gt;
Labs: Thursdays 12:00, ICT-404 - Jüri Vain&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;New!&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* Due to CORONA restrictions course is entirely running over Teams channel &amp;quot;Software synthesis and Verification&amp;quot;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exams: (To Be Updated) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*  ... &amp;lt;br&amp;gt;&lt;br /&gt;
** Exam is for those who have not passed any of the tests or want to improve their final mark&lt;br /&gt;
&amp;lt;!--* ... &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lecture plan - To be updated for Module II and III==&lt;br /&gt;
* [[Media:ITI8531_Lecture_1_18_Intro.pdf|Lecture 1]]: Introduction&lt;br /&gt;
* [[Media:ITI8531_Lecture_2_2022_transition_systems.pdf|Lecture 2]]: Modelling state transition systems&lt;br /&gt;
* [[Media:ITI8531_Lecture_3_2022_CTL.pdf|Lecture 3]]: Temporal logic CTL*&lt;br /&gt;
* [[Media:ITI8531_Lecture_4_18_modelchecking.pdf|Lecture 4]]: CTL model checking&lt;br /&gt;
* [[Media:ITI8531_Lecture_5_22_symb_modelchecking.pdf|Lecture 5]]: Symbolic model checking&lt;br /&gt;
* [[Media:ITI8531_Lecture_6_22_TA_and_TCTL.pdf|Lecture 6]]: Model checking TCTL&lt;br /&gt;
* Practicing for Test 1: Model checking   [[Media:ITI8531_Exercises_1_2016.pdf|Exercises]]: (05.03.2019)&lt;br /&gt;
* Test 1: Model checking (&amp;#039;&amp;#039;&amp;#039;12.03.2019&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Media:ITI8531_Lecture_6.1_18_Specifications.pdf|Lecture 6]]: Program specifications (19.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_6.2_18_verification.pdf|Lecture 7]]: Proving partial correctness of programs (19.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_7_18_proving (2).pdf|Lecture 8]]: Proof techniques (1): derived rules, backwards proof, annotations (26.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_8_18_total_correctness.pdf|Lecture 9]]: Proving total correctness of while-programs (26.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_9_2017_parallel_programs.pdf|Lecture 10]]: Verifying nondeterministic and parallel programs  (02.04.2019)&lt;br /&gt;
* Practicing for Test 2: Deductive verification of non-deterministic and parallel programs (04.04.2019 at lab time)&lt;br /&gt;
** [[Media:ITI8531_Genzen_1st_order_calculus.pdf|Genzen 1st order calculus]]: Genzen 1st order sequent calculus (proof rules)&lt;br /&gt;
* Test 2: Deductive verification of sequential, non-deterministic and parallel programs (&amp;#039;&amp;#039;&amp;#039;09.04.2019,at 12.00&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Media:Software Synthesis - Overview of Temporal Synthesis - Lecture 11.pdf|Lecture 11]]: Software synthesis I (16.04.2019)&lt;br /&gt;
* [[Media:Software Synthesis - Introduction to Acacia - Lecture 12.pdf|Lecture 12]]: Software synthesis II (23.04.2019)&lt;br /&gt;
* [[Media:Software Synthesis - LTL Synthesis and Acacia II - Lecture 13.pdf|Lecture 13]]: Software synthesis III (30.04.2019)&lt;br /&gt;
* [[Media:Software Synthesis - LTL Synthesis with Acacia part III - Lecture 14.pdf|Lecture 14]]: Software synthesis IV (7.05.2019)&lt;br /&gt;
* [[Media:Software Synthesis - Lecture V - Recap.pdf|Lecture 15]]: Software synthesis (recap) and practicing for test  (14.05.2019)&lt;br /&gt;
* Test 3: Software synthesis (&amp;#039;&amp;#039;&amp;#039;16.05.2019&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* Retake of Test 2, 2nd task: (&amp;#039;&amp;#039;&amp;#039;21.05.2019 at 12.00 (New!)&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
** [[Media:Test_2_2019_lahendus.pdf|Eample_Solution]]: (&amp;#039;&amp;#039;&amp;#039;Example solution of Task2 (NEW!)&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
==Labs - To be updated from lab 4 onwards==&lt;br /&gt;
* Exercise Environment for Module II:&lt;br /&gt;
** Download and install the environment: [[Media:HoareLogic.tar| Hoare Logic environment]]&lt;br /&gt;
* Lab 1: Introduction to modelling in UPPAAL &lt;br /&gt;
** Slides: [[Media:UPPAAL Tutorial.pdf|UPPAAL introduction]]&lt;br /&gt;
** Model: [[Media:LightController.xml|Light Controller Model]]&lt;br /&gt;
** Query: [[Media:LightControllerQuery.q|Light Controller Query]]&lt;br /&gt;
** For More reading, refer below links:&lt;br /&gt;
*** [http://www.uppaal.org/ UPPAAL website]&lt;br /&gt;
*** [http://www.it.uu.se/research/group/darts/uppaal/small_tutorial.pdf Small tutorial on UPPAAL]&lt;br /&gt;
*** [http://www.it.uu.se/research/group/darts/papers/texts/new-tutorial.pdf Tutorial on UPPAAL]&lt;br /&gt;
&lt;br /&gt;
* Lab 2: Validation (simulation) and verification (automatic model-checking) in UPPAAL &lt;br /&gt;
** Slides: [[Media:New_Lab2_MODEL_CHECKING.pdf|Model Checking introduction]]&lt;br /&gt;
** Model: [[Media:Atm_system.xml|ATM System Model]]&lt;br /&gt;
** Query: [[Media:Atm_system_query.q|ATM System Query]]&lt;br /&gt;
&lt;br /&gt;
* Lab 3: Understanding of Clocks and State Space Explosion in UPPAAL &lt;br /&gt;
** Slides: [[Media:Lab3_Lab_Lecture.pdf|Uppaal Modelling Language]]&lt;br /&gt;
** Model: [[Media:Jobber.xml|JobShop Model with three possible scenarios]]&lt;br /&gt;
** Query: [[Media:Jobber_Query1.q|JobShop Query]]&lt;br /&gt;
&lt;br /&gt;
* Lab 4: Assignment I: Reader-Writer (unreliable) communication protocol&lt;br /&gt;
** Slides: [[Media:ITI0130_Lab2_2015.pdf|Example and explanation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 5: Assignment II: Leader election protocol &lt;br /&gt;
** Slides: [[Media:ITI0130_Lab3_IEEE1394.pdf|Explanation]]&lt;br /&gt;
** [http://perso.ens-lyon.fr/pierre.lescanne/ENSEIGNEMENT/REECRITURE/ABRIAL/sldp.ieee1394.pdf The Leader Election Protocol (IEEE 1394)]&lt;br /&gt;
** [http://link.springer.com/article/10.1023%2FA%3A1008764923992 Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394]&lt;br /&gt;
** Reference solution: [[Media:FASDS.pdf|Chapter 12, page 172]]&lt;br /&gt;
&lt;br /&gt;
* Lab 13:&lt;br /&gt;
** [http://web.iitd.ac.in/~sumeet/slide3.pdf LTL]&lt;br /&gt;
* Lab 14:&lt;br /&gt;
** [[Media:ITI8531_LTL_exercises.pdf|Exercises]]&lt;br /&gt;
** [http://goal.im.ntu.edu.tw/wiki/doku.php GOAL tool]&lt;br /&gt;
** [http://www.lsv.fr/~gastin/ltl2ba/ LTL2BA]&lt;br /&gt;
* Lab 15&lt;br /&gt;
** [[Media:ITI8531_LTL_assignments.pdf|LTL Assignment]]&lt;br /&gt;
** [[Media:Software Synthesis and Verification LTL Assignment-Updated Spec.pdf|Updated Spec for LTL Synthesis Assignment]]&lt;br /&gt;
** [[Media:Guidelines for Lab Exercise Report for Synthesis with Acacia.pdf|Guidelines for Assignment]]&lt;br /&gt;
** [[Media:Acacia Installation Commands.pdf|Acacia Tool Installation Commands]]&lt;br /&gt;
** [[Media:Acacia_Manual.pdf|Acacia Tool Installation Guidelines and Manual for Command Line Options]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Lab 4-5: Implementation of Mutual Exclusion Algorithms in UPPAAL &lt;br /&gt;
** Slides: [[Media:Lecture_5.pdf|The Mutual Exclusion Problem and Algorithms]]&lt;br /&gt;
** Model: [[Media:Attempt1_Model.xml|First Attempt Algorithm Model]]&lt;br /&gt;
** Query: [[Media:Attempt1_query.q|First Attempt Query]]&lt;br /&gt;
&lt;br /&gt;
* Lab 6: Lab Assignment: ATM System, JobShop, Implementation of Mutual Exclusion Algo. &lt;br /&gt;
** Slides: [[Media:Lab_Assignments.pdf|Tasks and explanation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 7-8: Assignment: Reader-Writer (unreliable) communication protocol&lt;br /&gt;
** Slides: [[Media:ITI0130_Lab2_2015.pdf|Example and explanation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 9: Assignment: Elevator Control&lt;br /&gt;
** Slides: [[Media:ElevatorControl_V1_29062017.pdf|Example and explanation]]&lt;br /&gt;
** Slides: [[Media:ModellingRequirement.pptx|Modelling Requirements]]&lt;br /&gt;
&lt;br /&gt;
* Lab 10: Final Assessment on 17 May 2018&lt;br /&gt;
** Lab defending of all given assignment.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Lab 4: Assignment 1: Coffee Machine&lt;br /&gt;
** Slides: [[Media:ITI0130_Lab1_Coffee_machine_2015.pdf|Example and explanation]]&lt;br /&gt;
** Model: [[Media:ITI0130_Coffee.xml|Coffee machine]]&lt;br /&gt;
** Query: [[Media:ITI0130_Coffee.q|Coffee machine]]&lt;br /&gt;
&lt;br /&gt;
* Lab 6: Assignment 3: Leader election protocol &lt;br /&gt;
** Slides: [[Media:ITI0130_Lab3_IEEE1394.pdf|Explanation]]&lt;br /&gt;
** [http://perso.ens-lyon.fr/pierre.lescanne/ENSEIGNEMENT/REECRITURE/ABRIAL/sldp.ieee1394.pdf The Leader Election Protocol (IEEE 1394)]&lt;br /&gt;
** [http://link.springer.com/article/10.1023%2FA%3A1008764923992 Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394]&lt;br /&gt;
** Reference solution: [[Media:FASDS.pdf|Chapter 12]]&lt;br /&gt;
* Lab 7: Lab Exam&lt;br /&gt;
** Homework defenses&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lab 7: KeY Introduction&lt;br /&gt;
** Installation: [[Media:ITI0130_Lab7_2016_KeY.pdf|KeY Installation]]&lt;br /&gt;
** Bank example: [[Media:ITI0130_Lab7_2016_Bank.zip|Bank example]]&lt;br /&gt;
** Bank JML: [[Media:ITI0130_Lab7_2016_Bank_JML.zip|Bank JML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lab 5: Design-by-Contract&lt;br /&gt;
** [https://github.com/nhatminhle/cofoja Contracts for Java (Cofoja)]&lt;br /&gt;
** [https://code.google.com/p/cofoja/w/list Cofoja wiki page]&lt;br /&gt;
** [[Media:ITI0130_Lab5_cofoja_setup.pdf|Installation instructions]]&lt;br /&gt;
** [[Media:ITI0130_Lab5_FM_cofoja.zip|Sample code]]&lt;br /&gt;
&lt;br /&gt;
* Lab 6: Design-by-Contract&lt;br /&gt;
** [[Media:ITI0130_Lab5_db.zip|Database]]&lt;br /&gt;
&lt;br /&gt;
* Lab 7: Design-by-Contract&lt;br /&gt;
** [[Media:ITI0130_Lab7_db2.zip|Secure Database]]&lt;br /&gt;
&lt;br /&gt;
* Lab 8: Design-by-Contract&lt;br /&gt;
** [[Media:ITI0130_Lab7_assignment_cofoja.zip|Cofoja Assignment]]&lt;br /&gt;
*** [[Media:ITI0130_Lab7_assignment_Instruction.pdf|Instructions]]&lt;br /&gt;
&lt;br /&gt;
* Lab 9: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab8_Key_Instruction.pdf|Installation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 10: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab9_Key_practise.zip|Key Examples]]&lt;br /&gt;
&lt;br /&gt;
* Lab 11: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab11_Key_practise.zip|JML]]&lt;br /&gt;
** [[Media:ITI0130_Lab11_summax.zip|SumAndMax Example]]&lt;br /&gt;
&lt;br /&gt;
* Lab 12: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab12_Key_assignment.zip|Key assignment]]&lt;br /&gt;
&lt;br /&gt;
* Lab 13: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab13_Bank_example_solution.zip|Solution to Bank example]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exercises==&lt;br /&gt;
* [[Media:Test 1_2017for practicing.pdf|Exercises 1]]: Model checking (explicit and symbolic state)&lt;br /&gt;
* [[Media:Exercises_2.pdf|Exercises 2]]: Partial correctness of WHILE-programs&lt;br /&gt;
** [[Media:while_program_example_2015.pdf|Example 1]]: Partial correctness of WHILE-loop&lt;br /&gt;
** [[Media:DEDUCTIVE_VERIFICATION_Example_2.pdf|Example 2]]: Partial correctness of FOR-loop&lt;br /&gt;
* Partial correctness of non-deterministic and parallel programs&lt;br /&gt;
** [[Media:Exercises__3.pdf|Exercises 3.1]]: Partial correctness of non-deterministic and parallel programs&lt;br /&gt;
** [[Media:Test3_exercises_solutions.pdf|Exercises 3.2]]: Partial correctness of non-deterministic and parallel programs &lt;br /&gt;
** [[Media:Harjutused_3.pdf|Exercises 3.3]]: Parallel programs with message passing&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* [http://www.fmeurope.org/ Formal Methods Europe]&lt;br /&gt;
* [[Media: 1st_order_proof_rules.pdf|Genzen&amp;#039;s proof system for 1st order logic]]: &lt;br /&gt;
* [[Media: Proof_rules_of_Hoare_logic.pdf|HL proof rules for sequential and parallel programs]]:&lt;br /&gt;
* [[Media: Invariants.pdf|Some guidlines how to find invariants]]&lt;br /&gt;
* Mike Gordon&amp;#039;s lecture notes on Hoare logic [http://www.lsv.ens-cachan.fr/~demri/Gordon14.pdf]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10276</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10276"/>
		<updated>2021-11-12T11:54:31Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Loengute slaidid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2021_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_4_2021_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2021.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I (Moodle&amp;#039;s)&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2021.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2021_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2021CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I - järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II - järeltöö&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles [https://moodle.taltech.ee/course/view.php?id=31039 ITI0211 &amp;quot;Loogiline programmeerimine (sügis 2021)&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10160</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10160"/>
		<updated>2021-09-07T06:36:53Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles [https://moodle.taltech.ee/course/view.php?id=31039 ITI0211 &amp;quot;Loogiline programmeerimine (sügis 2021)&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10159</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10159"/>
		<updated>2021-09-07T06:36:07Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles [https://moodle.taltech.ee/course/view.php?id=31039 ITI0211 &amp;quot;Loogiline programmeerimine (sügis 2021)&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10158</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10158"/>
		<updated>2021-09-07T06:34:43Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles [https://moodle.taltech.ee/course/view.php?id=31039 ITI0211 &amp;quot;Loogiline programmeerimine (sügis 2021)&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10157</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10157"/>
		<updated>2021-09-07T06:33:24Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles [https://moodle.taltech.ee/course/view.php?id=31039 ITI0211 &amp;quot;Loogiline programmeerimine (sügis 2021)&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10156</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10156"/>
		<updated>2021-09-07T06:32:32Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles [https://moodle.taltech.ee/course/view.php?id=31039]&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10155</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10155"/>
		<updated>2021-09-07T06:31:59Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (30.08.2021): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2021.pdf|Loeng 2]] (07.09.2021): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (14.09.2021): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (21.09.2021): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (28.09.2021): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (05.10.2021) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (12.10.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (19.10.2021): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (26.10.2021): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (02.11.2021): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (09.11.2021): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (16.11.2021): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (23.11.2021) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (30.11.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (07.12.2021) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (14.12.2021): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
&lt;br /&gt;
Info ja jooksvad tulemused asuvad Moodles: [https://moodle.taltech.ee/course/view.php?id=31039]&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kodutöö ==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Loeng_1_2021.pdf&amp;diff=10119</id>
		<title>Fail:ITI0211 Loeng 1 2021.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Loeng_1_2021.pdf&amp;diff=10119"/>
		<updated>2021-08-31T05:18:53Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10118</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10118"/>
		<updated>2021-08-31T05:18:22Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2021. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2020. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2021.pdf|Loeng 1]] (01.09.2020): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng 2__2020_Prolog.pdf|Loeng 2]] (8.09.2020): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (15.09.2020): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (22.09.2020): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (29.09.2020): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (06.10.2020) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (13.10.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (20.10.2020): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (27.10.2020): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (03.11.2020): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (10.11.2020): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (17.11.2020): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (24.11.2020) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (01.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (08.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (15.12.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2019==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10117</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10117"/>
		<updated>2021-08-31T05:17:21Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis  NRG-226  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Teisipäeval kl. 16:00 - 17:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2020. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2019. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2020.pdf|Loeng 1]] (01.09.2020): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng 2__2020_Prolog.pdf|Loeng 2]] (8.09.2020): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (15.09.2020): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (22.09.2020): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (29.09.2020): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (06.10.2020) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (13.10.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (20.10.2020): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (27.10.2020): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (03.11.2020): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (10.11.2020): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (17.11.2020): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (24.11.2020) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (01.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (08.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (15.12.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2019==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10116</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10116"/>
		<updated>2021-08-31T05:14:18Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2020)| Sügis 2020]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2021==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 12:00 - 13:30 ruumis  NRG-131  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Esmaspäeval kl. 08:00-09:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2020. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2019. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2020.pdf|Loeng 1]] (01.09.2020): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng 2__2020_Prolog.pdf|Loeng 2]] (8.09.2020): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (15.09.2020): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (22.09.2020): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (29.09.2020): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (06.10.2020) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (13.10.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (20.10.2020): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (27.10.2020): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (03.11.2020): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (10.11.2020): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (17.11.2020): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (24.11.2020) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (01.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (08.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (15.12.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2019==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10115</id>
		<title>Loogiline programmeerimine</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine&amp;diff=10115"/>
		<updated>2021-08-31T05:12:33Z</updated>

		<summary type="html">&lt;p&gt;Evelin: Evelin teisaldas lehekülje Loogiline programmeerimine pealkirja Loogiline programmeerimine (2020) alla&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[Loogiline programmeerimine (2020)]]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=10114</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=10114"/>
		<updated>2021-08-31T05:12:33Z</updated>

		<summary type="html">&lt;p&gt;Evelin: Evelin teisaldas lehekülje Loogiline programmeerimine pealkirja Loogiline programmeerimine (2020) alla&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2020==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 12:00 - 13:30 ruumis  NRG-131  &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
&amp;lt;!--**  IAIB51,  IAIB52 --&amp;gt;&lt;br /&gt;
** Esmaspäeval kl. 08:00-09:30 ICT-401&lt;br /&gt;
&amp;lt;!--** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-401--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengute slaidid==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NB! 2020. aasta loengute slaididel ja loengukavas võib esineda muudatusi võrreldes 2019. aasta slaididega&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [[Media:ITI0211_Loeng_1_2020.pdf|Loeng 1]] (01.09.2020): Mis on loogiline programmeerimine? &lt;br /&gt;
* [[Media:ITI0021_Loeng 2__2020_Prolog.pdf|Loeng 2]] (8.09.2020): Loogilise programmeerimise keel Prolog &lt;br /&gt;
* [[Media:ITI0211_Loeng_3_2020_List_operations.pdf|Loeng 3]] (15.09.2020): Loogilise programmeerimise andmestruktuurid - listid ja listioperatsioonid&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 4]] (22.09.2020): Loogilise programmeerimise alused &lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (29.09.2020): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:ITI0211 Loogiline programmeerimine Harjutus 1.pdf|Loengu ajal (06.10.2020) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (13.10.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0211_Loeng_6_2020.pdf|Loeng 6]] (20.10.2020): Loogiline programmeerimine ja teadmusstruktuurid&lt;br /&gt;
* [[Media:ITI0211_Loeng_7_2020_algebra_prg_.pdf|Loeng 7]] (27.10.2020): Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[Media:ITI0211_Loeng_8_2020_DCG.pdf|Loeng 8]] (03.11.2020): 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])&lt;br /&gt;
* [[Media:ITI0211_Loeng_9_2020CLP.pdf|Loeng 9]] (10.11.2020): Kitsendustega loogiline programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_10_2020search.pdf|Loeng 10]] (17.11.2020): Otsingustrateegiate programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loogiline_programmeerimine_Harjutus_2.pdf|Loengu ajal (24.11.2020) harjutus, ettevalmistus kontrolltööks II]]&lt;br /&gt;
* Loengu ajal (01.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (08.12.2020) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Järeltööd &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (15.12.2020): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2019==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Software_Synthesis_and_Verification&amp;diff=9886</id>
		<title>Software Synthesis and Verification</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Software_Synthesis_and_Verification&amp;diff=9886"/>
		<updated>2021-02-12T05:19:13Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Course code&amp;#039;&amp;#039;&amp;#039;: ITI8531 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0130&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lecturer&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lecturer&amp;#039;&amp;#039;&amp;#039;: Leonidas Tsiopoulos &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: leonidas.tsiopoulos ätt ttu.ee, ICT-418 &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lecturer&amp;#039;&amp;#039;&amp;#039;: Maksym Bortin &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: maksym.bortin ätt ttu.ee, room B404 in the Cybernetics Building &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Lab assistant&amp;#039;&amp;#039;&amp;#039;: &lt;br /&gt;
Evelin Halling &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Contact&amp;#039;&amp;#039;&amp;#039;: evelin.halling ätt ttu.ee &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Previous courses: [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0060 2014]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Time and place==&lt;br /&gt;
&lt;br /&gt;
Lectures: Tuesdays 10:00, ICT-341 &amp;lt;br&amp;gt;&lt;br /&gt;
Labs: Tuesdays 12:00, ICT-341 - Evelin Halling&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;New!&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exams: (To Be Updated) &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*  ... &amp;lt;br&amp;gt;&lt;br /&gt;
** Exam is for those who have not passed any of the tests or want to improve their final mark&lt;br /&gt;
&amp;lt;!--* ... &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lecture plan - To be updated for Module II and III==&lt;br /&gt;
* [[Media:ITI8531_Lecture_1_18_Intro.pdf|Lecture 1]]: Introduction&lt;br /&gt;
* [[Media:ITI8531_Lecture_2_18_transition_systems.pdf|Lecture 2]]: Modelling state transition systems&lt;br /&gt;
* [[Media:ITI8531_Lecture_3_18_CTL.pdf|Lecture 3]]: Temporal logic CTL*&lt;br /&gt;
* [[Media:ITI8531_Lecture_4_18_modelchecking.pdf|Lecture 4]]: CTL model checking&lt;br /&gt;
* [[Media:ITI8531_Lecture_5_18_TA_and_TCTL.pdf|Lecture 5]]: Timed automata and TCTL model checking&lt;br /&gt;
* Practicing for Test 1: Model checking   [[Media:ITI8531_Exercises_1_2016.pdf|Exercises]]: (05.03.2019)&lt;br /&gt;
* Test 1: Model checking (&amp;#039;&amp;#039;&amp;#039;12.03.2019&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Media:ITI8531_Lecture_6.1_18_Specifications.pdf|Lecture 6]]: Program specifications (19.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_6.2_18_verification.pdf|Lecture 7]]: Proving partial correctness of programs (19.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_7_18_proving (2).pdf|Lecture 8]]: Proof techniques (1): derived rules, backwards proof, annotations (26.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_8_18_total_correctness.pdf|Lecture 9]]: Proving total correctness of while-programs (26.03.2019)&lt;br /&gt;
* [[Media:ITI8531_Lecture_9_2017_parallel_programs.pdf|Lecture 10]]: Verifying nondeterministic and parallel programs  (02.04.2019)&lt;br /&gt;
* Practicing for Test 2: Deductive verification of non-deterministic and parallel programs (04.04.2019 at lab time)&lt;br /&gt;
** [[Media:ITI8531_Genzen_1st_order_calculus.pdf|Genzen 1st order calculus]]: Genzen 1st order sequent calculus (proof rules)&lt;br /&gt;
* Test 2: Deductive verification of sequential, non-deterministic and parallel programs (&amp;#039;&amp;#039;&amp;#039;09.04.2019,at 12.00&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Media:Software Synthesis - Overview of Temporal Synthesis - Lecture 11.pdf|Lecture 11]]: Software synthesis I (16.04.2019)&lt;br /&gt;
* [[Media:Software Synthesis - Introduction to Acacia - Lecture 12.pdf|Lecture 12]]: Software synthesis II (23.04.2019)&lt;br /&gt;
* [[Media:Software Synthesis - LTL Synthesis and Acacia II - Lecture 13.pdf|Lecture 13]]: Software synthesis III (30.04.2019)&lt;br /&gt;
* [[Media:Software Synthesis - LTL Synthesis with Acacia part III - Lecture 14.pdf|Lecture 14]]: Software synthesis IV (7.05.2019)&lt;br /&gt;
* [[Media:Software Synthesis - Lecture V - Recap.pdf|Lecture 15]]: Software synthesis (recap) and practicing for test  (14.05.2019)&lt;br /&gt;
* Test 3: Software synthesis (&amp;#039;&amp;#039;&amp;#039;16.05.2019&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* Retake of Test 2, 2nd task: (&amp;#039;&amp;#039;&amp;#039;21.05.2019 at 12.00 (New!)&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
** [[Media:Test_2_2019_lahendus.pdf|Eample_Solution]]: (&amp;#039;&amp;#039;&amp;#039;Example solution of Task2 (NEW!)&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
==Labs - To be updated from lab 4 onwards==&lt;br /&gt;
* Exercise Environment for Module II:&lt;br /&gt;
** Download and install the environment: [[Media:HoareLogic.tar| Hoare Logic environment]]&lt;br /&gt;
* Lab 1: Introduction to modelling in UPPAAL &lt;br /&gt;
** Slides: [[Media:UPPAAL Tutorial.pdf|UPPAAL introduction]]&lt;br /&gt;
** Model: [[Media:LightController.xml|Light Controller Model]]&lt;br /&gt;
** Query: [[Media:LightControllerQuery.q|Light Controller Query]]&lt;br /&gt;
** For More reading, refer below links:&lt;br /&gt;
*** [http://www.uppaal.org/ UPPAAL website]&lt;br /&gt;
*** [http://www.it.uu.se/research/group/darts/uppaal/small_tutorial.pdf Small tutorial on UPPAAL]&lt;br /&gt;
*** [http://www.it.uu.se/research/group/darts/papers/texts/new-tutorial.pdf Tutorial on UPPAAL]&lt;br /&gt;
&lt;br /&gt;
* Lab 2: Validation (simulation) and verification (automatic model-checking) in UPPAAL &lt;br /&gt;
** Slides: [[Media:New_Lab2_MODEL_CHECKING.pdf|Model Checking introduction]]&lt;br /&gt;
** Model: [[Media:Atm_system.xml|ATM System Model]]&lt;br /&gt;
** Query: [[Media:Atm_system_query.q|ATM System Query]]&lt;br /&gt;
&lt;br /&gt;
* Lab 3: Understanding of Clocks and State Space Explosion in UPPAAL &lt;br /&gt;
** Slides: [[Media:Lab3_Lab_Lecture.pdf|Uppaal Modelling Language]]&lt;br /&gt;
** Model: [[Media:Jobber.xml|JobShop Model with three possible scenarios]]&lt;br /&gt;
** Query: [[Media:Jobber_Query1.q|JobShop Query]]&lt;br /&gt;
&lt;br /&gt;
* Lab 4: Assignment I: Reader-Writer (unreliable) communication protocol&lt;br /&gt;
** Slides: [[Media:ITI0130_Lab2_2015.pdf|Example and explanation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 5: Assignment II: Leader election protocol &lt;br /&gt;
** Slides: [[Media:ITI0130_Lab3_IEEE1394.pdf|Explanation]]&lt;br /&gt;
** [http://perso.ens-lyon.fr/pierre.lescanne/ENSEIGNEMENT/REECRITURE/ABRIAL/sldp.ieee1394.pdf The Leader Election Protocol (IEEE 1394)]&lt;br /&gt;
** [http://link.springer.com/article/10.1023%2FA%3A1008764923992 Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394]&lt;br /&gt;
** Reference solution: [[Media:FASDS.pdf|Chapter 12, page 172]]&lt;br /&gt;
&lt;br /&gt;
* Lab 13:&lt;br /&gt;
** [http://web.iitd.ac.in/~sumeet/slide3.pdf LTL]&lt;br /&gt;
* Lab 14:&lt;br /&gt;
** [[Media:ITI8531_LTL_exercises.pdf|Exercises]]&lt;br /&gt;
** [http://goal.im.ntu.edu.tw/wiki/doku.php GOAL tool]&lt;br /&gt;
** [http://www.lsv.fr/~gastin/ltl2ba/ LTL2BA]&lt;br /&gt;
* Lab 15&lt;br /&gt;
** [[Media:ITI8531_LTL_assignments.pdf|LTL Assignment]]&lt;br /&gt;
** [[Media:Software Synthesis and Verification LTL Assignment-Updated Spec.pdf|Updated Spec for LTL Synthesis Assignment]]&lt;br /&gt;
** [[Media:Guidelines for Lab Exercise Report for Synthesis with Acacia.pdf|Guidelines for Assignment]]&lt;br /&gt;
** [[Media:Acacia Installation Commands.pdf|Acacia Tool Installation Commands]]&lt;br /&gt;
** [[Media:Acacia_Manual.pdf|Acacia Tool Installation Guidelines and Manual for Command Line Options]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Lab 4-5: Implementation of Mutual Exclusion Algorithms in UPPAAL &lt;br /&gt;
** Slides: [[Media:Lecture_5.pdf|The Mutual Exclusion Problem and Algorithms]]&lt;br /&gt;
** Model: [[Media:Attempt1_Model.xml|First Attempt Algorithm Model]]&lt;br /&gt;
** Query: [[Media:Attempt1_query.q|First Attempt Query]]&lt;br /&gt;
&lt;br /&gt;
* Lab 6: Lab Assignment: ATM System, JobShop, Implementation of Mutual Exclusion Algo. &lt;br /&gt;
** Slides: [[Media:Lab_Assignments.pdf|Tasks and explanation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 7-8: Assignment: Reader-Writer (unreliable) communication protocol&lt;br /&gt;
** Slides: [[Media:ITI0130_Lab2_2015.pdf|Example and explanation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 9: Assignment: Elevator Control&lt;br /&gt;
** Slides: [[Media:ElevatorControl_V1_29062017.pdf|Example and explanation]]&lt;br /&gt;
** Slides: [[Media:ModellingRequirement.pptx|Modelling Requirements]]&lt;br /&gt;
&lt;br /&gt;
* Lab 10: Final Assessment on 17 May 2018&lt;br /&gt;
** Lab defending of all given assignment.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lab 4: Assignment 1: Coffee Machine&lt;br /&gt;
** Slides: [[Media:ITI0130_Lab1_Coffee_machine_2015.pdf|Example and explanation]]&lt;br /&gt;
** Model: [[Media:ITI0130_Coffee.xml|Coffee machine]]&lt;br /&gt;
** Query: [[Media:ITI0130_Coffee.q|Coffee machine]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Lab 6: Assignment 3: Leader election protocol &lt;br /&gt;
** Slides: [[Media:ITI0130_Lab3_IEEE1394.pdf|Explanation]]&lt;br /&gt;
** [http://perso.ens-lyon.fr/pierre.lescanne/ENSEIGNEMENT/REECRITURE/ABRIAL/sldp.ieee1394.pdf The Leader Election Protocol (IEEE 1394)]&lt;br /&gt;
** [http://link.springer.com/article/10.1023%2FA%3A1008764923992 Verification of a Leader Election Protocol: Formal Methods Applied to IEEE 1394]&lt;br /&gt;
** Reference solution: [[Media:FASDS.pdf|Chapter 12]]&lt;br /&gt;
* Lab 7: Lab Exam&lt;br /&gt;
** Homework defenses&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lab 7: KeY Introduction&lt;br /&gt;
** Installation: [[Media:ITI0130_Lab7_2016_KeY.pdf|KeY Installation]]&lt;br /&gt;
** Bank example: [[Media:ITI0130_Lab7_2016_Bank.zip|Bank example]]&lt;br /&gt;
** Bank JML: [[Media:ITI0130_Lab7_2016_Bank_JML.zip|Bank JML]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lab 5: Design-by-Contract&lt;br /&gt;
** [https://github.com/nhatminhle/cofoja Contracts for Java (Cofoja)]&lt;br /&gt;
** [https://code.google.com/p/cofoja/w/list Cofoja wiki page]&lt;br /&gt;
** [[Media:ITI0130_Lab5_cofoja_setup.pdf|Installation instructions]]&lt;br /&gt;
** [[Media:ITI0130_Lab5_FM_cofoja.zip|Sample code]]&lt;br /&gt;
&lt;br /&gt;
* Lab 6: Design-by-Contract&lt;br /&gt;
** [[Media:ITI0130_Lab5_db.zip|Database]]&lt;br /&gt;
&lt;br /&gt;
* Lab 7: Design-by-Contract&lt;br /&gt;
** [[Media:ITI0130_Lab7_db2.zip|Secure Database]]&lt;br /&gt;
&lt;br /&gt;
* Lab 8: Design-by-Contract&lt;br /&gt;
** [[Media:ITI0130_Lab7_assignment_cofoja.zip|Cofoja Assignment]]&lt;br /&gt;
*** [[Media:ITI0130_Lab7_assignment_Instruction.pdf|Instructions]]&lt;br /&gt;
&lt;br /&gt;
* Lab 9: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab8_Key_Instruction.pdf|Installation]]&lt;br /&gt;
&lt;br /&gt;
* Lab 10: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab9_Key_practise.zip|Key Examples]]&lt;br /&gt;
&lt;br /&gt;
* Lab 11: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab11_Key_practise.zip|JML]]&lt;br /&gt;
** [[Media:ITI0130_Lab11_summax.zip|SumAndMax Example]]&lt;br /&gt;
&lt;br /&gt;
* Lab 12: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab12_Key_assignment.zip|Key assignment]]&lt;br /&gt;
&lt;br /&gt;
* Lab 13: Key Tool&lt;br /&gt;
** [[Media:ITI0130_Lab13_Bank_example_solution.zip|Solution to Bank example]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exercises==&lt;br /&gt;
* [[Media:Test 1_2017for practicing.pdf|Exercises 1]]: Model checking (explicit and symbolic state)&lt;br /&gt;
* [[Media:Exercises_2.pdf|Exercises 2]]: Partial correctness of WHILE-programs&lt;br /&gt;
** [[Media:while_program_example_2015.pdf|Example 1]]: Partial correctness of WHILE-loop&lt;br /&gt;
** [[Media:DEDUCTIVE_VERIFICATION_Example_2.pdf|Example 2]]: Partial correctness of FOR-loop&lt;br /&gt;
* Partial correctness of non-deterministic and parallel programs&lt;br /&gt;
** [[Media:Exercises__3.pdf|Exercises 3.1]]: Partial correctness of non-deterministic and parallel programs&lt;br /&gt;
** [[Media:Test3_exercises_solutions.pdf|Exercises 3.2]]: Partial correctness of non-deterministic and parallel programs &lt;br /&gt;
** [[Media:Harjutused_3.pdf|Exercises 3.3]]: Parallel programs with message passing&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
* [http://www.fmeurope.org/ Formal Methods Europe]&lt;br /&gt;
* [[Media: 1st_order_proof_rules.pdf|Genzen&amp;#039;s proof system for 1st order logic]]: &lt;br /&gt;
* [[Media: Proof_rules_of_Hoare_logic.pdf|HL proof rules for sequential and parallel programs]]:&lt;br /&gt;
* [[Media: Invariants.pdf|Some guidlines how to find invariants]]&lt;br /&gt;
* Mike Gordon&amp;#039;s lecture notes on Hoare logic [http://www.lsv.ens-cachan.fr/~demri/Gordon14.pdf]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2015)&amp;diff=9669</id>
		<title>Loogiline programmeerimine (2015)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2015)&amp;diff=9669"/>
		<updated>2020-11-01T21:01:17Z</updated>

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

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
&amp;lt;!-- ** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]] --&amp;gt;&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8891</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8891"/>
		<updated>2019-11-11T13:46:19Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8865</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8865"/>
		<updated>2019-11-04T14:03:02Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR09_juhend_2019.pdf&amp;diff=8864</id>
		<title>Fail:ITI0211 Praktikum PR09 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR09_juhend_2019.pdf&amp;diff=8864"/>
		<updated>2019-11-04T14:02:36Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8863</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8863"/>
		<updated>2019-11-04T14:02:19Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 9: Grammatika (PR09)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8862</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8862"/>
		<updated>2019-11-04T14:01:52Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR09_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR08_juhend_2019.pdf&amp;diff=8837</id>
		<title>Fail:ITI0211 Praktikum PR08 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR08_juhend_2019.pdf&amp;diff=8837"/>
		<updated>2019-10-28T13:48:00Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8836</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8836"/>
		<updated>2019-10-28T13:46:38Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6&amp;amp;7: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06&amp;amp;PR07 juhend]]&lt;br /&gt;
* Praktikum 8: Semantiline Võrk (PR08)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR08_juhend_2019.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR06_juhend_2019.pdf&amp;diff=8787</id>
		<title>Fail:ITI0211 Praktikum PR06 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR06_juhend_2019.pdf&amp;diff=8787"/>
		<updated>2019-10-14T12:59:43Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8786</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8786"/>
		<updated>2019-10-14T12:59:27Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[Media:Kordamisküsimused_Testiks 1_ 2019.pdf|Loengu ajal (08.10.2019) harjutus, ettevalmistus kontrolltööks]]&lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
* Praktikum 6: Reisi leidmine III (PR06)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR06_juhend_2019.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR05_juhend_2019.pdf&amp;diff=8760</id>
		<title>Fail:ITI0211 Praktikum PR05 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR05_juhend_2019.pdf&amp;diff=8760"/>
		<updated>2019-10-07T12:29:03Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8759</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8759"/>
		<updated>2019-10-07T12:28:21Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* Loengu ajal (08.10.2019): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
* Praktikum 5: Reisi leidmine II (PR05)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR05_juhend_2019.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR04_juhend_2019.pdf&amp;diff=8722</id>
		<title>Fail:ITI0211 Praktikum PR04 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR04_juhend_2019.pdf&amp;diff=8722"/>
		<updated>2019-09-30T12:44:51Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8721</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8721"/>
		<updated>2019-09-30T12:44:26Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* Loengu ajal (08.10.2019): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
* Praktikum 4: Reisi leidmine I (PR04)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR04_juhend_2019.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR03_juhend_2019.pdf&amp;diff=8674</id>
		<title>Fail:ITI0211 Praktikum PR03 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR03_juhend_2019.pdf&amp;diff=8674"/>
		<updated>2019-09-23T12:16:35Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8673</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8673"/>
		<updated>2019-09-23T12:15:38Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0211_Loeng_3__2019_LP.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* Loengu ajal (08.10.2019): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
* Praktikum 3: Listid (PR03)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR03_juhend_2019.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR02_juhend_2019.pdf&amp;diff=8627</id>
		<title>Fail:ITI0211 Praktikum PR02 juhend 2019.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:ITI0211_Praktikum_PR02_juhend_2019.pdf&amp;diff=8627"/>
		<updated>2019-09-16T12:43:14Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8626</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8626"/>
		<updated>2019-09-16T12:42:23Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* Loengu ajal (08.10.2019): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 1: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Rekursioon (PR02)&lt;br /&gt;
** [[Media:ITI0211_Praktikum_PR02_juhend_2019.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8559</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8559"/>
		<updated>2019-09-10T13:23:37Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Loengud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* Loengu ajal (08.10.2019): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (15.10.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (26.11.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (03.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (10.12.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (17.12.2019): &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kabe turniir &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8557</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8557"/>
		<updated>2019-09-10T13:17:13Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Loengud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]] (03.09.2019): Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]] (10.09.2019): Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]] (17.09.2019): Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]] (24.09.2019): Loogilise programmeerimise andmestruktuurid (slaidid) - Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 5]] (01.10.2019): Loogilise programmi täitmise juhtimine&lt;br /&gt;
* Loengu ajal (08.10.2019): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (15.10.2019) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 6]]: Loogilise programmeerimise andmestruktuurid (slaidid) - Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 7]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8554</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8554"/>
		<updated>2019-09-10T12:59:34Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0211_Loeng 1__2019.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid) Listid ja rekursioon&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid) Freimid ja semantiline võrk&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8539</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8539"/>
		<updated>2019-09-09T13:07:40Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR01)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR01 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8538</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8538"/>
		<updated>2019-09-09T13:00:13Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8498</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8498"/>
		<updated>2019-09-02T12:25:58Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 0: Tutvumine loogilise programmeerimise keskkonnaga (PR00)&lt;br /&gt;
** [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8497</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8497"/>
		<updated>2019-09-02T12:19:20Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [00, 01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [0, 1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8492</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8492"/>
		<updated>2019-09-02T10:38:37Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Praktikumid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0211-2019&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8491</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8491"/>
		<updated>2019-09-01T14:00:01Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Sügis 2019 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0021-2018&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8490</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8490"/>
		<updated>2019-09-01T13:55:45Z</updated>

		<summary type="html">&lt;p&gt;Evelin: /* Sügis 2019 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: (õppejõud prof. Jüri Vain)&lt;br /&gt;
** Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 &lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0021-2018&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8489</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8489"/>
		<updated>2019-09-01T13:51:37Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: Teisipäeval kl. 10:00 - 11:30 ruumis ICT-315 (õppejõud prof. Jüri Vain)&lt;br /&gt;
&amp;lt;!-- NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: Evelin Halling)&lt;br /&gt;
**  IAIB51,  IAIB52 &lt;br /&gt;
*** Esmaspäeval kl. 16:00-17:30 ICT-403&lt;br /&gt;
** IAIB53,  IAPM31&lt;br /&gt;
*** Esmaspäeval kl. 17:45-19:15 ICT-403&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0021-2018&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8488</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8488"/>
		<updated>2019-09-01T13:43:33Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppeaine maht&amp;#039;&amp;#039;&amp;#039;: 6 EAP&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontrollivorm&amp;#039;&amp;#039;&amp;#039;: Hindeline arvestus&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: Kolmapäeval kl. 10:00 - 11:30 ruumis U06-201 (õppejõud prof. Jüri Vain)&lt;br /&gt;
NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga&lt;br /&gt;
&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)&lt;br /&gt;
**  IAPB53,  IAPB54 &lt;br /&gt;
*** Rühm A: Teisipäeval  kl. 10:00-11:30 ICT-403&lt;br /&gt;
*** Rühm B: Teisipäeval  kl. 14:00-15:30 ICT-403&lt;br /&gt;
** IAPB51,  IAPB52&lt;br /&gt;
*** Kolmapäeval kl. 12:00-13:30 ICT-401&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0021-2018&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8487</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8487"/>
		<updated>2019-09-01T13:41:32Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0211&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2018)| Sügis 2018]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2019==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: Kolmapäeval kl. 10:00 - 11:30 ruumis U06-201 (õppejõud prof. Jüri Vain)&lt;br /&gt;
NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga&lt;br /&gt;
&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)&lt;br /&gt;
**  IAPB53,  IAPB54 &lt;br /&gt;
*** Rühm A: Teisipäeval  kl. 10:00-11:30 ICT-403&lt;br /&gt;
*** Rühm B: Teisipäeval  kl. 14:00-15:30 ICT-403&lt;br /&gt;
** IAPB51,  IAPB52&lt;br /&gt;
*** Kolmapäeval kl. 12:00-13:30 ICT-401&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0021-2018&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8486</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8486"/>
		<updated>2019-09-01T13:39:50Z</updated>

		<summary type="html">&lt;p&gt;Evelin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--#suuna [[Loogiline programmeerimine]]--&amp;gt;&lt;br /&gt;
&amp;lt;!-- #suuna [[Loogiline programmeerimine (2015)]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: TBA eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursus varasematel aastatel: [[Loogiline programmeerimine (2017)| Sügis 2017]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sügis 2018==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Praktikumide järelkaitsmine toimub 9. jaanuaril kell 10.00 (ICT-401)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ==NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltööde järeltööd s.h. koondtest 16. jaanuaril kell 10.00 (ICT-411)== --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Loeng: Kolmapäeval kl. 10:00 - 11:30 ruumis U06-201 (õppejõud prof. Jüri Vain)&lt;br /&gt;
NB!&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Loenguruum on muutunud võrreldes algse tunniplaaniga&lt;br /&gt;
&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Videosalvestused]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikumid: (õppejõud: prof. Jüri Vain, Sven Nõmm, Evelin Halling)&lt;br /&gt;
**  IAPB53,  IAPB54 &lt;br /&gt;
*** Rühm A: Teisipäeval  kl. 10:00-11:30 ICT-403&lt;br /&gt;
*** Rühm B: Teisipäeval  kl. 14:00-15:30 ICT-403&lt;br /&gt;
** IAPB51,  IAPB52&lt;br /&gt;
*** Kolmapäeval kl. 12:00-13:30 ICT-401&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Eksam&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2016, kell 10.00 Akadeemia tee 15A ruumis ICT-411&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;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)&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Programmeerimistööde kaitsmine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;07.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;21.01.2015, kell 10.00 - 12.00 Akadeemia tee 15A ruumis ICT-403&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Hindamiskriteeriumid==&lt;br /&gt;
* [[Media:Hindamiskriteeriumid2018Sest.pdf|HINDAMISKRITEERIUMID vt siit]]&lt;br /&gt;
&amp;lt;!--* Hindelise arvestuse eelduseks on praktikumitööde (10 praktikumi) ja kodutöö esitamine ning kontrolltööde (3 kontrolltööd) sooritamine.&lt;br /&gt;
* Praktikumi- ja kodutööd tuleb panna GIT-i ja kaitsta praktikumi ajal TTÜ arvutiklassis. E-postiga saadetud töid ei arvestata.&lt;br /&gt;
* Praktikumi ülesanded: 10 tk - tähtaegselt esitatud ülesanne 1 p, pärast tähtaega 0 p (Kokku max: 10 p)&lt;br /&gt;
* Kodutöö - Kabe programmi programmeerimine - 10 p&lt;br /&gt;
** Võimalikud boonuspunktid &lt;br /&gt;
* Kontrolltööd (3 tk - kokku 80 p)&lt;br /&gt;
** Kontrolltöö 1 - põhimõisted 30 p&lt;br /&gt;
** Kontrolltöö 2 - rekursiooni programmeerimine 30 p&lt;br /&gt;
** Kontrolltöö 3 - teadmiste esitamine Prologis 20 p &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* 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.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Järeltööd testidele toimuvad semestri viimaste loengute aegadel &lt;br /&gt;
** TBA järeltööd kontrolltööle 1 &lt;br /&gt;
** TBA järeltööd kontrolltööle 2 &lt;br /&gt;
* Järeltööde sooritamise tingimused:&lt;br /&gt;
** Esimesel katsel tuleb teha järeltööd konkreetselt sellele tööle, mille tulemus oli alla 51%.&lt;br /&gt;
** Kui ka järeltöö ebaõnnestub, tuleb sooritada koondtöö kursuse kogu materjali peale.&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Testide ja praktikumide jooksvad tulemused asuvad Moodles (ained.ttu.ee)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==Loengud==&lt;br /&gt;
* [[Media:ITI0021_Loeng 1__2018.pdf|Loeng 1]]: Mis on loogiline programmeerimine? (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2018.pdf|Loeng 2]]: Loogilise programmeerimise keel Prolog (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2018.pdf|Loeng 3]]: Loogilise programmeerimise alused (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2018.pdf|Loeng 4]]: Loogilise programmeerimise andmestruktuurid (slaidid)&lt;br /&gt;
* [[Media:ITI0021_Loeng_5_2018_.pdf|Loeng 5]]: Hulgateooria ja algebra mõistete kasutamine loogilises programmeerimises&lt;br /&gt;
* Loengu ajal (10.10.2018): harjutus, ettevalmistus kontrolltööks &lt;br /&gt;
* Loengu ajal (17.10.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I &amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2018.pdf|Loeng 7]]: Loogilise programmi täitmise juhtimine&lt;br /&gt;
* [[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])&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2018_.pdf|Loeng 9]]: Constraint logic programming&lt;br /&gt;
* Loengu ajal (21.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (28.11.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö I järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
* Loengu ajal (5.12.2018) &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; Kontrolltöö II järeltöö &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:ITI0021_Loeng_2_1_2015.pdf|Loeng 2.1]]: Loogika alusmõisted: lauseloogika &lt;br /&gt;
* [[Media:ITI0021_Loeng_2_2_2015.pdf|Loeng 2.2]]: Loogika alusmõisted: predikaatloogika&lt;br /&gt;
* [[Media:ITI0021_Loeng_2 2016.pdf|Loeng 3]]: Loogilise programmeerimise keel Prolog&lt;br /&gt;
* [[Media:ITI0021_Loeng_3_2015.pdf|Loeng 4]]: Resolutsioon ja unifitseerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_4_2015.pdf|Loeng 5]]: Prologi andmestruktuurid: listid, freimid (lisamaterjal [http://www.learnprolognow.org/lpnpage.php?pageid=teaching] vt Chapter 10)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 1 (10.10.2017):&amp;#039;&amp;#039;&amp;#039; 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.  &lt;br /&gt;
* [[Media:ITI0021_Loeng_6_2016.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine&lt;br /&gt;
* [[Media:ITI0021_Loeng_7_2016.pdf|Loeng 7]]: Prolog programmi täitmine ja täitmise juhtimine&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;Loengu (31.10.17) ajal toimub harjutus Kontrolltööks 2. &amp;#039;&amp;#039;&amp;#039; Teema: Rekursiooni ja tagasivõtuga otsingu programmeerimine &amp;lt;/span&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- * &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 2 (7.11.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5, 6 ja 7 materjalile: rekursioon, listid, rekursiivsed reeglid listidel, otsingu juhtimine&lt;br /&gt;
* [[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]&lt;br /&gt;
* [[Media:ITI0021_Loeng_9_2017.pdf|Loeng 9]]: Mängu ja otsingustrateegiate programmeerimine&lt;br /&gt;
* Loeng 10: Prologi liidestamine C ja Java programmidega&lt;br /&gt;
* Loeng 11: Tehisintellekti algoritmide programmeerimine Prologis &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 (05.12.2017):&amp;#039;&amp;#039;&amp;#039; Loengute 5,6,7,8,9 materjalile &lt;br /&gt;
&lt;br /&gt;
** Algebra ja hulgateooria mõisted&lt;br /&gt;
** DCG grammatikareeglid, reeglite Prologi sisekuju &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
** Programmeerimisülesanded: otsingu juhtimine predikaatide repeat, fail ja cut abil (vt. Praktikum PR10 juhendit).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* (15.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltööde 1 ja 2 järeltööd&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (22.12.2016) &amp;#039;&amp;#039;&amp;#039;Kontrolltöö 3 järeltöö&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (12.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg I&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* (19.01.2017) &amp;#039;&amp;#039;&amp;#039;Järeltööde sooritamise lisaaeg II&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
* [[Media:Loeng_5.pdf|Loeng 5]]:Loogilise programmeerimise andmestrutuurid&lt;br /&gt;
* [[Media:ITI0021_Loeng_7.pdf|Loeng 6]]: Hulgateooria ja algebra mõistete programmeerimine Prologis &lt;br /&gt;
* Test 2 (29.10.2014): Listioperatsioonide programmeerimine rekursiooni abil &lt;br /&gt;
* [[Media:ITI0021_Loeng_9.pdf|Loeng 9]]: Loogikate LA ja CTL interpreteerimine&lt;br /&gt;
* [[Media:ITI0021_Lecture_10.pdf|Loeng 10]]: Constraint Logic Programming&lt;br /&gt;
* Test 3 (26.11.2014): Loengute 6-9 materjal&lt;br /&gt;
* Järeltöö I (03.12.2014)&lt;br /&gt;
* Järeltöö II (10.12.2014)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * Loeng 4: Test 1: Loogilise programmeerimise põhimõisted&lt;br /&gt;
* Loogilise programmeerimise andmestruktuurid&lt;br /&gt;
* Hulgateooria ja algebra mõistete programmeerimine Prologis&lt;br /&gt;
* DCG grammatika reeglid ja loomuliku keele parsimine&lt;br /&gt;
* Loeng 9: Listioperatsioonide programmeerimine rekursiooni abil (harjutus Test2-ks)&lt;br /&gt;
* Loeng 10: Test 2: Listioperatsioonide programmeerimine rekursiooni abil&lt;br /&gt;
* Predikaat- ja temporaalloogika valemite interpreteerimine&lt;br /&gt;
* Prologi integreerimine teiste programmeerimiskeelte ja keskkondadega&lt;br /&gt;
* Kitsendustega loogiline programmeerimine&lt;br /&gt;
* Loeng 14: Test 3: Loengute 6-8,11-13 materjal&lt;br /&gt;
* Loeng 15: Testide 1 ja 2 järeltööd&lt;br /&gt;
* Loeng 16: Koondjäreltöö * --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Videoloengud ==&lt;br /&gt;
* [https://echo360.org.uk/section/b3cdecb6-ae60-4509-8944-62488629ea1e/public Link videoloengutele]&lt;br /&gt;
&lt;br /&gt;
==Praktikumid==&lt;br /&gt;
Praktikumides kasutame SWI-Prologi [http://www.swi-prolog.org/ SWI-Prolog].&lt;br /&gt;
&lt;br /&gt;
Eclipse plugin: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/start Prolog Development Tool - PDT].&lt;br /&gt;
* Installeerimise juhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/download]&lt;br /&gt;
* Kasutusjuhend: [http://sewiki.iai.uni-bonn.de/research/pdt/docs/getting_started]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
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 &amp;#039;&amp;#039;&amp;#039;KÕIK VÄIKESED TÄHED!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[ITI0011:git|Giti juhend Eclipse&amp;#039;is kasutamiseks]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GIT&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Mine aadressile https://gitlab.cs.ttu.ee/ ja logi sisse oma UNI-ID kasutajanimega.&lt;br /&gt;
&lt;br /&gt;
Loo endale projekt nimega &amp;#039;&amp;#039;&amp;#039;&amp;quot;iti0021-2018&amp;quot;&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;NB!! Väikesed tähed&amp;#039;&amp;#039;&amp;#039;). &lt;br /&gt;
https://gitlab.cs.ttu.ee/dashboard/projects -&amp;gt; &amp;quot;New Project&amp;quot;. Visibility las olla &amp;quot;private&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Kui projekt tehtud, siis mine üleval menüüst &amp;quot;Members&amp;quot;.&lt;br /&gt;
Lisa kasutajatena &amp;#039;hodor-live&amp;#039; ja &amp;#039;Evelin.Halling&amp;#039;. Määra &amp;quot;access level&amp;quot; &amp;quot;Developer&amp;quot;.&lt;br /&gt;
Nüüd saavad kursuse õppejõud sinu repole ligi. Samuti saab sinu repole ligi tester.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisa webhook. Ülevalt &amp;quot;Settings&amp;quot; -&amp;gt; &amp;quot;Integrations&amp;quot;. Sinna kirjuta&lt;br /&gt;
URL: https://ained.ttu.ee/mod/charon/api/git_callback&lt;br /&gt;
Jäta peale &amp;quot;Push events&amp;quot;&lt;br /&gt;
Võta maha linnuke &amp;quot;Enable SSL verification&amp;quot;&lt;br /&gt;
Nüüd nupp &amp;quot;Add webhook&amp;quot;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Praktikumi ülesanded tuleb laadida mainitud tähtajaks git&amp;#039;i vastavasse kausta (&amp;#039;&amp;#039;&amp;#039;PRxx&amp;#039;&amp;#039;&amp;#039;, kus xx on praktikumi number [01, 02, 03, 04, jen.]). Kaustas peab olema fail nimega &amp;#039;&amp;#039;&amp;#039;prax0x.pl&amp;#039;&amp;#039;&amp;#039; (kus x on praktikumi number [1, 2, 3, 4, jne.]). Kaustas võib olla ka teisi faile, mis imporditakse prax0x.pl poolt.&lt;br /&gt;
&lt;br /&gt;
* Praktikum 1: Tutvumine loogilise programmeerimise keskkonnaga [http://www.swi-prolog.org/ SWI-Prolog]&lt;br /&gt;
** [[Media:ITI0021_Praktikum_1_juhend.pdf|Praktikumi 1 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_1.pdf|Objektid ja nende omadused]] &lt;br /&gt;
** NB! Seda ülesannet ei tule laadida git-i &lt;br /&gt;
&lt;br /&gt;
* Praktikum 2: Prologi teadmusbaasi koostamine (PR02)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_2_juhend.pdf|Praktikumi PR02 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 3: Rekursioon (PR03)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR03_juhend_2018.pdf|Praktikumi PR03 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 4: Rekursioon (PR04)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR04_juhend_2018.pdf|Praktikumi PR04 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_praktikum_PR04_näited_2016.pl|Klassid ja pärimine]]&lt;br /&gt;
** Lisamaterjal: [[Media:ITI0021_praktikum_PR04_isco_klassifikaatorid.xls |ISCO ametite klassifikatsioon]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid (PR05)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR05_juhend_2018.pdf|Praktikumi PR05 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 6: Hulgateoreetilised tehted (PR06)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR06_juhend_2018.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid (PR07)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR07_juhend_2018.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 8: Semantilised võrgud ja freimid (PR08)&lt;br /&gt;
** [[Media:ITI0021_praktikumi_PR08_juhend_2018.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 9: DCG grammatika ja loomuliku keele interpreteerimine (PR09)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2018.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum 10: Faktide hulgal otsingu programmeerimine (PR10)&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR10_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Tuleb implementeerida predikaadid &amp;#039;vota&amp;#039; ja &amp;#039;tee_kaik&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Praktikum 11: Tammi programmeerimine (PR11)&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis PR10) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** predikaat &amp;#039;kaigu_variandid&amp;#039; peab toetama tammiga käimist ja võtmist&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR06: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi PR06 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR07: Hulgateoreetilised tehted&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR07_juhend_2016.pdf|Praktikumi PR07 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR08: Otsingu juhtimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR08_juhend_2016.pdf|Praktikumi PR08 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR09: Reisi marsuudi leidimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2017.pdf|Praktikumi PR09 juhend]]&lt;br /&gt;
&lt;br /&gt;
* Praktikum PR10: DCG grammatika ja loomuliku keele interpreteerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR09_juhend_2016.pdf|Praktikumi PR10 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Praktikum PR12: ALEPH algoritm (A Learning Engine for Proposing Hypotheses) &lt;br /&gt;
** [[Media:ITI0021_Praktikum_PR12_juhend_2016.pdf|Praktikumi PR12 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 5: Listid &lt;br /&gt;
** [[Media:ITI0021_Praktikum_5_juhend_2015.pdf|Praktikumi 5 juhend]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Praktikum 7: Semantilised võrgud ja freimid&lt;br /&gt;
** [[Media:ITI0021_praktikumi_7_juhend_2015.pdf|Praktikumi 7 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI_0021_praktikum_7_näited.pl|Klassid ja pärimine]]&lt;br /&gt;
*Praktikum 8: DCG grammatika ja loomuliku keele interpreteerimine&lt;br /&gt;
** [[Media:ITI0021_Praktikum_8_juhend_2015.pdf|Praktikumi 8 juhend]]&lt;br /&gt;
* Praktikum 9: Faktide hulgal otsingu programmeerimine &lt;br /&gt;
** [[Media:ITI0021_Praktikum_9_juhend_2015.pdf|Praktikumi 9 juhend]]&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_9_kabe_2015.pl|Otsing kabe näitel]]&lt;br /&gt;
** Programm [[Media:arbiiter.pl |Arbiiter juhib mängu]]&lt;br /&gt;
* Praktikum 10: Tammi programmeerimine&lt;br /&gt;
** Programmeerida Tammi käigud. Kasuta eelmises praktikumis (Praktikumis 9) loodud kabe programmi. &lt;br /&gt;
** Tammi käikude programmeerimise algoritm on toodud kodutöö ülesande kirjelduses.&lt;br /&gt;
** [[Media: Kodutöö_kabe_2013.pdf |Kodutöö tööülesande kirjeldus]] &lt;br /&gt;
* Praktikum 11: Tammi programmeerimine&lt;br /&gt;
** Jätkub Tammi programmeerimine (Praktikum 10). Uut ülesannet ei anta.&lt;br /&gt;
* Praktikum 12: CTL valemite interpreteerimine&lt;br /&gt;
** [[Media: Praktikum_12_juhend_2015.pdf |&amp;quot;Eventuality&amp;quot; valemid ja Kripke struktuur]] .&lt;br /&gt;
* Praktikum 13 (20.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 14 (27.11.2015): Iseseisev töö koduülesandega: Kabe programmeerimine &lt;br /&gt;
* Praktikum 15 (03.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid&lt;br /&gt;
* Praktikum 16 (10.12.2015): Võimalus kaitsta varasemaid praktikumiülesandeid ja konsultatsioonid kodutöö osas&lt;br /&gt;
* (17.12.2015): Kodutööde kaitsmine ja kabeprogrammide võistlus&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Näidismaterjal: [[Media:ITI0021_Praktikum_2.pl|Tea&amp;#039;&amp;#039;&amp;#039;Ainekood&amp;#039;&amp;#039;&amp;#039;: ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Link&amp;#039;&amp;#039;&amp;#039;: http://courses.cs.ttu.ee/pages/ITI0021&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Õppejõud&amp;#039;&amp;#039;&amp;#039;: prof. Jüri Vain&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: juri.vain ätt ttu.ee, ICT-418, Vastuvõtu aeg: esmaspäeval kl. 16:00 - 17:00 eelneval kokkuleppel e-maili kaudu&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Kursus varasematel aastatel: [[Loogiline programmeerimine (2014)]] [http://vana.cs.ttu.ee/tiki-index.php?page=ITI0020 2013]&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kodutöö 2018==&lt;br /&gt;
* Kodutööks on kabeprogrammi programmeerimine Prologis &lt;br /&gt;
* Kood laadida git-i salve: KABE&lt;br /&gt;
* Kabe&lt;br /&gt;
** [[Media: Kodutöö_kabe2015.pdf|Tööülesande kirjeldus]] &lt;br /&gt;
** Mängu üldkirjeldus: [https://en.wikipedia.org/wiki/Russian_draughts]&lt;br /&gt;
** Ametlikud võistlusreeglid:[http://fmjd64.org/rules-of-the-game/]&lt;br /&gt;
&lt;br /&gt;
** Graafiline Arbiiter:&lt;br /&gt;
*** [[Media:GraphicArbiter.zip |Arbiiter (Graafiline)]]&lt;br /&gt;
&lt;br /&gt;
** Programm Arbiiter juhib mängu. &lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf32.zip |Arbiiter (Prolog32)]]&lt;br /&gt;
*** Arbiiter UTF-8 kodeeringus:[[Media:arbiiterutf64.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter turniiriks:[[Media:arbiiter_1.zip |Arbiiter (Prolog64)]]&lt;br /&gt;
*** Arbiiter arendus:[[Media:arbiiter_arendus.zip |Arbiiter (Arendus)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** Programm [[Media:kabeprogramm.pl | Näidisprogramm]]&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
Kodutöö esitamise tähtaeg on eelviimane ja viimane praktikum, mil toimub kabeturniir (programmikood panna moodle-sse)&lt;br /&gt;
&lt;br /&gt;
==Lisamaterjalid==&lt;br /&gt;
* [https://www.youtube.com/watch?v=JNMR18Ldbcw Logic Programming in Python]&lt;br /&gt;
* [http://www.learnprolognow.org/lpnpage.php?pageid=top Learn Prolog Now]&lt;br /&gt;
* [http://www.youtube.com/watch?v=09zlcS49zL0 Web Testing with Logic Programming - Daniel Gregoire]&lt;br /&gt;
* [https://www.amzistore.com/dcm_bookstore.php  Uut lugemist Prologis ja selle rakendustest!] [[Pilt:Näidis.jpg]]&lt;br /&gt;
* Tõnu Tamme. Loogilise programmeerimise meetod. Tartu, 2003. [http://dspace.ut.ee/handle/10062/24396 PDF formaadis raamat Tartu Ülikooli digikogus]&lt;br /&gt;
* [https://dev.to/matchilling/introduction-to-logic-programming-with-prolog-cdh  Mathias Schilling Introduction to logic programming with Prolog ]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8485</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8485"/>
		<updated>2019-09-01T13:37:23Z</updated>

		<summary type="html">&lt;p&gt;Evelin: Ümbersuunamine lehele Loogiline programmeerimine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[Loogiline programmeerimine]]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8484</id>
		<title>Loogiline programmeerimine (2020)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Loogiline_programmeerimine_(2020)&amp;diff=8484"/>
		<updated>2019-09-01T13:36:41Z</updated>

		<summary type="html">&lt;p&gt;Evelin: Evelin teisaldas lehekülje Loogiline programmeerimine pealkirja Loogiline programmeerimine (2018) alla&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#suuna [[Loogiline programmeerimine (2018)]]&lt;/div&gt;</summary>
		<author><name>Evelin</name></author>
	</entry>
</feed>