<?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=Priit</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=Priit"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/pages/Eri:Kaast%C3%B6%C3%B6/Priit"/>
	<updated>2026-04-12T10:56:46Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11649</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11649"/>
		<updated>2025-01-10T16:38:35Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Sügissemester */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Sügissemester ==&lt;br /&gt;
&lt;br /&gt;
Õppetöö sisaldab seminari, mis toimub 1x nädalas auditooriumis. Muu osa kursusest on võimalik läbida iseseisvalt.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Kui ITI0204 pole tehtud, ei ole deklareerimiseks tarvis eraldi luba küsida.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles.&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar neljapäeviti U05-103 12:00&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33785  (liitumine ilma võtmeta) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursus on võimalik läbida ilma ülikoolis kohal viibimata. Õppekeel (eesti/inglise) selgub semestri alguses vastavalt vajadusele.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=34760  (liitumine ilma võtmeta)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11648</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11648"/>
		<updated>2025-01-10T16:36:21Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Kevadsemester */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Sügissemester ==&lt;br /&gt;
&lt;br /&gt;
Õppetöö sisaldab seminari, mis toimub 1x nädalas auditooriumis. Muu osa kursusest on võimalik läbida iseseisvalt.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Kui ITI0204 pole tehtud, ei ole deklareerimiseks tarvis eraldi luba küsida.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar neljapäeviti U05-103 12:00&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33785  (liitumine ilma võtmeta) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursus on võimalik läbida ilma ülikoolis kohal viibimata. Õppekeel (eesti/inglise) selgub semestri alguses vastavalt vajadusele.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=34760  (liitumine ilma võtmeta)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11647</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11647"/>
		<updated>2025-01-06T06:41:52Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Sügissemester ==&lt;br /&gt;
&lt;br /&gt;
Õppetöö sisaldab seminari, mis toimub 1x nädalas auditooriumis. Muu osa kursusest on võimalik läbida iseseisvalt.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Kui ITI0204 pole tehtud, ei ole deklareerimiseks tarvis eraldi luba küsida.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar neljapäeviti U05-103 12:00&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33785  (liitumine ilma võtmeta) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursus on võimalik läbida ilma ülikoolis kohal viibimata. Õppekeel (eesti/inglise) selgub semestri alguses vastavalt vajadusele.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
Moodle kursus pole veel avatud, tekib jaanuarikuu jooksul.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11453</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11453"/>
		<updated>2024-07-30T06:37:32Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Sügissemester */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Sügissemester ==&lt;br /&gt;
&lt;br /&gt;
Õppetöö sisaldab seminari, mis toimub 1x nädalas auditooriumis. Muu osa kursusest on võimalik läbida iseseisvalt.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Kui ITI0204 pole tehtud, ei ole deklareerimiseks tarvis eraldi luba küsida.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar neljapäeviti U05-103 12:00&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33785  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursus on võimalik läbida ilma ülikoolis kohal viibimata. Õppekeel (eesti/inglise) selgub semestri alguses vastavalt vajadusele.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11452</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11452"/>
		<updated>2024-07-08T17:33:29Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Sügissemester ==&lt;br /&gt;
&lt;br /&gt;
Õppetöö sisaldab seminari, mis toimub 1x nädalas auditooriumis. Muu osa kursusest on võimalik läbida iseseisvalt.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Kui ITI0204 pole tehtud, ei ole deklareerimiseks tarvis eraldi luba küsida.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar neljapäeviti U05-103 12:00&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=xxxxx  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursus on võimalik läbida ilma ülikoolis kohal viibimata. Õppekeel (eesti/inglise) selgub semestri alguses vastavalt vajadusele.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11451</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11451"/>
		<updated>2024-07-08T17:32:55Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Sügissemester ==&lt;br /&gt;
&lt;br /&gt;
Õppetöö sisaldab seminari, mis toimub 1x nädalas auditooriumis. Muu osa kursusest on võimalik läbida iseseisvalt.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Deklareerimiseks, kui ITI0204 pole tehtud, ei ole tarvis eraldi luba küsida.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar neljapäeviti U05-103 12:00&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=xxxxx  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursus on võimalik läbida ilma ülikoolis kohal viibimata. Õppekeel (eesti/inglise) selgub semestri alguses vastavalt vajadusele.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w3.pdf&amp;diff=11398</id>
		<title>Fail:SummerAI w3.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w3.pdf&amp;diff=11398"/>
		<updated>2024-04-11T05:59:29Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11397</id>
		<title>SummerAI</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11397"/>
		<updated>2024-04-11T05:57:53Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Study materials and assignment instructions.&lt;br /&gt;
&lt;br /&gt;
Schedule: TBD&lt;br /&gt;
&lt;br /&gt;
Lecturer: Priit Järv&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
* week 1: [[Media:SummerAI_w1.pdf|Introduction]]&lt;br /&gt;
* week 2: [[Media:SummerAI_w2.pdf|Machine Learning]]&lt;br /&gt;
* week 3: [[Media:SummerAI_w3.pdf|Large Language Models]]&lt;br /&gt;
* week 4: [[Media:SummerAI_w4.pdf|Technical Aspects of Machine Learning]]&lt;br /&gt;
* week 5: Ethics and Impact of AI&lt;br /&gt;
* week 6: Closed book test&lt;br /&gt;
&lt;br /&gt;
== Assignments ==&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group, outside the classroom.&lt;br /&gt;
&lt;br /&gt;
[[SummerAIhw1|Teachable Machine]] (deadline XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Lab Work ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group.&lt;br /&gt;
&lt;br /&gt;
For each assigment, write a text file with answers to the questions or results of the lab work. One or more groups will present their results to everyone. There will be a joint discussion.&lt;br /&gt;
&lt;br /&gt;
* [[SummerAIlab1|Classical Machine Learning]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab2|Neural Network]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab3|Using LLMs through a program]] (XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Submitting results ===&lt;br /&gt;
&lt;br /&gt;
Where to submit will be clarified before the start of the summer school.&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Your grade will be formed by:&lt;br /&gt;
* 50% participation: actively taking part of solving the homework. Will be self-graded.&lt;br /&gt;
* 50% written test.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Reclab3.zip&amp;diff=11396</id>
		<title>Fail:Reclab3.zip</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Reclab3.zip&amp;diff=11396"/>
		<updated>2024-04-11T05:56:21Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab3&amp;diff=11395</id>
		<title>SummerAIlab3</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab3&amp;diff=11395"/>
		<updated>2024-04-11T05:55:36Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;Movie recommendation using a large language model.  This assignment uses Google Colab. You only need a web browser and a Google account.  * Download and unzip the notebook from [...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Movie recommendation using a large language model.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[Media:reclab3.zip|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab3.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;br /&gt;
&lt;br /&gt;
[[SummerAI|Back to main page]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11384</id>
		<title>SummerAIhw1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11384"/>
		<updated>2024-03-27T19:54:48Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First steps in machine learning with [https://teachablemachine.withgoogle.com/ Teachable Machine].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal&amp;#039;&amp;#039;&amp;#039;: becoming familiar with the machine learning workflow. You will:&lt;br /&gt;
&lt;br /&gt;
* Collect data.&lt;br /&gt;
* Train the machine learning model.&lt;br /&gt;
* Evaluate the model.&lt;br /&gt;
&lt;br /&gt;
Choose one of three tasks: recognizing contents of images or videos, recognizing some sound, or recognizing poses of the human body. You must &amp;#039;&amp;#039;&amp;#039;collect your own data&amp;#039;&amp;#039;&amp;#039;. Downloading existing data may be acceptable if you have a very good idea, but it needs to be agreed beforehand.&lt;br /&gt;
&lt;br /&gt;
Go to https://teachablemachine.withgoogle.com/ and click &amp;quot;Get Started&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Task descriptions ==&lt;br /&gt;
&lt;br /&gt;
[[File:tm4.jpg|416px|choice of projects]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Image classification&amp;#039;&amp;#039;&amp;#039; is where you have pictures belonging to different &amp;quot;classes&amp;quot;. Examples: cats or dogs, people or scenery, different species of the iris flower, different traffic signs. Given a picture, the machine learning model must &amp;quot;predict&amp;quot; which class the picture belongs to. This also works with videos, which are basically sequences of images. If you choose this task, select &amp;quot;Standard image model&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sound classification&amp;#039;&amp;#039;&amp;#039; is similar, except works with sound files. If you choose this task, note that the project page also expects you to upload background noise.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;pose detection&amp;#039;&amp;#039;&amp;#039;, the model needs to first recognize where a person&amp;#039;s body, hands, feet and head are. From this it can draw a kind of a stick figure. The poses of this stick figure is then what the model will classify.&lt;br /&gt;
&lt;br /&gt;
== Collecting data ==&lt;br /&gt;
&lt;br /&gt;
Collect your data from the classroom, campus, town, wherever. To keep things simple, you should have two or three different things that the model should learn to recognize.&lt;br /&gt;
&lt;br /&gt;
If you use the webcam feature, you need to have Teachable Machine&amp;#039;s model training webpage open to record data. You can save an incomplete project to Google Drive and reopen it later. Pictures and sound clips can be collected however you like, then uploaded. Please be mindful of people&amp;#039;s privacy, when recording data that will be used to train a model.&lt;br /&gt;
&lt;br /&gt;
== Training and saving the model ==&lt;br /&gt;
&lt;br /&gt;
If you used the webcam, you are ready to train the model. [[File:tm5.jpg|right|train button]]&lt;br /&gt;
&lt;br /&gt;
If you have images or sound clips as files, take about 10% of those files and set them aside for testing. They will not be used in training the model. The rest should be divided to classes and uploaded under the appropriate class. You can rename the classes on the training webpage.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;Train Model&amp;quot; to start the training and wait until it finishes.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation ===&lt;br /&gt;
&lt;br /&gt;
When your model is ready, a preview panel will appear on the right. You can now upload some of the test files to see if the model is doing what it is supposed to, or use the webcam to test.&lt;br /&gt;
&lt;br /&gt;
There is also a more technical way to check how the training went. Click &amp;quot;Advanced&amp;quot; under the model training button, then &amp;quot;Under the hood&amp;quot;. You can then press the buttons to calculate accuracy per class and the confusion matrix - the latter is useful if you have more than two classes. This data may not be very reliable if you didn&amp;#039;t have many training examples.&lt;br /&gt;
&lt;br /&gt;
[[File:tm1.jpg|128px|border|under the hood]]&lt;br /&gt;
[[File:tm6.jpg|269px|border|statistics]]&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
&lt;br /&gt;
If the model seems to work reasonably, press the &amp;quot;Export model&amp;quot; button. The easiest way to save the model so that it can later be shown in the classroom is to use the &amp;quot;upload (shareable link)&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
[[File:tm2.jpg|145px|border|export model]]&lt;br /&gt;
[[File:tm3.jpg|230px|border|save to drive]]&lt;br /&gt;
&lt;br /&gt;
You can also choose &amp;quot;Save project to Drive&amp;quot; from the top left menu, if you want to keep working with it.&lt;br /&gt;
&lt;br /&gt;
[[SummerAI|Back to main page]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11383</id>
		<title>SummerAIhw1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11383"/>
		<updated>2024-03-27T15:11:25Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First steps in machine learning with [https://teachablemachine.withgoogle.com/ Teachable Machine].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal&amp;#039;&amp;#039;&amp;#039;: becoming familiar with the machine learning workflow. You will:&lt;br /&gt;
&lt;br /&gt;
* Collect data.&lt;br /&gt;
* Train the machine learning model.&lt;br /&gt;
* Evaluate the model.&lt;br /&gt;
&lt;br /&gt;
Choose one of three tasks: recognizing contents of images or videos, recognizing some sound, or recognizing poses of the human body. It is required that you &amp;#039;&amp;#039;&amp;#039;collect your own data&amp;#039;&amp;#039;&amp;#039;. Downloading existing data may be acceptable if you have a very good idea, but it needs to be agreed beforehand.&lt;br /&gt;
&lt;br /&gt;
Go to https://teachablemachine.withgoogle.com/ and click &amp;quot;Get Started&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Task descriptions ==&lt;br /&gt;
&lt;br /&gt;
[[File:tm4.jpg|416px|choice of projects]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Image classification&amp;#039;&amp;#039;&amp;#039; is where you have pictures belonging to different &amp;quot;classes&amp;quot;. Examples: cats or dogs, people or scenery, different species of the iris flower, different traffic signs. Given a picture, the machine learning model must &amp;quot;predict&amp;quot; which class the picture belongs to. This also works with videos, which are basically sequences of images. If you choose this task, select &amp;quot;Standard image model&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sound classification&amp;#039;&amp;#039;&amp;#039; is similar, except works with sound files. If you choose this task, note that the project page also expects you to upload background noise.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;pose detection&amp;#039;&amp;#039;&amp;#039;, the model needs to first recognize where a person&amp;#039;s body, hands, feet and head are. From this it can draw a kind of a stick figure. The poses of this stick figure is then what the model will classify.&lt;br /&gt;
&lt;br /&gt;
== Collecting data ==&lt;br /&gt;
&lt;br /&gt;
Collect your data from the classroom, campus, town, wherever. To keep things simple, you should have two or three different things that the model should learn to recognize.&lt;br /&gt;
&lt;br /&gt;
If you use the webcam feature, you need to have Teachable Machine&amp;#039;s model training webpage open to record data. Note that you can save an incomplete project to Google Drive and reopen it later. Pictures and sound clips can be collected however you like, then uploaded. Please be mindful of people&amp;#039;s privacy, when recording data that will be used to train a model.&lt;br /&gt;
&lt;br /&gt;
== Training and saving the model ==&lt;br /&gt;
&lt;br /&gt;
If you used the webcam, you are ready to train the model. [[File:tm5.jpg|right|train button]]&lt;br /&gt;
&lt;br /&gt;
If you have images or sound clips as files, take about 10% of those files and set them aside for testing. They will not be used in training the model. The rest should be divided to classes and uploaded under the appropriate class. Note you can rename the classes on the training webpage.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;Train Model&amp;quot; to start the training and wait until it finishes.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation ===&lt;br /&gt;
&lt;br /&gt;
When your model is ready, a preview panel will appear on the right. You can now upload some of the test files to see if the model is doing what it is supposed to, or use the webcam to test.&lt;br /&gt;
&lt;br /&gt;
There is also a more technical way to check how the training went. Click &amp;quot;Advanced&amp;quot; under the model training button, then &amp;quot;Under the hood&amp;quot;. You can then press the buttons to calculate accuracy per class and the confusion matrix - the latter is useful if you have more than two classes. Note this data may not be very reliable if you didn&amp;#039;t have many training examples.&lt;br /&gt;
&lt;br /&gt;
[[File:tm1.jpg|128px|border|under the hood]]&lt;br /&gt;
[[File:tm6.jpg|269px|border|statistics]]&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
&lt;br /&gt;
If the model seems to work reasonably, press the &amp;quot;Export model&amp;quot; button. The easiest way to save the model so that it can later be shown in the classroom is to use the &amp;quot;upload (shareable link)&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
[[File:tm2.jpg|145px|border|export model]]&lt;br /&gt;
[[File:tm3.jpg|230px|border|save to drive]]&lt;br /&gt;
&lt;br /&gt;
You can also choose &amp;quot;Save project to Drive&amp;quot; from the top left menu, if you want to keep working with it.&lt;br /&gt;
&lt;br /&gt;
[[SummerAI|Back to main page]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11382</id>
		<title>SummerAIhw1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11382"/>
		<updated>2024-03-27T15:09:28Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First steps in machine learning with [https://teachablemachine.withgoogle.com/ Teachable Machine].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal&amp;#039;&amp;#039;&amp;#039;: becoming familiar with the machine learning workflow. You will:&lt;br /&gt;
&lt;br /&gt;
* Collect data.&lt;br /&gt;
* Train the machine learning model.&lt;br /&gt;
* Evaluate the model.&lt;br /&gt;
&lt;br /&gt;
Choose one of three tasks: recognizing contents of images or videos, recognizing some sound, or recognizing poses of the human body. It is required that you &amp;#039;&amp;#039;&amp;#039;collect your own data&amp;#039;&amp;#039;&amp;#039;. Downloading existing data may be acceptable if you have a very good idea, but it needs to be agreed beforehand.&lt;br /&gt;
&lt;br /&gt;
Go to https://teachablemachine.withgoogle.com/ and click &amp;quot;Get Started&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Task descriptions ==&lt;br /&gt;
&lt;br /&gt;
[[File:tm4.jpg|416px|choice of projects]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Image classification&amp;#039;&amp;#039;&amp;#039; is where you have pictures belonging to different &amp;quot;classes&amp;quot;. Examples: cats or dogs, people or scenery, different species of the iris flower, different traffic signs. Given a picture, the machine learning model must &amp;quot;predict&amp;quot; which class the picture belongs to. This also works with videos, which are basically sequences of images. If you choose this task, select &amp;quot;Standard image model&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sound classification&amp;#039;&amp;#039;&amp;#039; is similar, except works with sound files. If you choose this task, note that the project page also expects you to upload background noise.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;pose detection&amp;#039;&amp;#039;&amp;#039;, the model needs to first recognize where a person&amp;#039;s body, hands, feet and head are. From this it can draw a kind of a stick figure. The poses of this stick figure is then what the model will classify.&lt;br /&gt;
&lt;br /&gt;
== Collecting data ==&lt;br /&gt;
&lt;br /&gt;
Collect your data from the classroom, campus, town, wherever. To keep things simple, you should have two or three different things that the model should learn to recognize.&lt;br /&gt;
&lt;br /&gt;
If you use the webcam feature, you need to have Teachable Machine&amp;#039;s model training webpage open to record data. Note that you can save an incomplete project to Google Drive and reopen it later. Pictures and sound clips can be collected however you like, then uploaded. Please be mindful of people&amp;#039;s privacy, when recording data that will be used to train a model.&lt;br /&gt;
&lt;br /&gt;
== Training and saving the model ==&lt;br /&gt;
&lt;br /&gt;
If you used the webcam, you are ready to train the model. [[File:tm5.jpg|right|train button]]&lt;br /&gt;
&lt;br /&gt;
If you have images or sound clips as files, take about 10% of those files and set them aside for testing. They will not be used in training the model. The rest should be divided to classes and uploaded under the appropriate class. Note you can rename the classes on the training webpage.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;Train Model&amp;quot; to start the training and wait until it finishes.&lt;br /&gt;
&lt;br /&gt;
=== Evaluation ===&lt;br /&gt;
&lt;br /&gt;
When your model is ready, a preview panel will appear on the right. You can now upload some of the test files to see if the model is doing what it is supposed to, or use the webcam to test.&lt;br /&gt;
&lt;br /&gt;
There is also a more technical way to check how the training went. Click &amp;quot;Advanced&amp;quot; under the model training button, then &amp;quot;Under the hood&amp;quot;. You can then press the buttons to calculate accuracy per class and the confusion matrix - the latter is useful if you have more than two classes. Note this data may not be very reliable if you didn&amp;#039;t have many training examples.&lt;br /&gt;
&lt;br /&gt;
[[File:tm1.jpg|128px|border|under the hood]]&lt;br /&gt;
[[File:tm6.jpg|269px|border|statistics]]&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
&lt;br /&gt;
If the model seems to work reasonably, press the &amp;quot;Export model&amp;quot; button. The easiest way to save the model so that it can later be shown in the classroom is to use the &amp;quot;upload (shareable link)&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
[[File:tm2.jpg|145px|border|export model]]&lt;br /&gt;
[[File:tm3.jpg|230px|border|save to drive]]&lt;br /&gt;
&lt;br /&gt;
You can also choose &amp;quot;Save project to Drive&amp;quot; from the top left menu, if you want to keep working with it.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11381</id>
		<title>SummerAIhw1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11381"/>
		<updated>2024-03-27T14:58:15Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First steps in machine learning with [https://teachablemachine.withgoogle.com/ Teachable Machine].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal&amp;#039;&amp;#039;&amp;#039;: becoming familiar with the machine learning workflow. You will:&lt;br /&gt;
&lt;br /&gt;
* Collect data.&lt;br /&gt;
* Train the machine learning model.&lt;br /&gt;
* Evaluate the model.&lt;br /&gt;
&lt;br /&gt;
Choose one of three tasks: recognizing contents of images or videos, recognizing some sound, or recognizing poses of the human body. It is required that you &amp;#039;&amp;#039;&amp;#039;collect your own data&amp;#039;&amp;#039;&amp;#039;. Downloading existing data may be acceptable if you have a very good idea, but it needs to be agreed beforehand.&lt;br /&gt;
&lt;br /&gt;
Go to https://teachablemachine.withgoogle.com/ and click &amp;quot;Get Started&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Task descriptions ==&lt;br /&gt;
&lt;br /&gt;
[[File:tm4.jpg|416px|choice of projects]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Image classification&amp;#039;&amp;#039;&amp;#039; is where you have pictures belonging to different &amp;quot;classes&amp;quot;. Examples: cats or dogs, people or scenery, different species of the iris flower, different traffic signs. Given a picture, the machine learning model must &amp;quot;predict&amp;quot; which class the picture belongs to. This also works with videos, which are basically sequences of images. If you choose this task, select &amp;quot;Standard image model&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sound classification&amp;#039;&amp;#039;&amp;#039; is similar, except works with sound files. If you choose this task, note that the project page also expects you to upload background noise.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;pose detection&amp;#039;&amp;#039;&amp;#039;, the model needs to first recognize where a person&amp;#039;s body, hands, feet and head are. From this it can draw a kind of a stick figure. The poses of this stick figure is then what the model will classify.&lt;br /&gt;
&lt;br /&gt;
== Collecting data ==&lt;br /&gt;
&lt;br /&gt;
Collect your data from the classroom, campus, town, wherever. To keep things simple, you should have two or three different things that the model should learn to recognize.&lt;br /&gt;
&lt;br /&gt;
If you use the webcam feature, you need to have Teachable Machine&amp;#039;s model training webpage open to record data. Note that you can save an incomplete project to Google Drive and reopen it later. Pictures and sound clips can be collected however you like, then uploaded. Please be mindful of people&amp;#039;s privacy, when recording data that will be used to train a model.&lt;br /&gt;
&lt;br /&gt;
== Training and saving the model ==&lt;br /&gt;
&lt;br /&gt;
If you used the webcam, you are ready to train the model.&lt;br /&gt;
&lt;br /&gt;
If you have images or sound clips as files, take about 10% of those files and set them aside for testing. They will not be used in training the model. The rest should be divided to classes and uploaded under the appropriate class. Note you can rename the classes on the training webpage.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;Train Model&amp;quot; to start the training and wait until it finishes. [[File:tm5.jpg|train button]]&lt;br /&gt;
&lt;br /&gt;
When your model is ready, a preview panel will appear on the right. You can now upload some of the test files to see if the model is doing what it is supposed to, or use the webcam to test.&lt;br /&gt;
&lt;br /&gt;
There is also a more technical way to check how the training went. Click &amp;quot;Advanced&amp;quot; under the model training button, then &amp;quot;Under the hood&amp;quot;. You can then press the buttons to calculate accuracy per class and the confusion matrix - the latter is useful if you have more than two classes. Note this data may not be very reliable if you didn&amp;#039;t have many training examples.&lt;br /&gt;
&lt;br /&gt;
[[File:tm1.jpg|under the hood]]&lt;br /&gt;
&lt;br /&gt;
[[File:tm6.jpg|269px|statistics]]&lt;br /&gt;
&lt;br /&gt;
If the model seems to work reasonably, press the &amp;quot;Export model&amp;quot; button. The easiest way to save the model so that it can later be shown in the classroom is to use the &amp;quot;upload (shareable link)&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
[[File:tm2.jpg|export model]]&lt;br /&gt;
&lt;br /&gt;
You can also choose &amp;quot;Save project to Drive&amp;quot; from the top left menu, if you want to keep working with it. [[File:tm3.jpg|save to drive]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm3.jpg&amp;diff=11380</id>
		<title>Fail:Tm3.jpg</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm3.jpg&amp;diff=11380"/>
		<updated>2024-03-27T14:58:11Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm2.jpg&amp;diff=11379</id>
		<title>Fail:Tm2.jpg</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm2.jpg&amp;diff=11379"/>
		<updated>2024-03-27T14:57:52Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm6.jpg&amp;diff=11378</id>
		<title>Fail:Tm6.jpg</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm6.jpg&amp;diff=11378"/>
		<updated>2024-03-27T14:57:35Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm1.jpg&amp;diff=11377</id>
		<title>Fail:Tm1.jpg</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm1.jpg&amp;diff=11377"/>
		<updated>2024-03-27T14:57:12Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm5.jpg&amp;diff=11376</id>
		<title>Fail:Tm5.jpg</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm5.jpg&amp;diff=11376"/>
		<updated>2024-03-27T14:56:31Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm4.jpg&amp;diff=11375</id>
		<title>Fail:Tm4.jpg</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Tm4.jpg&amp;diff=11375"/>
		<updated>2024-03-27T14:45:20Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11374</id>
		<title>SummerAIhw1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIhw1&amp;diff=11374"/>
		<updated>2024-03-27T14:41:42Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;First steps in machine learning with [https://teachablemachine.withgoogle.com/ Teachable Machine].  &amp;#039;&amp;#039;&amp;#039;Goal&amp;#039;&amp;#039;&amp;#039;: becoming familiar with the machine learning workflow. You will:  *...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;First steps in machine learning with [https://teachablemachine.withgoogle.com/ Teachable Machine].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Goal&amp;#039;&amp;#039;&amp;#039;: becoming familiar with the machine learning workflow. You will:&lt;br /&gt;
&lt;br /&gt;
* Collect data.&lt;br /&gt;
* Train the machine learning model.&lt;br /&gt;
* Evaluate the model.&lt;br /&gt;
&lt;br /&gt;
Choose one of three tasks: recognizing contents of images or videos, recognizing some sound, or recognizing poses of the human body. It is required that you &amp;#039;&amp;#039;&amp;#039;collect your own data&amp;#039;&amp;#039;&amp;#039;. Downloading existing data may be acceptable if you have a very good idea, but it needs to be agreed beforehand.&lt;br /&gt;
&lt;br /&gt;
Go to https://teachablemachine.withgoogle.com/ and click &amp;quot;Get Started&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Task descriptions ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Image classification&amp;#039;&amp;#039;&amp;#039; is where you have pictures belonging to different &amp;quot;classes&amp;quot;. Examples: cats or dogs, people or scenery, different species of the iris flower, different traffic signs. Given a picture, the machine learning model must &amp;quot;predict&amp;quot; which class the picture belongs to. This also works with videos, which are basically sequences of images. If you choose this task, select &amp;quot;Standard image model&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Sound classification&amp;#039;&amp;#039;&amp;#039; is similar, except works with sound files. If you choose this task, note that the project page also expects you to upload background noise.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;pose detection&amp;#039;&amp;#039;&amp;#039;, the model needs to first recognize where a person&amp;#039;s body, hands, feet and head are. From this it can draw a kind of a stick figure. The poses of this stick figure is then what the model will classify.&lt;br /&gt;
&lt;br /&gt;
== Collecting data ==&lt;br /&gt;
&lt;br /&gt;
Collect your data from the classroom, campus, town, wherever. To keep things simple, you should have two or three different things that the model should learn to recognize.&lt;br /&gt;
&lt;br /&gt;
If you use the webcam feature, you need to have Teachable Machine&amp;#039;s model training webpage open to record data. Note that you can save an incomplete project to Google Drive and reopen it later. Pictures and sound clips can be collected however you like, then uploaded. Please be mindful of people&amp;#039;s privacy, when recording data that will be used to train a model.&lt;br /&gt;
&lt;br /&gt;
== Training and saving the model ==&lt;br /&gt;
&lt;br /&gt;
If you used the webcam, you are ready to train the model.&lt;br /&gt;
&lt;br /&gt;
If you have images or sound clips as files, take about 10% of those files and set them aside for testing. They will not be used in training the model. The rest should be divided to classes and uploaded under the appropriate class. Note you can rename the classes on the training webpage.&lt;br /&gt;
&lt;br /&gt;
Press &amp;quot;&amp;quot; to start the training and wait until it finishes.&lt;br /&gt;
&lt;br /&gt;
When your model is ready, a preview panel will appear on the right. You can now upload some of the test files to see if the model is doing what it is supposed to, or use the webcam to test.&lt;br /&gt;
&lt;br /&gt;
There is also a more technical way to check how the training went. Click &amp;quot;Advanced&amp;quot; under the model training button, then &amp;quot;Under the hood&amp;quot;. You can then press the buttons to calculate accuracy per class and the confusion matrix - the latter is useful if you have more than two classes. Note this data may not be very reliable if you didn&amp;#039;t have many training examples.&lt;br /&gt;
&lt;br /&gt;
If the model seems to work reasonably, press the &amp;quot;Export model&amp;quot; button. The easiest way to save the model so that it can later be shown in the classroom is to use the &amp;quot;upload (shareable link)&amp;quot; option.&lt;br /&gt;
&lt;br /&gt;
You can also choose &amp;quot;Save project to Drive&amp;quot; from the top left menu, if you want to keep working with it.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab2&amp;diff=11373</id>
		<title>SummerAIlab2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab2&amp;diff=11373"/>
		<updated>2024-03-27T12:54:01Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Movie recommendation using neural networks.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[Media:reclab2.zip|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab2.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;br /&gt;
&lt;br /&gt;
[[SummerAI|Back to main page]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11372</id>
		<title>SummerAIlab1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11372"/>
		<updated>2024-03-27T12:53:43Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Movie recommendation using classical machine learning.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[Media:reclab1.zip|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab1.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;br /&gt;
&lt;br /&gt;
[[SummerAI|Back to main page]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11371</id>
		<title>SummerAIlab1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11371"/>
		<updated>2024-03-27T12:52:43Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Movie recommendation using classical machine learning.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[Media:reclab1.zip|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab1.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Reclab2.zip&amp;diff=11370</id>
		<title>Fail:Reclab2.zip</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Reclab2.zip&amp;diff=11370"/>
		<updated>2024-03-27T12:47:19Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab2&amp;diff=11369</id>
		<title>SummerAIlab2</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab2&amp;diff=11369"/>
		<updated>2024-03-27T12:47:04Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;Movie recommendation using neural networks.  This assignment uses Google Colab. You only need a web browser and a Google account.  * Download and unzip the notebook from File:r...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Movie recommendation using neural networks.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[File:reclab2.zip|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab2.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Reclab1.zip&amp;diff=11368</id>
		<title>Fail:Reclab1.zip</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Reclab1.zip&amp;diff=11368"/>
		<updated>2024-03-27T12:46:01Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11367</id>
		<title>SummerAIlab1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11367"/>
		<updated>2024-03-27T12:44:46Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Movie recommendation using classical machine learning.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[File:reclab1.zip|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab1.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11366</id>
		<title>SummerAIlab1</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAIlab1&amp;diff=11366"/>
		<updated>2024-03-27T12:43:57Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;Lab 1: movie recommendation using classical machine learning.  This assignment uses Google Colab. You only need a web browser and a Google account.  * Download and unzip the note...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lab 1: movie recommendation using classical machine learning.&lt;br /&gt;
&lt;br /&gt;
This assignment uses Google Colab. You only need a web browser and a Google account.&lt;br /&gt;
&lt;br /&gt;
* Download and unzip the notebook from [[File:reclab1.ipynb|here]].&lt;br /&gt;
* Go to https://colab.research.google.com/. It will prompt you to select a notebook, upload reclab1.ipynb. If you have Colab open already, select &amp;quot;Upload notebook&amp;quot; from the File menu.&lt;br /&gt;
* Follow the instructions in the notebook. Put your answers to the questions to a separate text file.&lt;br /&gt;
* Submit the text file to XXXXXXX&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w4.pdf&amp;diff=11365</id>
		<title>Fail:SummerAI w4.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w4.pdf&amp;diff=11365"/>
		<updated>2024-03-26T13:09:54Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w2.pdf&amp;diff=11364</id>
		<title>Fail:SummerAI w2.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w2.pdf&amp;diff=11364"/>
		<updated>2024-03-26T13:09:38Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w1.pdf&amp;diff=11363</id>
		<title>Fail:SummerAI w1.pdf</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:SummerAI_w1.pdf&amp;diff=11363"/>
		<updated>2024-03-26T13:09:21Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11362</id>
		<title>SummerAI</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11362"/>
		<updated>2024-03-26T13:04:50Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Lectures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Study materials and assignment instructions.&lt;br /&gt;
&lt;br /&gt;
Schedule: TBD&lt;br /&gt;
&lt;br /&gt;
Lecturer: Priit Järv&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
* week 1: [[Media:SummerAI_w1.pdf|Introduction]]&lt;br /&gt;
* week 2: [[Media:SummerAI_w2.pdf|Machine Learning]]&lt;br /&gt;
* week 3: Large Language Models&lt;br /&gt;
* week 4: [[Media:SummerAI_w4.pdf|Technical Aspects of Machine Learning]]&lt;br /&gt;
* week 5: Ethics and Impact of AI&lt;br /&gt;
* week 6: Closed book test&lt;br /&gt;
&lt;br /&gt;
== Assignments ==&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group, outside the classroom.&lt;br /&gt;
&lt;br /&gt;
[[SummerAIhw1|Teachable Machine]] (deadline XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Lab Work ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group.&lt;br /&gt;
&lt;br /&gt;
For each assigment, write a text file with answers to the questions or results of the lab work. One or more groups will present their results to everyone. There will be a joint discussion.&lt;br /&gt;
&lt;br /&gt;
* [[SummerAIlab1|Classical Machine Learning]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab2|Neural Network]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab3|LLM themed, to be decided]] (XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Submitting results ===&lt;br /&gt;
&lt;br /&gt;
Where to submit will be clarified before the start of the summer school.&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Your grade will be formed by:&lt;br /&gt;
* 50% participation: actively taking part of solving the homework. Will be self-graded.&lt;br /&gt;
* 50% written test.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11361</id>
		<title>SummerAI</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11361"/>
		<updated>2024-03-26T12:43:53Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Study materials and assignment instructions.&lt;br /&gt;
&lt;br /&gt;
Schedule: TBD&lt;br /&gt;
&lt;br /&gt;
Lecturer: Priit Järv&lt;br /&gt;
&lt;br /&gt;
== Lectures ==&lt;br /&gt;
&lt;br /&gt;
* week 1: Introduction&lt;br /&gt;
* week 2: Machine Learning&lt;br /&gt;
* week 3: Large Language Models&lt;br /&gt;
* week 4: Technical Aspects of Machine Learning&lt;br /&gt;
* week 5: Ethics and Impact of AI&lt;br /&gt;
* week 6: Closed book test&lt;br /&gt;
&lt;br /&gt;
== Assignments ==&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group, outside the classroom.&lt;br /&gt;
&lt;br /&gt;
[[SummerAIhw1|Teachable Machine]] (deadline XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Lab Work ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group.&lt;br /&gt;
&lt;br /&gt;
For each assigment, write a text file with answers to the questions or results of the lab work. One or more groups will present their results to everyone. There will be a joint discussion.&lt;br /&gt;
&lt;br /&gt;
* [[SummerAIlab1|Classical Machine Learning]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab2|Neural Network]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab3|LLM themed, to be decided]] (XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Submitting results ===&lt;br /&gt;
&lt;br /&gt;
Where to submit will be clarified before the start of the summer school.&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Your grade will be formed by:&lt;br /&gt;
* 50% participation: actively taking part of solving the homework. Will be self-graded.&lt;br /&gt;
* 50% written test.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11360</id>
		<title>SummerAI</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=SummerAI&amp;diff=11360"/>
		<updated>2024-03-26T12:31:21Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;Study materials and assignment instructions.  Schedule: TBD  Lecturer: Priit Järv  == Lecture Slides ==  * week 1: Introduction * week 2: Machine Learning * week 3: Large Langua...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Study materials and assignment instructions.&lt;br /&gt;
&lt;br /&gt;
Schedule: TBD&lt;br /&gt;
&lt;br /&gt;
Lecturer: Priit Järv&lt;br /&gt;
&lt;br /&gt;
== Lecture Slides ==&lt;br /&gt;
&lt;br /&gt;
* week 1: Introduction&lt;br /&gt;
* week 2: Machine Learning&lt;br /&gt;
* week 3: Large Language Models&lt;br /&gt;
* week 4: Technical Aspects of Machine Learning&lt;br /&gt;
* week 5: Ethics and Impact of AI&lt;br /&gt;
&lt;br /&gt;
== Assignments ==&lt;br /&gt;
&lt;br /&gt;
=== Homework ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group, outside the classroom.&lt;br /&gt;
&lt;br /&gt;
[[SummerAIhw1|Teachable Machine]] (deadline XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Lab Work ===&lt;br /&gt;
&lt;br /&gt;
Complete these as a group.&lt;br /&gt;
&lt;br /&gt;
For each assigment, write a text file with answers to the questions or results of the lab work. One or more groups will present their results to everyone. There will be a joint discussion.&lt;br /&gt;
&lt;br /&gt;
* [[SummerAIlab1|Classical Machine Learning]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab2|Neural Network]] (XX.YY)&lt;br /&gt;
* [[SummerAIlab3|LLM themed, to be decided]] (XX.YY)&lt;br /&gt;
&lt;br /&gt;
=== Submitting results ===&lt;br /&gt;
&lt;br /&gt;
Where to submit will be clarified before the start of the summer school.&lt;br /&gt;
&lt;br /&gt;
== Grading ==&lt;br /&gt;
&lt;br /&gt;
Your grade will be formed by:&lt;br /&gt;
* 50% participation: actively taking part of solving the homework. Will be self-graded.&lt;br /&gt;
* 50% written test.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=11359</id>
		<title>Esileht</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=11359"/>
		<updated>2024-03-26T11:58:28Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Avalikud loengud ja seminarid ==&lt;br /&gt;
&lt;br /&gt;
[[Public Lectures|Avalikud loengud]]&lt;br /&gt;
&lt;br /&gt;
[[Workshops|Seminarid]]&lt;br /&gt;
&lt;br /&gt;
= TTÜ tarkvarateaduse instituut - Kursused =&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8205  | Network forensic (ITX8205)]]&lt;br /&gt;
* [[Cyber Defense Monitoring Solutions|Cyber Defense Monitoring Solutions (ITX8071)]]&lt;br /&gt;
* [[ITC8060|Network Protocol Design (ITC8060)]]&lt;br /&gt;
* [[ITT8060|Advanced programming (ITT8060)]]&lt;br /&gt;
* [[ITI8600|Teadmispõhise tarkvaraarenduse meetodid / Methods of Knowledge Based Software Development (ITI8600)]]&lt;br /&gt;
* [[ITI8531|Software synthesis and verification (ITI8531)]]&lt;br /&gt;
* [[Malware:ITX8042:2016| Kurivara/Malware (ITX8042)]]&lt;br /&gt;
* [[Malware:ITX8060:2016| Kurivara2/Malware2 (ITX8060)]]&lt;br /&gt;
* [[ModernOS:2016 | Modern operation sytems / Kaasaegsete operatsioonisüsteemide ülevaade (ITV005)]]&lt;br /&gt;
* [[ITX8205:2015| Network Forensic (ITX8205)]]&lt;br /&gt;
* [[ITC8220-2015| Special Course on Digital Forensics I]]&lt;br /&gt;
* [[ITX8530|Tarkvaraarenduse meeskonnaprojekt: tellimus (ITX8530)]]&lt;br /&gt;
* [[ITI8740|Tarkvaaraarenduse meeskonnaprojekt (ITI8740)]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[ITX8540|Tarkvaraarenduse teaduspõhine meeskonnaprojekt: startup]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [[ITI8610|Tarkvara töökindlus / Software Assurance (ITI8610)]]&lt;br /&gt;
* [[ITI8565|Masinõpe / Machine learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems ITI8580 |Hübriidsüsteemid / Hybrid Systems (ITI8580 )]]&lt;br /&gt;
* [[Data Mining (ITI8730)]]&lt;br /&gt;
* [[Advanced Algorithms and Data Structures|Algoritmide ja andmestruktuuride erikursus (ITI8590)]]&lt;br /&gt;
* [[Teadmiste formaliseerimine|Ettevalmistamisel kursus: teadmiste formaliseerimine]]&lt;br /&gt;
* [[ITS8020|Süsteemprogrammeerimine (ITS8020)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0211)]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[ITI0120|Tehisintellekti ja masinõppe alused (ITI0120)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [[ITI8740|Software Development Team Project (ITI8740/ITX8522)]]&lt;br /&gt;
* [[ITX8301|MSc Seminar I (Software Engineering)]]&lt;br /&gt;
&lt;br /&gt;
=== Bakalaureuseõppe kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITI0102|Programmeerimise algkursus (ITI0102)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0211)]]&lt;br /&gt;
* [[ITI0050|Algoritmid ja andmestruktuurid (ITI0050)]]&lt;br /&gt;
* [[ITI0140|Programmeerimise süvendatud algkursus (ITI0140)]]&lt;br /&gt;
* [[Programmeerimise erikursus|Programmeerimise erikursus (ITV0101)]]&lt;br /&gt;
* [[Kasutajaliidesed (ITI0209)]]&lt;br /&gt;
* [[Veebirakendused (ITI0205)]]&lt;br /&gt;
* [[ITV0140|Mobiilirakendused (ITV0140)]]&lt;br /&gt;
* [[ITX0040|Andmeturve (ITX0040)]]&lt;br /&gt;
* [[ITV0050|Operatsioonisüsteemide ja arvutivõrkude administreerimine (ITV0050)]]&lt;br /&gt;
* [[Diskreetne matemaatika 2 (ITT0030) harjutused]]&lt;br /&gt;
* [[ITI0201|Robotite programmeerimine (ITI0201)]]&lt;br /&gt;
* [[ITV0200|Tarkvaraarenduse meeskonnaprojekt: tellimus (ITV0200)]]&lt;br /&gt;
* [[ITI0210|Tehisintellekti ja masinõppe alused (ITI0210)]]&lt;br /&gt;
&lt;br /&gt;
=== Muud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[SummerAI|Summer School Course on AI 2024]]&lt;br /&gt;
&lt;br /&gt;
== courses.cs.ttu.ee varasemad kursused ==&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[PhD reading group (IXX9601/2/3)]]&lt;br /&gt;
* [[Cyber security PhD seminar]]&lt;br /&gt;
* [[Formal methods in  model-based testing and verification]]&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8301|Magistriseminar/MSc seminar (ITX8301)]]&lt;br /&gt;
* [[ITX8302|Magistriseminar/MSc seminar II (ITX8302)]]&lt;br /&gt;
* [[Machine learning|Machine Learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems|Hybrid Systems (ITI8580)]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=11239</id>
		<title>Esileht</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=11239"/>
		<updated>2024-01-10T21:14:02Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Magistrantidele suunatud kursused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Avalikud loengud ja seminarid ==&lt;br /&gt;
&lt;br /&gt;
[[Public Lectures|Avalikud loengud]]&lt;br /&gt;
&lt;br /&gt;
[[Workshops|Seminarid]]&lt;br /&gt;
&lt;br /&gt;
= TTÜ tarkvarateaduse instituut - Kursused =&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8205  | Network forensic (ITX8205)]]&lt;br /&gt;
* [[Cyber Defense Monitoring Solutions|Cyber Defense Monitoring Solutions (ITX8071)]]&lt;br /&gt;
* [[ITC8060|Network Protocol Design (ITC8060)]]&lt;br /&gt;
* [[ITT8060|Advanced programming (ITT8060)]]&lt;br /&gt;
* [[ITI8600|Teadmispõhise tarkvaraarenduse meetodid / Methods of Knowledge Based Software Development (ITI8600)]]&lt;br /&gt;
* [[ITI8531|Software synthesis and verification (ITI8531)]]&lt;br /&gt;
* [[Malware:ITX8042:2016| Kurivara/Malware (ITX8042)]]&lt;br /&gt;
* [[Malware:ITX8060:2016| Kurivara2/Malware2 (ITX8060)]]&lt;br /&gt;
* [[ModernOS:2016 | Modern operation sytems / Kaasaegsete operatsioonisüsteemide ülevaade (ITV005)]]&lt;br /&gt;
* [[ITX8205:2015| Network Forensic (ITX8205)]]&lt;br /&gt;
* [[ITC8220-2015| Special Course on Digital Forensics I]]&lt;br /&gt;
* [[ITX8530|Tarkvaraarenduse meeskonnaprojekt: tellimus (ITX8530)]]&lt;br /&gt;
* [[ITI8740|Tarkvaaraarenduse meeskonnaprojekt (ITI8740)]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[ITX8540|Tarkvaraarenduse teaduspõhine meeskonnaprojekt: startup]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [[ITI8610|Tarkvara töökindlus / Software Assurance (ITI8610)]]&lt;br /&gt;
* [[ITI8565|Masinõpe / Machine learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems ITI8580 |Hübriidsüsteemid / Hybrid Systems (ITI8580 )]]&lt;br /&gt;
* [[Data Mining (ITI8730)]]&lt;br /&gt;
* [[Advanced Algorithms and Data Structures|Algoritmide ja andmestruktuuride erikursus (ITI8590)]]&lt;br /&gt;
* [[Teadmiste formaliseerimine|Ettevalmistamisel kursus: teadmiste formaliseerimine]]&lt;br /&gt;
* [[ITS8020|Süsteemprogrammeerimine (ITS8020)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0211)]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[ITI0120|Tehisintellekti ja masinõppe alused (ITI0120)]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [[ITI8740|Software Development Team Project (ITI8740/ITX8522)]]&lt;br /&gt;
* [[ITX8301|MSc Seminar I (Software Engineering)]]&lt;br /&gt;
&lt;br /&gt;
=== Bakalaureuseõppe kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITI0102|Programmeerimise algkursus (ITI0102)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0211)]]&lt;br /&gt;
* [[ITI0050|Algoritmid ja andmestruktuurid (ITI0050)]]&lt;br /&gt;
* [[ITI0140|Programmeerimise süvendatud algkursus (ITI0140)]]&lt;br /&gt;
* [[Programmeerimise erikursus|Programmeerimise erikursus (ITV0101)]]&lt;br /&gt;
* [[Kasutajaliidesed (ITI0209)]]&lt;br /&gt;
* [[Veebirakendused (ITI0205)]]&lt;br /&gt;
* [[ITV0140|Mobiilirakendused (ITV0140)]]&lt;br /&gt;
* [[ITX0040|Andmeturve (ITX0040)]]&lt;br /&gt;
* [[ITV0050|Operatsioonisüsteemide ja arvutivõrkude administreerimine (ITV0050)]]&lt;br /&gt;
* [[Diskreetne matemaatika 2 (ITT0030) harjutused]]&lt;br /&gt;
* [[ITI0201|Robotite programmeerimine (ITI0201)]]&lt;br /&gt;
* [[ITV0200|Tarkvaraarenduse meeskonnaprojekt: tellimus (ITV0200)]]&lt;br /&gt;
* [[ITI0210|Tehisintellekti ja masinõppe alused (ITI0210)]]&lt;br /&gt;
&lt;br /&gt;
== courses.cs.ttu.ee varasemad kursused ==&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[PhD reading group (IXX9601/2/3)]]&lt;br /&gt;
* [[Cyber security PhD seminar]]&lt;br /&gt;
* [[Formal methods in  model-based testing and verification]]&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8301|Magistriseminar/MSc seminar (ITX8301)]]&lt;br /&gt;
* [[ITX8302|Magistriseminar/MSc seminar II (ITX8302)]]&lt;br /&gt;
* [[Machine learning|Machine Learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems|Hybrid Systems (ITI8580)]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11237</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11237"/>
		<updated>2024-01-10T09:53:13Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Kevadsemester */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursust õpetatakse eesti keeles. Kursus on võimalik läbida ilma ülikoolis kohal viibimata.&lt;br /&gt;
&lt;br /&gt;
Eeldusaine ITI0204 ei ole kohustuslik. Selle puudumine ei takista kursuse läbimist.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11236</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11236"/>
		<updated>2024-01-05T09:07:17Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Kevadsemester */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursust õpetatakse eesti keeles. Kursus on võimalik läbida ilma ülikoolis kohal viibimata.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (täieneb semestri alguseni).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe, materjalid inglise keeles.&lt;br /&gt;
* seminar 1x nädalas MS Teamsis, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11235</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11235"/>
		<updated>2024-01-05T09:05:08Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Kevadsemester */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursust õpetatakse eesti keeles. Kursus on võimalik läbida ilma ülikoolis kohal viibimata.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (link tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe (materjalid inglise keeles)&lt;br /&gt;
* seminar 1x nädalas MS Teamsis, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
Moodle: https://moodle.taltech.ee/course/view.php?id=33209  (liitumine ilma võtmeta)&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11234</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11234"/>
		<updated>2024-01-05T08:54:12Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursust õpetatakse eesti keeles. Kursus on võimalik läbida ilma ülikoolis kohal viibimata.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (link tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe (materjalid inglise keeles)&lt;br /&gt;
* seminar 1x nädalas MS Teamsis, grupp &amp;quot;Tehisintellekti ja masinõppe alused 2024 kevad&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14. Liitu grupiga  MS Teams =&amp;gt; Töörühmad =&amp;gt; Liitu või loo töörühm =&amp;gt; Liitu töörühmaga koodi abil =&amp;gt; umgkjro&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Info moodle ja seminari kohta veel täieneb&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11228</id>
		<title>ITI0210</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0210&amp;diff=11228"/>
		<updated>2024-01-02T10:50:33Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning  == Kevadsemester ==  Kursust õpetatakse eesti keeles. Kursus on võimalik läbida ilma ülikoolis koha...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;ITI0210&amp;#039;&amp;#039;&amp;#039; Foundations of Artificial Intelligence and Machine Learning&lt;br /&gt;
&lt;br /&gt;
== Kevadsemester ==&lt;br /&gt;
&lt;br /&gt;
Kursust õpetatakse eesti keeles. Kursus on võimalik läbida ilma ülikoolis kohal viibimata.&lt;br /&gt;
&lt;br /&gt;
Täielik info ja õppematerjalid kursuse kohta on moodles (link tulekul).&lt;br /&gt;
&lt;br /&gt;
Kursuse formaat:&lt;br /&gt;
* iseseisev õpe (materjalid inglise keeles)&lt;br /&gt;
* seminar 1x nädalas MS Teamsis&lt;br /&gt;
&lt;br /&gt;
Seminari aeg on hetkel planeeritud neljapäeviti kell 12-14.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Siia lisanduvad peagi (2024) lingid ja info Teamsi seminaride kohta&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Fall semester ==&lt;br /&gt;
&lt;br /&gt;
Course in English, with seminars in auditorium.&lt;br /&gt;
&lt;br /&gt;
Full course information in moodle https://moodle.taltech.ee/course/view.php?id=32894&lt;br /&gt;
&lt;br /&gt;
Format:&lt;br /&gt;
* self-study (weekly materials in moodle)&lt;br /&gt;
* seminar U05-103 Thursdays 12.00&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=11227</id>
		<title>Esileht</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=11227"/>
		<updated>2024-01-02T10:37:28Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Bakalaureuseõppe kursused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Avalikud loengud ja seminarid ==&lt;br /&gt;
&lt;br /&gt;
[[Public Lectures|Avalikud loengud]]&lt;br /&gt;
&lt;br /&gt;
[[Workshops|Seminarid]]&lt;br /&gt;
&lt;br /&gt;
= TTÜ tarkvarateaduse instituut - Kursused =&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8205  | Network forensic (ITX8205)]]&lt;br /&gt;
* [[Cyber Defense Monitoring Solutions|Cyber Defense Monitoring Solutions (ITX8071)]]&lt;br /&gt;
* [[ITC8060|Network Protocol Design (ITC8060)]]&lt;br /&gt;
* [[ITT8060|Advanced programming (ITT8060)]]&lt;br /&gt;
* [[ITI8600|Teadmispõhise tarkvaraarenduse meetodid / Methods of Knowledge Based Software Development (ITI8600)]]&lt;br /&gt;
* [[ITI8531|Software synthesis and verification (ITI8531)]]&lt;br /&gt;
* [[Malware:ITX8042:2016| Kurivara/Malware (ITX8042)]]&lt;br /&gt;
* [[Malware:ITX8060:2016| Kurivara2/Malware2 (ITX8060)]]&lt;br /&gt;
* [[ModernOS:2016 | Modern operation sytems / Kaasaegsete operatsioonisüsteemide ülevaade (ITV005)]]&lt;br /&gt;
* [[ITX8205:2015| Network Forensic (ITX8205)]]&lt;br /&gt;
* [[ITC8220-2015| Special Course on Digital Forensics I]]&lt;br /&gt;
* [[ITX8530|Tarkvaraarenduse meeskonnaprojekt: tellimus (ITX8530)]]&lt;br /&gt;
* [[ITI8740|Tarkvaaraarenduse meeskonnaprojekt (ITI8740)]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[ITX8540|Tarkvaraarenduse teaduspõhine meeskonnaprojekt: startup]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [[ITI8610|Tarkvara töökindlus / Software Assurance (ITI8610)]]&lt;br /&gt;
* [[ITI8565|Masinõpe / Machine learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems ITI8580 |Hübriidsüsteemid / Hybrid Systems (ITI8580 )]]&lt;br /&gt;
* [[Data Mining (ITI8730)]]&lt;br /&gt;
* [[Advanced Algorithms and Data Structures|Algoritmide ja andmestruktuuride erikursus (ITI8590)]]&lt;br /&gt;
* [[Teadmiste formaliseerimine|Ettevalmistamisel kursus: teadmiste formaliseerimine]]&lt;br /&gt;
* [[ITS8020|Süsteemprogrammeerimine (ITS8020)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0211)]]&lt;br /&gt;
* [[ITI0120|Tehisintellekti ja masinõppe alused (ITI0120)]]&lt;br /&gt;
* [[ITI8740|Software Development Team Project (ITI8740/ITX8522)]]&lt;br /&gt;
* [[ITX8301|MSc Seminar I (Software Engineering)]]&lt;br /&gt;
&lt;br /&gt;
=== Bakalaureuseõppe kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITI0102|Programmeerimise algkursus (ITI0102)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0211)]]&lt;br /&gt;
* [[ITI0050|Algoritmid ja andmestruktuurid (ITI0050)]]&lt;br /&gt;
* [[ITI0140|Programmeerimise süvendatud algkursus (ITI0140)]]&lt;br /&gt;
* [[Programmeerimise erikursus|Programmeerimise erikursus (ITV0101)]]&lt;br /&gt;
* [[Kasutajaliidesed (ITI0209)]]&lt;br /&gt;
* [[Veebirakendused (ITI0205)]]&lt;br /&gt;
* [[ITV0140|Mobiilirakendused (ITV0140)]]&lt;br /&gt;
* [[ITX0040|Andmeturve (ITX0040)]]&lt;br /&gt;
* [[ITV0050|Operatsioonisüsteemide ja arvutivõrkude administreerimine (ITV0050)]]&lt;br /&gt;
* [[Diskreetne matemaatika 2 (ITT0030) harjutused]]&lt;br /&gt;
* [[ITI0201|Robotite programmeerimine (ITI0201)]]&lt;br /&gt;
* [[ITV0200|Tarkvaraarenduse meeskonnaprojekt: tellimus (ITV0200)]]&lt;br /&gt;
* [[ITI0210|Tehisintellekti ja masinõppe alused (ITI0210)]]&lt;br /&gt;
&lt;br /&gt;
== courses.cs.ttu.ee varasemad kursused ==&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[PhD reading group (IXX9601/2/3)]]&lt;br /&gt;
* [[Cyber security PhD seminar]]&lt;br /&gt;
* [[Formal methods in  model-based testing and verification]]&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8301|Magistriseminar/MSc seminar (ITX8301)]]&lt;br /&gt;
* [[ITX8302|Magistriseminar/MSc seminar II (ITX8302)]]&lt;br /&gt;
* [[Machine learning|Machine Learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems|Hybrid Systems (ITI8580)]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0120lab5&amp;diff=7269</id>
		<title>ITI0120lab5</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0120lab5&amp;diff=7269"/>
		<updated>2018-10-02T12:13:50Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Kasuta järgmiselt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lokaalne otsing =&lt;br /&gt;
&lt;br /&gt;
Lahendame rändkaupleja (TSP) ülesannet lokaalse otsinguga. Ülesanded pärinevad logistikaülesannete teegist [https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ TSPLIB]&lt;br /&gt;
&lt;br /&gt;
Rakendame mäeronimis- ja &amp;#039;&amp;#039;simulated annealing&amp;#039;&amp;#039; (SA) algoritme. Neid pole &amp;lt;code&amp;gt;aima-python&amp;lt;/code&amp;gt; teegi kasutamisel vaja ise implementeerida.&lt;br /&gt;
&lt;br /&gt;
== Ettevalmistus ==&lt;br /&gt;
&lt;br /&gt;
Laadi alla fail lihtsustatud formaadis väikeste ülesannetega [[Media:Iti0120lab5.zip]]. Ülesanded on kõik tekstifaili kujul, kus esimesel real on linnade arv N ning järgmised NxN rida ja veergu annavad paarikaupa kaugused linnade vahel. Kirjuta kood, mis failist linnade kauguste maatsiksi suudab sisse lugeda. Linnad ise on nimetud, tähistame neid kokkuleppeliselt numbritega 0..N-1 või 1-N. Linnade koordinaadid ei ole antud. Edaspidises tekstis ülesande &amp;quot;instants&amp;quot; viitab konkreetsele linnade ja kauguste kombinatsioonile, millel on teegis ka oma nimi, näiteks &amp;lt;code&amp;gt;gr48&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 2-Opt heuristik ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutame [https://en.wikipedia.org/wiki/2-opt Wikipediast] laenatud 2-Opt käigu tegemise algoritmi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2optSwap(route, i, k) {&lt;br /&gt;
       1. take route[0] to route[i-1] and add them in order to new_route&lt;br /&gt;
       2. take route[i] to route[k] and add them in reverse order to new_route&lt;br /&gt;
       3. take route[k+1] to end and add them in order to new_route&lt;br /&gt;
       return new_route;&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siin &amp;lt;code&amp;gt;route&amp;lt;/code&amp;gt; on hetkeolek, mis on antud linnade listina samas järjekorras, milles neid läbitakse. &amp;lt;code&amp;gt;i, k&amp;lt;/code&amp;gt; on kahe linna indeksid, millest järgmised kaared lahti ühendatakse. See tähendab, et võetakse lahti kaared &amp;lt;code&amp;gt;i, i+1&amp;lt;/code&amp;gt; ja &amp;lt;code&amp;gt;j, j+1&amp;lt;/code&amp;gt;. Pane tähele, et listis viimase linna ja kohal 0 asuva linna vahel on ka kaar.&lt;br /&gt;
&lt;br /&gt;
== TSP klass ==&lt;br /&gt;
&lt;br /&gt;
Kui kasutada &amp;lt;code&amp;gt;search.py&amp;lt;/code&amp;gt; moodulit, siis tuleb ülesande klass ehitada umbes nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class TSP(search.Problem):&lt;br /&gt;
    def __init__(self, instance):&lt;br /&gt;
        # laadi sisse ülesanne sobival kujul&lt;br /&gt;
        # genereeri algolek (võib olla list linnade indeksitest)&lt;br /&gt;
&lt;br /&gt;
    def actions(self, state):&lt;br /&gt;
        # siin genereerime võimalikud lahti ühendatavate graafi kaarte paarid 2-Opt jaoks&lt;br /&gt;
&lt;br /&gt;
    def result(self, state, action):&lt;br /&gt;
        # siin tekitame uue oleku, kus mingid kaared lahti ühendatakse ja teistpidi kokku ühendatakse, kasutades ülalolevat pseudokoodi.&lt;br /&gt;
        # action on üks i, j paar.&lt;br /&gt;
&lt;br /&gt;
    def cost(self, state):&lt;br /&gt;
        # arvuta (või leia muul viisil) praeguse marsruudi kogupikkus. Ära unusta, et marsruut on suletud.&lt;br /&gt;
&lt;br /&gt;
    def value(self, state)&lt;br /&gt;
        # kuna valmis otsingufunktsioonid arvavad, et mida suurem väärtus, seda parem, siis meie minimeerimisülesande TSP&lt;br /&gt;
        # lahendamiseks tuleb teepikkusest pöördväärtus võtta.&lt;br /&gt;
        return 1/(self.cost(state)+1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasuta järgmiselt ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p = search.InstrumentedProblem(TSP(&amp;quot;gr48&amp;quot;))&lt;br /&gt;
g = search.hill_climbing(p)&lt;br /&gt;
print(g)&lt;br /&gt;
print(p.cost(g))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameeter &amp;lt;code&amp;gt;&amp;quot;gr48&amp;quot;&amp;lt;/code&amp;gt; on lihtsalt näide, see eeldaks, et TSP klass oskab avada &amp;quot;gr48.txt&amp;quot; faili ja sealt andmed sisse laadida. Selle töö võib ka enne ära teha ja TSP klassile juba valmis kauguste maatriksi anda.&lt;br /&gt;
&lt;br /&gt;
SA kasutamine vaikimisi parameetritega ja natuke pikendatud otsinguga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g = search.simulated_annealing(p)&lt;br /&gt;
#g = search.simulated_annealing(p, search.exp_schedule(limit=10000))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/STSP.html Optimaalsed lahendused] (mida ei pea saavutama):&lt;br /&gt;
&lt;br /&gt;
== Lisaülesanne ==&lt;br /&gt;
&lt;br /&gt;
Antud kirjelduse järgi lahendades on käikude genereerimine &amp;lt;i&amp;gt;O(N**2)&amp;lt;/i&amp;gt; keerukusega linnade arvu N suhtes. Eeldades, et lõpplahenduses on linnad üksteise lähedal, võiks vaadata otsingukäikude genereerimisel ainult linnade paare, kus linn &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; on linna &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; lähima naabri hulgas. Käikude genereerimine oleks siis lineaarse keerukusega &amp;lt;i&amp;gt;O(kN)&amp;lt;/i&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0120lab5&amp;diff=7267</id>
		<title>ITI0120lab5</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0120lab5&amp;diff=7267"/>
		<updated>2018-10-02T10:41:00Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Kasuta järgmiselt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lokaalne otsing =&lt;br /&gt;
&lt;br /&gt;
Lahendame rändkaupleja (TSP) ülesannet lokaalse otsinguga. Ülesanded pärinevad logistikaülesannete teegist [https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ TSPLIB]&lt;br /&gt;
&lt;br /&gt;
Rakendame mäeronimis- ja &amp;#039;&amp;#039;simulated annealing&amp;#039;&amp;#039; (SA) algoritme. Neid pole &amp;lt;code&amp;gt;aima-python&amp;lt;/code&amp;gt; teegi kasutamisel vaja ise implementeerida.&lt;br /&gt;
&lt;br /&gt;
== Ettevalmistus ==&lt;br /&gt;
&lt;br /&gt;
Laadi alla fail lihtsustatud formaadis väikeste ülesannetega [[Media:Iti0120lab5.zip]]. Ülesanded on kõik tekstifaili kujul, kus esimesel real on linnade arv N ning järgmised NxN rida ja veergu annavad paarikaupa kaugused linnade vahel. Kirjuta kood, mis failist linnade kauguste maatsiksi suudab sisse lugeda. Linnad ise on nimetud, tähistame neid kokkuleppeliselt numbritega 0..N-1 või 1-N. Linnade koordinaadid ei ole antud. Edaspidises tekstis ülesande &amp;quot;instants&amp;quot; viitab konkreetsele linnade ja kauguste kombinatsioonile, millel on teegis ka oma nimi, näiteks &amp;lt;code&amp;gt;gr48&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 2-Opt heuristik ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutame [https://en.wikipedia.org/wiki/2-opt Wikipediast] laenatud 2-Opt käigu tegemise algoritmi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2optSwap(route, i, k) {&lt;br /&gt;
       1. take route[0] to route[i-1] and add them in order to new_route&lt;br /&gt;
       2. take route[i] to route[k] and add them in reverse order to new_route&lt;br /&gt;
       3. take route[k+1] to end and add them in order to new_route&lt;br /&gt;
       return new_route;&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siin &amp;lt;code&amp;gt;route&amp;lt;/code&amp;gt; on hetkeolek, mis on antud linnade listina samas järjekorras, milles neid läbitakse. &amp;lt;code&amp;gt;i, k&amp;lt;/code&amp;gt; on kahe linna indeksid, millest järgmised kaared lahti ühendatakse. See tähendab, et võetakse lahti kaared &amp;lt;code&amp;gt;i, i+1&amp;lt;/code&amp;gt; ja &amp;lt;code&amp;gt;j, j+1&amp;lt;/code&amp;gt;. Pane tähele, et listis viimase linna ja kohal 0 asuva linna vahel on ka kaar.&lt;br /&gt;
&lt;br /&gt;
== TSP klass ==&lt;br /&gt;
&lt;br /&gt;
Kui kasutada &amp;lt;code&amp;gt;search.py&amp;lt;/code&amp;gt; moodulit, siis tuleb ülesande klass ehitada umbes nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class TSP(search.Problem):&lt;br /&gt;
    def __init__(self, instance):&lt;br /&gt;
        # laadi sisse ülesanne sobival kujul&lt;br /&gt;
        # genereeri algolek (võib olla list linnade indeksitest)&lt;br /&gt;
&lt;br /&gt;
    def actions(self, state):&lt;br /&gt;
        # siin genereerime võimalikud lahti ühendatavate graafi kaarte paarid 2-Opt jaoks&lt;br /&gt;
&lt;br /&gt;
    def result(self, state, action):&lt;br /&gt;
        # siin tekitame uue oleku, kus mingid kaared lahti ühendatakse ja teistpidi kokku ühendatakse, kasutades ülalolevat pseudokoodi.&lt;br /&gt;
        # action on üks i, j paar.&lt;br /&gt;
&lt;br /&gt;
    def cost(self, state):&lt;br /&gt;
        # arvuta (või leia muul viisil) praeguse marsruudi kogupikkus. Ära unusta, et marsruut on suletud.&lt;br /&gt;
&lt;br /&gt;
    def value(self, state)&lt;br /&gt;
        # kuna valmis otsingufunktsioonid arvavad, et mida suurem väärtus, seda parem, siis meie minimeerimisülesande TSP&lt;br /&gt;
        # lahendamiseks tuleb teepikkusest pöördväärtus võtta.&lt;br /&gt;
        return 1/(self.cost(state)+1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasuta järgmiselt ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p = search.InstrumentedProblem(TSP(&amp;quot;gr48&amp;quot;))&lt;br /&gt;
g = search.hill_climbing(p)&lt;br /&gt;
print(g.state)&lt;br /&gt;
print(p.cost(g.state))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameeter &amp;lt;code&amp;gt;&amp;quot;gr48&amp;quot;&amp;lt;/code&amp;gt; on lihtsalt näide, see eeldaks, et TSP klass oskab avada &amp;quot;gr48.txt&amp;quot; faili ja sealt andmed sisse laadida. Selle töö võib ka enne ära teha ja TSP klassile juba valmis kauguste maatriksi anda.&lt;br /&gt;
&lt;br /&gt;
SA kasutamine vaikimisi parameetritega ja natuke pikendatud otsinguga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g = search.simulated_annealing(p)&lt;br /&gt;
#g = search.simulated_annealing(p, search.exp_schedule(limit=10000))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/STSP.html Optimaalsed lahendused] (mida ei pea saavutama):&lt;br /&gt;
&lt;br /&gt;
== Lisaülesanne ==&lt;br /&gt;
&lt;br /&gt;
Antud kirjelduse järgi lahendades on käikude genereerimine &amp;lt;i&amp;gt;O(N**2)&amp;lt;/i&amp;gt; keerukusega linnade arvu N suhtes. Eeldades, et lõpplahenduses on linnad üksteise lähedal, võiks vaadata otsingukäikude genereerimisel ainult linnade paare, kus linn &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; on linna &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; lähima naabri hulgas. Käikude genereerimine oleks siis lineaarse keerukusega &amp;lt;i&amp;gt;O(kN)&amp;lt;/i&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Iti0120lab5.zip&amp;diff=7266</id>
		<title>Fail:Iti0120lab5.zip</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Iti0120lab5.zip&amp;diff=7266"/>
		<updated>2018-10-02T10:35:59Z</updated>

		<summary type="html">&lt;p&gt;Priit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0120lab5&amp;diff=7265</id>
		<title>ITI0120lab5</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0120lab5&amp;diff=7265"/>
		<updated>2018-10-02T10:35:35Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;= Lokaalne otsing =  Lahendame rändkaupleja (TSP) ülesannet lokaalse otsinguga. Ülesanded pärinevad logistikaülesannete teegist [https://www.iwr.uni-heidelberg.de/groups/com...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Lokaalne otsing =&lt;br /&gt;
&lt;br /&gt;
Lahendame rändkaupleja (TSP) ülesannet lokaalse otsinguga. Ülesanded pärinevad logistikaülesannete teegist [https://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ TSPLIB]&lt;br /&gt;
&lt;br /&gt;
Rakendame mäeronimis- ja &amp;#039;&amp;#039;simulated annealing&amp;#039;&amp;#039; (SA) algoritme. Neid pole &amp;lt;code&amp;gt;aima-python&amp;lt;/code&amp;gt; teegi kasutamisel vaja ise implementeerida.&lt;br /&gt;
&lt;br /&gt;
== Ettevalmistus ==&lt;br /&gt;
&lt;br /&gt;
Laadi alla fail lihtsustatud formaadis väikeste ülesannetega [[Media:Iti0120lab5.zip]]. Ülesanded on kõik tekstifaili kujul, kus esimesel real on linnade arv N ning järgmised NxN rida ja veergu annavad paarikaupa kaugused linnade vahel. Kirjuta kood, mis failist linnade kauguste maatsiksi suudab sisse lugeda. Linnad ise on nimetud, tähistame neid kokkuleppeliselt numbritega 0..N-1 või 1-N. Linnade koordinaadid ei ole antud. Edaspidises tekstis ülesande &amp;quot;instants&amp;quot; viitab konkreetsele linnade ja kauguste kombinatsioonile, millel on teegis ka oma nimi, näiteks &amp;lt;code&amp;gt;gr48&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 2-Opt heuristik ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutame [https://en.wikipedia.org/wiki/2-opt Wikipediast] laenatud 2-Opt käigu tegemise algoritmi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2optSwap(route, i, k) {&lt;br /&gt;
       1. take route[0] to route[i-1] and add them in order to new_route&lt;br /&gt;
       2. take route[i] to route[k] and add them in reverse order to new_route&lt;br /&gt;
       3. take route[k+1] to end and add them in order to new_route&lt;br /&gt;
       return new_route;&lt;br /&gt;
   }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siin &amp;lt;code&amp;gt;route&amp;lt;/code&amp;gt; on hetkeolek, mis on antud linnade listina samas järjekorras, milles neid läbitakse. &amp;lt;code&amp;gt;i, k&amp;lt;/code&amp;gt; on kahe linna indeksid, millest järgmised kaared lahti ühendatakse. See tähendab, et võetakse lahti kaared &amp;lt;code&amp;gt;i, i+1&amp;lt;/code&amp;gt; ja &amp;lt;code&amp;gt;j, j+1&amp;lt;/code&amp;gt;. Pane tähele, et listis viimase linna ja kohal 0 asuva linna vahel on ka kaar.&lt;br /&gt;
&lt;br /&gt;
== TSP klass ==&lt;br /&gt;
&lt;br /&gt;
Kui kasutada &amp;lt;code&amp;gt;search.py&amp;lt;/code&amp;gt; moodulit, siis tuleb ülesande klass ehitada umbes nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class TSP(search.Problem):&lt;br /&gt;
    def __init__(self, instance):&lt;br /&gt;
        # laadi sisse ülesanne sobival kujul&lt;br /&gt;
        # genereeri algolek (võib olla list linnade indeksitest)&lt;br /&gt;
&lt;br /&gt;
    def actions(self, state):&lt;br /&gt;
        # siin genereerime võimalikud lahti ühendatavate graafi kaarte paarid 2-Opt jaoks&lt;br /&gt;
&lt;br /&gt;
    def result(self, state, action):&lt;br /&gt;
        # siin tekitame uue oleku, kus mingid kaared lahti ühendatakse ja teistpidi kokku ühendatakse, kasutades ülalolevat pseudokoodi.&lt;br /&gt;
        # action on üks i, j paar.&lt;br /&gt;
&lt;br /&gt;
    def cost(self, state):&lt;br /&gt;
        # arvuta (või leia muul viisil) praeguse marsruudi kogupikkus. Ära unusta, et marsruut on suletud.&lt;br /&gt;
&lt;br /&gt;
    def value(self, state)&lt;br /&gt;
        # kuna valmis otsingufunktsioonid arvavad, et mida suurem väärtus, seda parem, siis meie minimeerimisülesande TSP&lt;br /&gt;
        # lahendamiseks tuleb teepikkusest pöördväärtus võtta.&lt;br /&gt;
        return 1/(self.cost(state)+1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasuta järgmiselt ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p = search.InstrumentedProblem(TSP(&amp;quot;gr48&amp;quot;))&lt;br /&gt;
g = search.hill_climbing(p)&lt;br /&gt;
print(g.state)&lt;br /&gt;
print(p.cost(g.state))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parameeter &amp;lt;code&amp;gt;&amp;quot;gr48&amp;quot;&amp;lt;/code&amp;gt; on lihtsalt näide, see eeldaks, et TSP klass oskab avada &amp;quot;gr48.txt&amp;quot; faili ja sealt andmed sisse laadida. Selle töö võib ka enne ära teha ja TSP klassile juba valmis kauguste maatriksi anda.&lt;br /&gt;
&lt;br /&gt;
SA kasutamine vaikimisi parameetritega ja natuke pikendatud otsinguga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
g = search.simulated_annealing(p)&lt;br /&gt;
#g = search.simulated_annealing(p, search.exp_schedule(limit=10000))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lisaülesanne ==&lt;br /&gt;
&lt;br /&gt;
Antud kirjelduse järgi lahendades on käikude genereerimine &amp;lt;i&amp;gt;O(N**2)&amp;lt;/i&amp;gt; keerukusega linnade arvu N suhtes. Eeldades, et lõpplahenduses on linnad üksteise lähedal, võiks vaadata otsingukäikude genereerimisel ainult linnade paare, kus linn &amp;lt;code&amp;gt;j&amp;lt;/code&amp;gt; on linna &amp;lt;code&amp;gt;i&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;k&amp;lt;/code&amp;gt; lähima naabri hulgas. Käikude genereerimine oleks siis lineaarse keerukusega &amp;lt;i&amp;gt;O(kN)&amp;lt;/i&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0120&amp;diff=7264</id>
		<title>ITI0120</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0120&amp;diff=7264"/>
		<updated>2018-10-02T10:08:01Z</updated>

		<summary type="html">&lt;p&gt;Priit: Uus lehekülg: &amp;#039;== Harjutusülesanded ==  5. nädal - lokaalne otsing&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Harjutusülesanded ==&lt;br /&gt;
&lt;br /&gt;
[[ITI0120lab5|5. nädal - lokaalne otsing]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=7263</id>
		<title>Esileht</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Esileht&amp;diff=7263"/>
		<updated>2018-10-02T10:06:35Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Magistrantidele suunatud kursused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Avalikud loengud ja seminarid ==&lt;br /&gt;
&lt;br /&gt;
[[Public Lectures|Avalikud loengud]]&lt;br /&gt;
&lt;br /&gt;
[[Workshops|Seminarid]]&lt;br /&gt;
&lt;br /&gt;
= TTÜ tarkvarateaduse instituut - Kursused =&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8205:2016  | Network forensic (ITX8205)]]&lt;br /&gt;
* [[Cyber Defense Monitoring Solutions|Cyber Defense Monitoring Solutions (ITX8071)]]&lt;br /&gt;
* [[ITC8060|Network Protocol Design (ITC8060)]]&lt;br /&gt;
* [[ITT8060|Advanced programming (ITT8060)]]&lt;br /&gt;
* [[ITI8600|Teadmispõhise tarkvaraarenduse meetodid / Methods of Knowledge Based Software Development (ITI8600)]]&lt;br /&gt;
* [[ITI8531|Software synthesis and verification (ITI8531)]]&lt;br /&gt;
* [[Malware:ITX8042:2016| Kurivara/Malware (ITX8042)]]&lt;br /&gt;
* [[Malware:ITX8060:2016| Kurivara2/Malware2 (ITX8060)]]&lt;br /&gt;
* [[ModernOS:2016 | Modern operation sytems / Kaasaegsete operatsioonisüsteemide ülevaade (ITV005)]]&lt;br /&gt;
* [[ITX8205:2015| Network Forensic (ITX8205)]]&lt;br /&gt;
* [[ITC8220-2015| Special Course on Digital Forensics I]]&lt;br /&gt;
* [[ITX8530|Tarkvaraarenduse meeskonnaprojekt: tellimus]]&lt;br /&gt;
* [[ITX8540|Tarkvaraarenduse teaduspõhine meeskonnaprojekt: startup]]&lt;br /&gt;
* [[ITI8610|Tarkvara töökindlus / Software Assurance (ITI8610)]]&lt;br /&gt;
* [[ITI8565|Masinõpe / Machine learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems ITI8580 |Hübriidsüsteemid / Hybrid Systems (ITI8580 )]]&lt;br /&gt;
* [[Data Mining and network analysis IDN0110 |Andmekaevandamine ja võrgustike analüüs/ Data Mining and network analysis (IDN0110 / ITI8730 )]]&lt;br /&gt;
* [[Advanced Algorithms and Data Structures|Algoritmide ja andmestruktuuride erikursus (ITI8590)]]&lt;br /&gt;
* [[Teadmiste formaliseerimine|Ettevalmistamisel kursus: teadmiste formaliseerimine]]&lt;br /&gt;
* [[ITS8020|Süsteemprogrammeerimine (ITS8020)]]&lt;br /&gt;
* [[ITI0120|Tehisintellekti ja masinõppe alused (ITI0120)]]&lt;br /&gt;
&lt;br /&gt;
=== Bakalaureuseõppe kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITI0102|Programmeerimise algkursus (ITI0102)]]&lt;br /&gt;
* [[ITI0021|Loogiline Programmeerimine (ITI0021)]]&lt;br /&gt;
* [[ITI0050|Algoritmid ja andmestruktuurid (ITI0050)]]&lt;br /&gt;
* [[ITI0140|Programmeerimise süvendatud algkursus (ITI0140)]]&lt;br /&gt;
* [[Programmeerimise erikursus|Programmeerimise erikursus (ITV0101)]]&lt;br /&gt;
* [[ITV0130|Kasutajaliidesed (ITV0130)]]&lt;br /&gt;
* [[ITV0140|Mobiilirakendused (ITV0140)]]&lt;br /&gt;
* [[ITX0040|Andmeturve (ITX0040)]]&lt;br /&gt;
* [[ITV0050|Operatsioonisüsteemide ja arvutivõrkude administreerimine (ITV0050)]]&lt;br /&gt;
* [[Diskreetne matemaatika 2 (ITT0030) harjutused]]&lt;br /&gt;
* [[ITI0201|Robotite programmeerimine (ITI0201)]]&lt;br /&gt;
* [[ICS0020|Logging and Monitoring (ICS0020)]]&lt;br /&gt;
&lt;br /&gt;
== courses.cs.ttu.ee varasemad kursused ==&lt;br /&gt;
&lt;br /&gt;
=== Doktorantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[PhD reading group (IXX9601/2/3)]]&lt;br /&gt;
* [[Cyber security PhD seminar]]&lt;br /&gt;
* [[Formal methods in  model-based testing and verification]]&lt;br /&gt;
&lt;br /&gt;
=== Magistrantidele suunatud kursused ===&lt;br /&gt;
&lt;br /&gt;
* [[ITX8301|Magistriseminar/MSc seminar (ITX8301/ITX8302)]]&lt;br /&gt;
* [[Machine learning|Machine Learning (ITI8565)]]&lt;br /&gt;
* [[Hybrid Systems|Hybrid Systems (ITI8580)]]&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Teadmisp%C3%B5hise_tarkvaraarenduse_meetodid_/_Methods_of_Knowledge_Based_Software_Development_2017&amp;diff=6200</id>
		<title>Teadmispõhise tarkvaraarenduse meetodid / Methods of Knowledge Based Software Development 2017</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Teadmisp%C3%B5hise_tarkvaraarenduse_meetodid_/_Methods_of_Knowledge_Based_Software_Development_2017&amp;diff=6200"/>
		<updated>2017-12-28T09:21:48Z</updated>

		<summary type="html">&lt;p&gt;Priit: /* Search algorithms */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Course code: [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_session_id=50636154&amp;amp;p_id=110035&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8600&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_oppejoud=1&amp;amp;_where_ainer_oppejoud=&amp;amp;_ainer_oppejoud=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= ITI8600]&lt;br /&gt;
(Ainekaart eesti keeles [https://ois.ttu.ee/portal/page?_pageid=35,428610&amp;amp;_dad=portal&amp;amp;_schema=PORTAL&amp;amp;p_msg=&amp;amp;p_public=1&amp;amp;p_what=1&amp;amp;p_lang=EN&amp;amp;p_open_node2=&amp;amp;p_id=110035&amp;amp;p_mode=1&amp;amp;p_pageid=OKM_AINE_WEB_OTSING&amp;amp;n_disp_result=1&amp;amp;n_export=0&amp;amp;_init=1&amp;amp;_nextsearch=1&amp;amp;_nextorder=1&amp;amp;_orfn_1=AINER_KOOD&amp;amp;_ordi_1=ASC&amp;amp;_disp_ainer_kood=1&amp;amp;_where_ainer_kood=&amp;amp;_ainer_kood=ITI8600&amp;amp;_disp_ainer_nimetus=1&amp;amp;_where_ainer_nimetus=&amp;amp;_ainer_nimetus=&amp;amp;_disp_ainer_nimetus_en=1&amp;amp;_where_ainer_nimetus_en=&amp;amp;_ainer_nimetus_en=&amp;amp;_disp_ainer_oppejoud=1&amp;amp;_where_ainer_oppejoud=&amp;amp;_ainer_oppejoud=&amp;amp;_where_ainer_opj_keel=&amp;amp;_ainer_opj_keel=&amp;amp;_disp_ainer_opetsem=1&amp;amp;_where_ainer_opetsem=&amp;amp;_ainer_opetsem=&amp;amp;_disp_ainer_kodulehe_autor=1&amp;amp;_where_ainer_kodulehe_autor=&amp;amp;_ainer_kodulehe_autor=&amp;amp;_where_ainer_std_id=&amp;amp;_ainer_std_id=&amp;amp;_disp_ainer_eap=1&amp;amp;_disp_ainer_viim_semester=1&amp;amp;_vformaat=VFORMAAT_HTML&amp;amp;n_lov_offset=1&amp;amp;n_row_count=&amp;amp;n_row_pos= ITI8600])&lt;br /&gt;
&lt;br /&gt;
Language: The default language of the course is English, but if all students understand Estonian, it will be in Estonian.&lt;br /&gt;
&lt;br /&gt;
Lecturers:&lt;br /&gt;
* Tanel Tammet, tanel.tammet@ttu.ee, 6203457, TTÜ ICT-426 (handles ÕIS registrations)&lt;br /&gt;
* Juhan Ernits, juhan.ernits@ttu.ee, 6202326, TTÜ ICT-428 &lt;br /&gt;
* Sven Nõmm, sven.nomm@ttu.ee,  TTÜ ICT-424&lt;br /&gt;
&lt;br /&gt;
Lab assistant:&lt;br /&gt;
* Priit Järv, priit.jarv1@ttu.ee&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
= &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;NB! lab at Friday, 24 is un-supervised&amp;lt;/font&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Tanel and Priit cannot attend this Friday: Juhan will open the door so you can conduct groupwork, just not supervised regarding lab3.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Past editions=&lt;br /&gt;
&lt;br /&gt;
[[Teadmispõhise tarkvaraarenduse meetodid / Methods of Knowledge Based Software Development - 2015|2015]], [[Teadmisp%C3%B5hise_tarkvaraarenduse_meetodid_/_Methods_of_Knowledge_Based_Software_Development_2016|2016]]&lt;br /&gt;
&lt;br /&gt;
=Time, place, result=&lt;br /&gt;
&lt;br /&gt;
* Lectures: Fridays 8:00-9:30, CYB-Veenus&lt;br /&gt;
* Labs: Fridays 14:00-15:30, ICT-121&lt;br /&gt;
&lt;br /&gt;
=Exam=&lt;br /&gt;
&lt;br /&gt;
* 5.01.2018&lt;br /&gt;
* 19.01.2018&lt;br /&gt;
* 22.01.2018&lt;br /&gt;
&lt;br /&gt;
= Grading =&lt;br /&gt;
&lt;br /&gt;
The final grade will be based on 40% of points from homework assignments and 60% of the result of an exam. &lt;br /&gt;
&lt;br /&gt;
There will be four homework assignments, one for each block. Assignments will give up to 10 points each. In order to successfully pass the course, at least three homeworks must be successfully defended.&lt;br /&gt;
&lt;br /&gt;
Homeworks can be done alone or in pairs. Pairs will be formed randomly by the lecturers, separately for each homework. As said, you can always opt to do it alone. &lt;br /&gt;
&lt;br /&gt;
Homework has to be presented during lab time to the lecturer on site: email submissions are not accepted. Both pair members must be present during presentation: in case one of them is not present, the homework of the missing person is not considered to be defended. It is also not guaranteed that both pair members get the same grade.&lt;br /&gt;
&lt;br /&gt;
The homeworks have to be submitted to the university git and then defended: git details will be presented later by Juhan.&lt;br /&gt;
&lt;br /&gt;
Homework deadline policy:&lt;br /&gt;
* Defended code must be submitted for defence latest one date before the defence deadline (example: defence deadline 22. Sept, submission 21. Sept).&lt;br /&gt;
* In case the homework is defended in time, you have one extra week to add missing details/improvements without losing points.&lt;br /&gt;
* In case the homework is not defended in time, you have two extra weeks to defend it, but in this case you will get only half the points.&lt;br /&gt;
* No homeworks are accepted after the two extra weeks after the deadline have passed.&lt;br /&gt;
* In order to be accepted to exam you have to successfully defend at least three of the four homeworks.&lt;br /&gt;
&lt;br /&gt;
Grades and additional homework info available at https://ained.ttu.ee&lt;br /&gt;
&lt;br /&gt;
== Materials for search algorithms ==&lt;br /&gt;
&lt;br /&gt;
The search algorithms block was based on the following chapters from the book Artificial Intelligence, a Modern Approach, 3rd Edition, by Stewart Russell and Peter Norvig. (The book is available in TUT library as [http://www.ester.ee/record=b3000919*eng] and [http://www.ester.ee/record=b2881231*eng]):&lt;br /&gt;
&lt;br /&gt;
* Chapter 3: Solving problems by searching&lt;br /&gt;
* Chapter 4: Beyond classical search&lt;br /&gt;
* Chapter 5: Adversarial search&lt;br /&gt;
* Chapter 6: Constraint satisfaction problems&lt;br /&gt;
&lt;br /&gt;
In particular, it will be necessary to be able to choose best methods from the ones mentioned in those chapters for solving particular problems. In addition it is necessary to be able to charachterize the properties of these approaches in terms of relevant criteria (branching factor, time complexity, space complexity, completeness).&lt;br /&gt;
&lt;br /&gt;
= Course structure =&lt;br /&gt;
&lt;br /&gt;
The course will consist of four interconnected blocks covering crucial areas of the subject:&lt;br /&gt;
&lt;br /&gt;
== Search algorithms ==&lt;br /&gt;
&lt;br /&gt;
Homework is available in [https://ained.ttu.ee Moodle]. To log in you will need to use your TUT e-mail account in Office 365. You need to form groups yourself and create a repository named iti8600hw1 at Gitlab.cs.ttu.ee. The visibility needs to be &amp;quot;private&amp;quot; and the project should only be shared with the other group member. Access to staff will be granted automatically. Deadline of submission to Gtilab: September 29.&lt;br /&gt;
&lt;br /&gt;
* [[meedia:Iti8600_2016_1.pdf|Tree search, graph search,  formulating problems to be solved by search (recap of what you know)]]&lt;br /&gt;
** The task of the first lab is to pull code from the [https://github.com/aimacode/aima-python AIMA Python] project and look at the search.py file. You should be able to run the examples shown in the lecture.&lt;br /&gt;
&lt;br /&gt;
* [[meedia:Iti8600_2016_2_1.pdf|Search 1]], [[meedia:Iti8600_2016_2_2.pdf|Search 2]]&lt;br /&gt;
&lt;br /&gt;
* [[meedia:Iti8600_2016_3.pdf|Beyond classical search]], [[meedia:Iti8600_2016_4.pdf|Constraint solving problems]]&lt;br /&gt;
&lt;br /&gt;
* [[meedia:Iti8600_2015_5.pdf|Adversarial search (games, minimax, alpha-beta pruning) (OLD VERSION, but content is relevant)]]&lt;br /&gt;
&lt;br /&gt;
== Knowledge representation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Knowledge representation homework 2017]]: first phase of building a simple [https://en.wikipedia.org/wiki/Question_answering question answering system]&lt;br /&gt;
&lt;br /&gt;
Useful in-depth material for reading as free pdf-s:&lt;br /&gt;
* [http://www.sciencedirect.com/science/book/9781558609327 Knowledge Representation and Reasoning]&lt;br /&gt;
* [http://ii.fmph.uniba.sk/kri/KRhandbook.pdf Handbook of Knowledge Representation] &lt;br /&gt;
* Interesting to browse: [http://www.aaai.org/Library/KR/kr12contents.php recent conference proceedings]&lt;br /&gt;
* Interesting to browse: [http://www.cse.buffalo.edu/~shapiro/Courses/CSE563/Slides/krrSlides.pdf course materials], [http://web.stanford.edu/class/cs227/ course materials], [http://www.dis.uniroma1.it/~rosati/krst/ course materials]&lt;br /&gt;
* [http://cs.stanford.edu/~ermon/cs228/index.html course on probabilistic graphical models]&lt;br /&gt;
* [http://research.google.com/pubs/NaturalLanguageProcessing.html Google natural language processing publications]&lt;br /&gt;
&lt;br /&gt;
Three subthemes in four lectures:&lt;br /&gt;
&lt;br /&gt;
==== Intro, SQL, logic, RDF  ====&lt;br /&gt;
&lt;br /&gt;
Read these:&lt;br /&gt;
* First the [[meedia:Kr_lect_1a.ppt|Lecture presentation]]&lt;br /&gt;
* Second, the first half of the [https://www.w3.org/TR/2014/NOTE-rdf11-primer-20140624/ RDF primer]&lt;br /&gt;
* It is also useful to understand [https://en.wikipedia.org/wiki/Uniform_Resource_Identifier what URI is]&lt;br /&gt;
&lt;br /&gt;
Then read:&lt;br /&gt;
* [[meedia:Kr_lect_2a.ppt|Second lecture presentation: RDFS and more]]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Social_graph Facebook social graph]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Facebook_Graph_Search Facebook Graph Search]&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Knowledge_Graph Google knowledge graph]&lt;br /&gt;
* And explore [http://schema.org/ schema org] and [http://schema.org/docs/schemas.html schemas]&lt;br /&gt;
&lt;br /&gt;
==== Natural language  ====&lt;br /&gt;
&lt;br /&gt;
* First the [[meedia:Kr_lect_3a.ppt|Lecture presentation]]&lt;br /&gt;
&lt;br /&gt;
We have a separate page with useful [https://courses.cs.ttu.ee/pages/Useful_NLP_links_and_notes links and notes on NLP]&lt;br /&gt;
&lt;br /&gt;
Also, try out and have a brief look at:&lt;br /&gt;
* Try out a very good [https://gate.d5.mpi-inf.mpg.de/webaida/ NER tagger AIDA online]. See also [http://jhoff.de/wp-content/papercite-data/pdf/hoffart-2015wk.pdf the dissertation] explaining how AIDA is built.&lt;br /&gt;
* Try out [http://smile-pos.appspot.com/ part-of-speech tagger]&lt;br /&gt;
* Have a quick look at Google [https://research.googleblog.com/2016/05/announcing-syntaxnet-worlds-most.html syntaxnet]&lt;br /&gt;
* Have a look at the excellent [http://www.nltk.org/book/ NLTK toolkit tutorial]&lt;br /&gt;
* Have a look at a tutorial for [http://www.lsi.upc.edu/~ageno/anlp/semanticParsing.pdf semantic parsing]&lt;br /&gt;
* Try out [http://text-processing.com/demo/sentiment/ sentiment analysis online]&lt;br /&gt;
* Have a brief look at a [https://lct-master.org/files/MullenSentimentCourseSlides.pdf detailed sentiment analysis tutorial]&lt;br /&gt;
&lt;br /&gt;
There is a large detailed page with [https://github.com/Kyubyong/nlp_tasks useful links on various NLP tasks].&lt;br /&gt;
&lt;br /&gt;
==== Representing uncertain knowledge  ====&lt;br /&gt;
&lt;br /&gt;
Lecture material:&lt;br /&gt;
* [[Media:Kr_lect_4a.pptx| Main part of the uncertainty lecture: beginning and end]] or as [[Media:Kr_lect_4a.pdf| pdf]]&lt;br /&gt;
* [[Media:Uncertain_prob_fuzzy.ppt|Probabilistic and fuzzy reasoning]] used during the middle part of the lecture.&lt;br /&gt;
&lt;br /&gt;
Additional material:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Default_logic default logic Wikipedia on default logic]: must read to understand the subject better &lt;br /&gt;
* Try out [http://tweetyproject.org/w/delp/index.html a small nonmonotonic reasoning example]&lt;br /&gt;
* [[Media:Ijcai93.pdf|Formalizing belief and knowledge]] highly recommended, but not covered in the lecture.&lt;br /&gt;
* [https://www.analyticsvidhya.com/blog/2016/06/bayesian-statistics-beginners-simple-english/ Bayesian inference] recommended if you want to understand Bayesian probabilistic inference&lt;br /&gt;
* [http://plato.stanford.edu/entries/logic-nonmonotonic/ nonmonotonic logic]: long intro to main concepts &lt;br /&gt;
&lt;br /&gt;
You may want to try out the [http://www.dlvsystem.com dlv system] for [https://en.wikipedia.org/wiki/Answer_set_programming answer set programming]: usable for implementing default logic.&lt;br /&gt;
&lt;br /&gt;
Just found a cool project with java libraries [http://tweetyproject.org/ for different kinds of KR and reasoners].&lt;br /&gt;
&lt;br /&gt;
== Reasoning and deduction ==&lt;br /&gt;
&lt;br /&gt;
[[Automated reasoning homework 2017]]: second phase of building a simple [https://en.wikipedia.org/wiki/Question_answering question answering system]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Deadline 1. december.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Homework defence deadline: 1. December. No presentations accepted after 8. December.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Useful books for reading:&lt;br /&gt;
* T.Tamme, T.Tammet, R.Prank.  [http://dspace.utlib.ee/dspace/bitstream/handle/10062/24397/9985562313.pdf Loogika: mõtlemisest tõestamiseni. TÜ Kirjastus, 2002]&lt;br /&gt;
* [http://www.cs.miami.edu/home/geoff/Courses/CSC648-12S/Content/ coursebook by Geoff] or older version as [http://www.lambda.ee/w/images/0/06/Geoffreasoningnotes.pdf pdf]&lt;br /&gt;
&lt;br /&gt;
Test and compare simple propositional solver algorithms:&lt;br /&gt;
* [http://logictools.org logictools.org]&lt;br /&gt;
&lt;br /&gt;
Subthemes:&lt;br /&gt;
&lt;br /&gt;
==== Machine reasoning with first order logic ====&lt;br /&gt;
&lt;br /&gt;
[[Media:Kr_lect_5a.pptx| Lecture material as ppt]] or as [[Media:Kr_lect_5a.pdf| pdf]]&lt;br /&gt;
&lt;br /&gt;
Additional material: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * [http://logictools.org/predicate.html one page about predicate logic provers] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * [[Media:Resolution_intro.ppt|into for prop case]] --&amp;gt;&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Resolution_%28logic%29 wiki intro to resolution] &lt;br /&gt;
* Fields of [https://en.wikipedia.org/wiki/Automated_reasoning automated reasoning] and [https://en.wikipedia.org/wiki/Automated_theorem_proving automated theorem proving] in wikipedia.&lt;br /&gt;
* [http://www.cs.miami.edu/home/geoff/Courses/CSC648-12S/Content/ coursebook by Geoff]&lt;br /&gt;
&amp;lt;!-- * [[Media:Geoffreasoningnotes.pdf|a book by Geoff]] created from course notes: best content IMHO despite weird formatting. --&amp;gt;&lt;br /&gt;
* [https://www.cs.unm.edu/~mccune/mace2/ Otter by McCune]: use it for experimenting.&lt;br /&gt;
* [[tiny examples of problems for otter]]&lt;br /&gt;
* [http://www.cs.miami.edu/~tptp/CASC/ CASC competition] and the [http://www.cs.miami.edu/~tptp/ TPTP problem library] and [http://www.cs.miami.edu/~tptp/cgi-bin/SeeTPTP?Category=Problems TPTP problem domains]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [http://lambda.ee/wiki/Prax3:_t%C3%B5estajatega_eksperimenteerimine_2015 hints for Otter]&lt;br /&gt;
* [http://lambda.ee/wiki/Prax4:_induktiivne_t%C3%B5estus_2015 inductive proof]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Propositional solvers ====&lt;br /&gt;
&lt;br /&gt;
Main material consists of several parts:&lt;br /&gt;
&lt;br /&gt;
* Read the intro - what is first order (FOL) , propositional (SAT) and satisfiability modulo theories (SMT) - and milestones from [[Media:nbjorner_smt.pptx| Nikolaj Bjorner&amp;#039;s lecture]]&lt;br /&gt;
* Read the explanation of the DPLL method from [[Media:dpll.ppt| the dpll lecture]] by Agostini and Giunchiglia.&lt;br /&gt;
* Read the [http://logictools.org/propositional.html overview of basic propositional logc solving methods ]&lt;br /&gt;
* Use http://logictools.org/ to experiment with random problems of various sizes and solver algorithms&lt;br /&gt;
&lt;br /&gt;
Additionally you may want to look at:&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/DPLL_algorithm DPLL in wikipedia]&lt;br /&gt;
* [http://www.satcompetition.org/ regular sat prover competition]&lt;br /&gt;
* http://minisat.se/&lt;br /&gt;
&lt;br /&gt;
==== Real and potential applications of reasoners ====&lt;br /&gt;
&lt;br /&gt;
[[Media:Kr_lect_7a.pptx| Lecture material as ppt]] or as [[Media:Kr_lect_7a.pdf| pdf]]&lt;br /&gt;
&lt;br /&gt;
Additionally you may want to look at (links from the presentation above):&lt;br /&gt;
* First order logic: classical stuff&lt;br /&gt;
** [http://www.cs.unm.edu/~mccune/papers/robbins/ Otter solving an open problem in math]&lt;br /&gt;
** [http://www.math.md/files/qrs/v10-n1/v10-n1-(pp95-114).pdf using otter for algebra problems]&lt;br /&gt;
** [http://www.cs.miami.edu/~tptp/ TPTP problem set for first order logic formalizations]&lt;br /&gt;
** [https://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory set theory] and [http://www.cs.miami.edu/~tptp/cgi-bin/SeeTPTP?Category=Axioms&amp;amp;File=SET004-0.ax its axiomatization in logic] and [http://www.cs.miami.edu/~tptp/cgi-bin/SeeTPTP?Category=Problems&amp;amp;Domain=SET set theory problems in TPTP]&lt;br /&gt;
** [http://www.cs.miami.edu/~tptp/CASC/ CASC prover competition]&lt;br /&gt;
&lt;br /&gt;
* Logic and NLP: several approaches&lt;br /&gt;
** [https://nlp.stanford.edu/projects/natlog.shtml Natural logic for NLP at Stanford]&lt;br /&gt;
** [https://www.google.ee/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwi50JeA0MXXAhUGQJoKHc7SB-4QFggwMAE&amp;amp;url=http%3A%2F%2Fresources.mpi-inf.mpg.de%2Fdepartments%2Frg1%2Fconferences%2Fdeduction08%2Fslides%2Fpelzer-bjoern.ppt&amp;amp;usg=AOvVaw062mOKPtvUioiuqURAvAjE logical reasoning and  NLP]&lt;br /&gt;
** [https://www.google.ee/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwi50JeA0MXXAhUGQJoKHc7SB-4QFggpMAA&amp;amp;url=https%3A%2F%2Fwww.semanticscholar.org%2Fpaper%2FCombining-Theorem-Proving-with-Natural-Language-Pr-Pelzer-Gl%25C3%25B6ckner%2F023ef392512725aaee5b2a15ae0e73f6ee066168&amp;amp;usg=AOvVaw0VIrM_YDaRK_HjWpjY-Tgz combining theorem proving with NLP]&lt;br /&gt;
** [http://www.nltk.org/howto/inference.html Inference in NLTK]&lt;br /&gt;
&lt;br /&gt;
* Annotated examples of text and sentence derivable from text:&lt;br /&gt;
** [https://nlp.stanford.edu/~wcmac/downloads/fracas.xml Classical FRACAS example set]&lt;br /&gt;
** [https://tac.nist.gov/data/RTE/index.html Newer RTE example sets]&lt;br /&gt;
** [https://rajpurkar.github.io/SQuAD-explorer/ Stanford Question Answering Dataset]&lt;br /&gt;
&lt;br /&gt;
==== SMT solvers ====&lt;br /&gt;
&lt;br /&gt;
Juhan will give a lecture about SMT solvers and applications: the main family of tools for automated verification.&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Satisfiability_modulo_theories Intro to SMT from wikipedia]&lt;br /&gt;
* [http://fm.csl.sri.com/SSFT11/lecture1.pdf SMT tutorial slides] (8 first slides were shown in the lecture)&lt;br /&gt;
* [https://cs.ttu.ee/staff/juhan/z3 Z3 tutorial in Python, links to binaries etc] as compiled by Juhan Ernits.&lt;br /&gt;
* The official binary releases of Z3 now include Java support. The example is available [https://github.com/Z3Prover/z3/tree/master/examples/java here].&lt;br /&gt;
* The sample code built during the lecture is available in Moodle.&lt;br /&gt;
&lt;br /&gt;
== Learning ==&lt;br /&gt;
[[Media:Lecture_1_ML_MKBSD_2017.pdf|Lecture_1_ML_MKBSD_2017.pdf]] &lt;br /&gt;
&lt;br /&gt;
[[Media:Lecture_2_ML_MKBSD_2017.pdf|Lecture_2_ML_MKBSD_2017.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Media:ML_HomeAssignment_2017.pdf|ML_HomeAssignment_2017.pdf]]  &lt;br /&gt;
&lt;br /&gt;
[[Media:Lecture_3_ML_MKBSD_2017.pdf|Lecture_3_ML_MKBSD_2017.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Media:Lecture_4_ML_MKBSD_2017.pdf|Lecture_4_ML_MKBSD_2017.pdf]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Interesting to try out: ====&lt;br /&gt;
&lt;br /&gt;
*[http://www.dlvsystem.com dlv system] for [https://en.wikipedia.org/wiki/Answer_set_programming answer set programming]: usable for implementing default logic&lt;br /&gt;
Things we looked at before:&lt;br /&gt;
&lt;br /&gt;
* [[Media:Uncertain_prob_fuzzy.ppt‎|Uncertain_prob_fuzzy.ppt‎]] Intro to probabilistic and fuzzy logic.&lt;br /&gt;
* [[Media:Vienna_tanel.pdf|Vienna_tanel_2.pdf]] Additional examples and combining.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Priit</name></author>
	</entry>
</feed>