<?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=Ivor</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=Ivor"/>
	<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/pages/Eri:Kaast%C3%B6%C3%B6/Ivor"/>
	<updated>2026-04-30T08:06:00Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1168</id>
		<title>ITI0140 2014 Bomberman</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1168"/>
		<updated>2014-12-15T08:18:27Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Bombermani turniir */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bombermani turniir ==&lt;br /&gt;
&lt;br /&gt;
Eesmärk: Koodida bomberman, mis toimib põhimõttel &amp;quot;There can be only one!&amp;quot;, käib laual ringi, otsib teisi tegelasi ja üritab neist lahti saada.&lt;br /&gt;
&lt;br /&gt;
Selleks:&lt;br /&gt;
&lt;br /&gt;
1) implementeerida &amp;#039;&amp;#039;&amp;#039;Bomberman&amp;#039;&amp;#039;&amp;#039; klassi järglane &amp;#039;&amp;#039;&amp;#039;Bomberman123456&amp;#039;&amp;#039;&amp;#039;, kus &amp;#039;&amp;#039;&amp;#039;123456&amp;#039;&amp;#039;&amp;#039; on tudengi matrikkel.&lt;br /&gt;
&lt;br /&gt;
2) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;bombermanIdentificationNumber&amp;#039;&amp;#039;&amp;#039;, mis tagastaks matrikli ja tudengi nime, detailsemat kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
3) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;#039;, milles toimub järgmise käigu arvutamine, detailset sisendi ja väljundi kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
4) saata oma valmis lahendus hiljemalt kolmapäeva õhtuks (17.12) kursuse meiliaadressile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üritame tekitada saadetud lahendustest turniiri ja vaatame, kes võidab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Simulaator&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.3&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_3.py|Bomberman_v0_3.py]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.4&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_4.py|Bomberman_v0_4.py]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.5&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_5.py|Bomberman_v0_5.py]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NB! Jälgige, et kasutaksite simulaatori viimast versiooni. Seal võivad esineda muudatused, mis vajavad teie lahenduse täiendamist.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni tasub lisaks vaadata koodist. Olemas on kolm implementatsiooni:&lt;br /&gt;
&lt;br /&gt;
1) &amp;#039;&amp;#039;&amp;#039;PassiveBomberman&amp;#039;&amp;#039;&amp;#039; - ei tee midagi&lt;br /&gt;
&lt;br /&gt;
2) &amp;#039;&amp;#039;&amp;#039;InteractiveBomberman&amp;#039;&amp;#039;&amp;#039; - küsib kasutajalt järgmist käiku&lt;br /&gt;
&lt;br /&gt;
3) &amp;#039;&amp;#039;&amp;#039;SuicideBomberman&amp;#039;&amp;#039;&amp;#039; - katkine lahendus, mis näitab, kuidas toimitakse lahendusega, mis käigu arvutamisel katki läheb.&lt;br /&gt;
&lt;br /&gt;
=== KKK ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui on kaks pommi kõrvuti ning üks lõhkeb, kas siis lõhkeb ka teine pomm seal kõrval?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui üks mängijatest soovib ruudule pommi panna ning teine soovib samal ajal sinna liikuda, kas siis kasutatakse ka randomi?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Mängijate käigud lahendatakse juhuslikus järjekorras. Kes jõuab juhuslikult ette, saab käigu tehtud.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas pommi panemisel mängija seisab ühe käigu?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Pommi panemine ongi käik.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas võitlus toimub 1vs1 või on platsil rohkem mängijaid?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vaatame. Põhimõtteliselt pole piirangut mängijate arvule (või noh, tähestik on). Nii kaugele pole mõelnud, et 2vs2 teha turniiri (aka teamwork).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Mis väärtused saab pommi delayks panna?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jälgige ja kasutage simulaatori &amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039; klassi väärtusi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui pomm jõuab 0i kas kõigepealt lõhkeb pomm või jõuab mängija veel ühe käigu enne teha?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kõigepealt kärab pauk ära, siis on alles käigud. St, kui laual on 0 ja mängija on selle lõhkeulatuses, siis on mängija kutu-piilu. Kui laual on 1 ja mängija on selle lõhkeulatuses, siis jõuab ühe käigu veel ära teha. Arvestades, et pommid lõhatakse enne mängija käike, siis 0-i ei peaks mängijad üldse nägema.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui suure mänguväljakuga peaks arvestama?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Arvestada võib väljakuga, mis ei ole suurem kui 20x20 ruutu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui palju on käigu tegemiseks aega?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Käigu peaks ära tegema kiiremini kui 1 sekund. Kui action() funktsioon ei returni selleks ajaks, siis paremal juhul jäävad järgmised üle aja läinud käigud vahele (mõõdetakse aeg palju käigu tegemiseks tegelikult kulus). Halvemal juhul ei arvestata üldse tulemust kui aeg üle läheb (automaatne &amp;quot;pass&amp;quot;).&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_5.py&amp;diff=1167</id>
		<title>Fail:Bomberman v0 5.py</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_5.py&amp;diff=1167"/>
		<updated>2014-12-15T08:17:47Z</updated>

		<summary type="html">&lt;p&gt;Ivor: Ivor laadis üles faili &amp;amp;quot;Pilt:Bomberman v0 5.py&amp;amp;quot; uue versiooni: Bombermani simulaator ver. 0.5.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bombermani simulaator ver. 0.5.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_5.py&amp;diff=1166</id>
		<title>Fail:Bomberman v0 5.py</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_5.py&amp;diff=1166"/>
		<updated>2014-12-15T08:13:47Z</updated>

		<summary type="html">&lt;p&gt;Ivor: Bombermani simulaator ver. 0.5.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bombermani simulaator ver. 0.5.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1162</id>
		<title>ITI0140 2014 Bomberman</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1162"/>
		<updated>2014-12-12T10:03:33Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Bombermani turniir */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bombermani turniir ==&lt;br /&gt;
&lt;br /&gt;
Eesmärk: Koodida bomberman, mis toimib põhimõttel &amp;quot;There can be only one!&amp;quot;, käib laual ringi, otsib teisi tegelasi ja üritab neist lahti saada.&lt;br /&gt;
&lt;br /&gt;
Selleks:&lt;br /&gt;
&lt;br /&gt;
1) implementeerida &amp;#039;&amp;#039;&amp;#039;Bomberman&amp;#039;&amp;#039;&amp;#039; klassi järglane &amp;#039;&amp;#039;&amp;#039;Bomberman123456&amp;#039;&amp;#039;&amp;#039;, kus &amp;#039;&amp;#039;&amp;#039;123456&amp;#039;&amp;#039;&amp;#039; on tudengi matrikkel.&lt;br /&gt;
&lt;br /&gt;
2) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;bombermanIdentificationNumber&amp;#039;&amp;#039;&amp;#039;, mis tagastaks matrikli ja tudengi nime, detailsemat kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
3) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;#039;, milles toimub järgmise käigu arvutamine, detailset sisendi ja väljundi kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
4) saata oma valmis lahendus hiljemalt kolmapäeva õhtuks (17.12) kursuse meiliaadressile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üritame tekitada saadetud lahendustest turniiri ja vaatame, kes võidab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Simulaator&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.3&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_3.py|Bomberman_v0_3.py]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.4&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_4.py|Bomberman_v0_4.py]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NB! Jälgige, et kasutaksite simulaatori viimast versiooni. Seal võivad esineda muudatused, mis vajavad teie lahenduse täiendamist.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni tasub lisaks vaadata koodist. Olemas on kolm implementatsiooni:&lt;br /&gt;
&lt;br /&gt;
1) &amp;#039;&amp;#039;&amp;#039;PassiveBomberman&amp;#039;&amp;#039;&amp;#039; - ei tee midagi&lt;br /&gt;
&lt;br /&gt;
2) &amp;#039;&amp;#039;&amp;#039;InteractiveBomberman&amp;#039;&amp;#039;&amp;#039; - küsib kasutajalt järgmist käiku&lt;br /&gt;
&lt;br /&gt;
3) &amp;#039;&amp;#039;&amp;#039;SuicideBomberman&amp;#039;&amp;#039;&amp;#039; - katkine lahendus, mis näitab, kuidas toimitakse lahendusega, mis käigu arvutamisel katki läheb.&lt;br /&gt;
&lt;br /&gt;
=== KKK ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui on kaks pommi kõrvuti ning üks lõhkeb, kas siis lõhkeb ka teine pomm seal kõrval?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui üks mängijatest soovib ruudule pommi panna ning teine soovib samal ajal sinna liikuda, kas siis kasutatakse ka randomi?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Mängijate käigud lahendatakse juhuslikus järjekorras. Kes jõuab juhuslikult ette, saab käigu tehtud.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas pommi panemisel mängija seisab ühe käigu?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Pommi panemine ongi käik.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas võitlus toimub 1vs1 või on platsil rohkem mängijaid?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vaatame. Põhimõtteliselt pole piirangut mängijate arvule (või noh, tähestik on). Nii kaugele pole mõelnud, et 2vs2 teha turniiri (aka teamwork).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Mis väärtused saab pommi delayks panna?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jälgige ja kasutage simulaatori &amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039; klassi väärtusi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui pomm jõuab 0i kas kõigepealt lõhkeb pomm või jõuab mängija veel ühe käigu enne teha?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kõigepealt kärab pauk ära, siis on alles käigud. St, kui laual on 0 ja mängija on selle lõhkeulatuses, siis on mängija kutu-piilu. Kui laual on 1 ja mängija on selle lõhkeulatuses, siis jõuab ühe käigu veel ära teha. Arvestades, et pommid lõhatakse enne mängija käike, siis 0-i ei peaks mängijad üldse nägema.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui suure mänguväljakuga peaks arvestama?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Arvestada võib väljakuga, mis ei ole suurem kui 20x20 ruutu.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui palju on käigu tegemiseks aega?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Käigu peaks ära tegema kiiremini kui 1 sekund. Kui action() funktsioon ei returni selleks ajaks, siis paremal juhul jäävad järgmised üle aja läinud käigud vahele (mõõdetakse aeg palju käigu tegemiseks tegelikult kulus). Halvemal juhul ei arvestata üldse tulemust kui aeg üle läheb (automaatne &amp;quot;pass&amp;quot;).&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_4.py&amp;diff=1161</id>
		<title>Fail:Bomberman v0 4.py</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_4.py&amp;diff=1161"/>
		<updated>2014-12-12T10:02:18Z</updated>

		<summary type="html">&lt;p&gt;Ivor: Bombermani simulaator ver. 0.4.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bombermani simulaator ver. 0.4.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1159</id>
		<title>ITI0140 2014 Bomberman</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1159"/>
		<updated>2014-12-11T10:44:05Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Bombermani turniir */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bombermani turniir ==&lt;br /&gt;
&lt;br /&gt;
Eesmärk: Koodida bomberman, mis toimib põhimõttel &amp;quot;There can be only one!&amp;quot;, käib laual ringi, otsib teisi tegelasi ja üritab neist lahti saada.&lt;br /&gt;
&lt;br /&gt;
Selleks:&lt;br /&gt;
&lt;br /&gt;
1) implementeerida &amp;#039;&amp;#039;&amp;#039;Bomberman&amp;#039;&amp;#039;&amp;#039; klassi järglane &amp;#039;&amp;#039;&amp;#039;Bomberman123456&amp;#039;&amp;#039;&amp;#039;, kus &amp;#039;&amp;#039;&amp;#039;123456&amp;#039;&amp;#039;&amp;#039; on tudengi matrikkel.&lt;br /&gt;
&lt;br /&gt;
2) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;bombermanIdentificationNumber&amp;#039;&amp;#039;&amp;#039;, mis tagastaks matrikli ja tudengi nime, detailsemat kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
3) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;#039;, milles toimub järgmise käigu arvutamine, detailset sisendi ja väljundi kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
4) saata oma valmis lahendus hiljemalt kolmapäeva õhtuks (17.12) kursuse meiliaadressile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üritame tekitada saadetud lahendustest turniiri ja vaatame, kes võidab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Simulaator&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.3&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_3.py|Bomberman_v0_3.py]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NB! Jälgige, et kasutaksite simulaatori viimast versiooni. Seal võivad esineda muudatused, mis vajavad teie lahenduse täiendamist.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni tasub lisaks vaadata koodist. Olemas on kolm implementatsiooni:&lt;br /&gt;
&lt;br /&gt;
1) &amp;#039;&amp;#039;&amp;#039;PassiveBomberman&amp;#039;&amp;#039;&amp;#039; - ei tee midagi&lt;br /&gt;
&lt;br /&gt;
2) &amp;#039;&amp;#039;&amp;#039;InteractiveBomberman&amp;#039;&amp;#039;&amp;#039; - küsib kasutajalt järgmist käiku&lt;br /&gt;
&lt;br /&gt;
3) &amp;#039;&amp;#039;&amp;#039;SuicideBomberman&amp;#039;&amp;#039;&amp;#039; - katkine lahendus, mis näitab, kuidas toimitakse lahendusega, mis käigu arvutamisel katki läheb.&lt;br /&gt;
&lt;br /&gt;
=== KKK ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui on kaks pommi kõrvuti ning üks lõhkeb, kas siis lõhkeb ka teine pomm seal kõrval?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui üks mängijatest soovib ruudule pommi panna ning teine soovib samal ajal sinna liikuda, kas siis kasutatakse ka randomi?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Mängijate käigud lahendatakse juhuslikus järjekorras. Kes jõuab juhuslikult ette, saab käigu tehtud.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas pommi panemisel mängija seisab ühe käigu?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Pommi panemine ongi käik.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas võitlus toimub 1vs1 või on platsil rohkem mängijaid?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vaatame. Põhimõtteliselt pole piirangut mängijate arvule (või noh, tähestik on). Nii kaugele pole mõelnud, et 2vs2 teha turniiri (aka teamwork).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Mis väärtused saab pommi delayks panna?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jälgige ja kasutage simulaatori &amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039; klassi väärtusi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui pomm jõuab 0i kas kõigepealt lõhkeb pomm või jõuab mängija veel ühe käigu enne teha?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kõigepealt kärab pauk ära, siis on alles käigud. St, kui laual on 0 ja mängija on selle lõhkeulatuses, siis on mängija kutu-piilu. Kui laual on 1 ja mängija on selle lõhkeulatuses, siis jõuab ühe käigu veel ära teha. Arvestades, et pommid lõhatakse enne mängija käike, siis 0-i ei peaks mängijad üldse nägema.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Programmeerimise_s%C3%BCvendatud_algkursus_(2014)&amp;diff=1158</id>
		<title>Programmeerimise süvendatud algkursus (2014)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Programmeerimise_s%C3%BCvendatud_algkursus_(2014)&amp;diff=1158"/>
		<updated>2014-12-11T10:38:10Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Orienteeruv kava */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Python_logo.jpg|50px|right]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: iti0140 ätt cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksamiajad&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;9. jaanuar kell 12:00 - 14:00 ruumis U04-103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;20. jaanuar kell 12:00 - 14:00 ruumis U05-103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Punktiseis&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&amp;amp;single=true&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aine deklareerimine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Aine deklareerimise eelduseks on see, et te olete käinud individuaalselt vestlemas. &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;Kes vestlemas pole käinud, selle deklaratsiooni lükkame tagasi&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Reedel (12. septembril) saate kaitsta 5. septembri ülesannet (pudelite ja taara ülesanne). Üldine soovitus on selline, et kes seda ülesannet järgmiseks reedeks valmis ei saa (ja/või kellele tundub see ülesanne väga keeruline), peaksid deklareerima algkursuse. Kui meile tundub, et mõni aine deklareerinud tudeng jääb selle aine jaoks nõrgaks, saab reedel veel väikse vaevaga deklaratsiooni ringi muuta (peale punast joont, 15. septembrit, on deklaratsiooni muutmine keerulisem).&lt;br /&gt;
&lt;br /&gt;
Täpsustus tunniülesannete kohta. Tunnis antav ülesanne on &amp;#039;&amp;#039;&amp;#039;kodune ülesanne&amp;#039;&amp;#039;&amp;#039;. See tähendab, et teil pole kohustust (ja me ei eelda seda) esitada lahendus samas tunnis. Kui te seda teete, siis saate lisapunkti (kokku 4p). Me eeldame, et te lahendate ülesande järgmiseks tunniks. Selliselt saate ülesande lahenduse eest 3p.&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Praktikumide arv nädalas 3&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* 1 praktikum üle nädala (lepitakse kokku)&lt;br /&gt;
* igal reedel kell 8.00 ruumis ICT-401&lt;br /&gt;
&lt;br /&gt;
Kokku koos tutvustava tunniga toimub tunde kuni 24 (8 loengut, 16 praktikumi). Aines me ei erista loengut ning praktikumi - igas tunnis tutvustame uut materjali, kontrollime koduseid ülesandeid ja jagame välja uued ülesanded. Seega, maksimaalselt (kui mõni tund ära ei jää) saame välja jagada 22 kodust ülesannet.&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.&lt;br /&gt;
&lt;br /&gt;
Eksamile tuleb registreerida ÕIS-is enne kella 12.00 eksamile eelneval päeval.&lt;br /&gt;
&lt;br /&gt;
== Aine tutvustus ==&lt;br /&gt;
&lt;br /&gt;
Tegemist on süvendatud programmeerimiskursusega tulevastele arendajatele. Selle aine eduka läbimise korral ei pea te sooritama Programmeerimise algkursust (IDK1011). Huvi korral võib sooritada mõlemad ained.&lt;br /&gt;
&lt;br /&gt;
Aines õpetatakse Pythoni keelekonstruktsioone, sh: muutujad, matemaatilised operatsioonid ja loogilised avaldised, tingimuslaused, stringid, tsüklid, meetodid, nimistud, sõnastikud, moodulid, objektorienteerimise alused. Rakendatakse õpitud programmeerimisoskusi reaalsete ülesannete lahendamisel. Saadakse praktilisi kogemusi erinevate algoritmide keerukusest.&lt;br /&gt;
&lt;br /&gt;
== Hinde saamine ==&lt;br /&gt;
&lt;br /&gt;
Igas tunnis jagame välja koduse ülesande, mille tähtaeg on järgmises tunnis. Kui te lahendate ülesande samas tunnis ära, saate maksimaalselt kuni 4 punkti. Kui lahendate ülesande ära järgmiseks tunniks, saate kuni 3 punkti. Hilinenud ülesanded annavad kuni 2 punkti. Kokku jagatakse semestri jooksul vähemalt 20 ülesannet. Kui lahendate kodused ülesanded järgmiseks tunniks ära, võite saada 60 punkti. Kui lahendate kõik ülesanded samal tunnil ära, võite saada kuni 80 punkti.&lt;br /&gt;
&lt;br /&gt;
Teise osa hindest määrab kirjalik eksam, mille eelduseks on vähemalt poolte (10) ülesannete lahendamine 1 või endam punkti peale ning vähemalt 20 punkti saamine kõikide koduste ülesannete peale. Eksami eest saab maksimaalselt 40 punkti. Eksam koosneb kümnest (10) valikvastustega küsimusest ja viiest (5) praktilisest ülesandest. &lt;br /&gt;
&lt;br /&gt;
Ülesannete tähtajaline lahendamine annab maksimaalselt 60 punkti, eksam annab 40 punkti.&lt;br /&gt;
Kui tudeng on sooritanud kõik ülesanded nende jagamise päeval, võib tudeng saada ülesannete eest 80 punkti. See tähendab, et maksimaalse tulemuse saavutamiseks piisab tudengil eksamil 20 punktist.&lt;br /&gt;
Saadud punktid liidetakse ja taandatakse TTÜ üldisele hindamisskaalale:&lt;br /&gt;
* 0-50p - hinne &amp;quot;0&amp;quot;&lt;br /&gt;
* 51-60p - hinne &amp;quot;1&amp;quot;&lt;br /&gt;
* 61-70p - hinne &amp;quot;2&amp;quot;&lt;br /&gt;
* 71-80p - hinne &amp;quot;3&amp;quot;&lt;br /&gt;
* 81-90p - hinne &amp;quot;4&amp;quot;&lt;br /&gt;
* 91 punkti või rohkem - hinne &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Orienteeruv kava ==&lt;br /&gt;
&lt;br /&gt;
Esimesed tunnid kuluvad vestlusteks. Järgnevad sisulised tunnid:&lt;br /&gt;
&lt;br /&gt;
1. tund Sissejuhatus Pythonisse [[Meedia:ITI0140_Loeng_1.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
2. tund Sõned (&amp;#039;&amp;#039;string&amp;#039;&amp;#039;) [http://courses.cs.ttu.ee/w/images/f/f5/2014_ITI0140_Loeng_2_-_Strings%2C_Lists%2C_functions%2C_tuples.pdf loeng + ülesanne]&lt;br /&gt;
&lt;br /&gt;
3. tund Järjendid (&amp;#039;&amp;#039;list&amp;#039;&amp;#039;) [[Meedia:2014_Loeng_3_-_Eclipse,_debug,_code_style.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
4. tund Andmestruktuurid - jätk [[Meedia:ITI0140_2014_Loeng_4_-_Andmestruktuurid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
5. tund Failid [[Meedia:ITI0140_Loeng_6_-_Failidest_lugemine.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
6. tund Moodulid ja erindid [[Meedia:ITI0140_Loeng_6_-_Moodulid_ja_erindid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
7. tund Objekt-orienteeritud programmeerimise (OOP) [[Meedia:2014_Loeng_7_-_OOP.pdf|loeng + ülesanne]] | [[Meedia:simulator.py|simulator.py (versioon 4)]]&lt;br /&gt;
&lt;br /&gt;
8. tund Testimine (&amp;#039;&amp;#039;unit testing&amp;#039;&amp;#039;) [[Meedia:2014_Loeng_8_-_Testing.pdf|loeng + ülesanne]] | [[Meedia:Roman_numerals.py|Ülesande lähtekood]]&lt;br /&gt;
&lt;br /&gt;
9. tund Simulatsioonid. Monte Carlo meetod. Profileerimine [[Meedia:ITI0140_-_2014_-_Loeng_9_Simuleerimine.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
10. tund Comprehensions, Lambda, Generator [[Meedia:2014_Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
11. tund Regular expressions [[Meedia:2014_Loeng_11_-_Regular_expressions.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
12. tund Image processing [[Meedia:2014_Loeng_12_-_Image_processing.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
13. tund Image processing 2  [[Meedia:2014_Loeng_13_-_Image_processing_2.pdf|loeng + ülesanne]] [https://www.youtube.com/watch?v=ohzJV980PIQ Mandelbroti zoom video]&lt;br /&gt;
&lt;br /&gt;
14. tund Sympy [[Meedia:ITI0140_2014_Loeng_sympy1.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
15. tund Matplotlib [[Meedia:ITI0140_2014_Loeng_matplotlib.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
16. tund Otsing [[Meedia:ITI0140_-_2014_Loeng_otsing.pdf|loeng + ülesanne]], [[Meedia:Tund16gen.py|tund16gen.py]]&lt;br /&gt;
&lt;br /&gt;
17. tund Graafid [[Meedia:2014_Loeng_Graafid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
18. tund Laiuti otsing [[Meedia:2014 Loeng 19 - BFS.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
19. tund Sügavuti otsing [[Meedia: 2014_Loeng_20_-_DFS.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
20. tund Kahendpuu (Binary tree, Binary search tree) [[Meedia:2014_Loeng_21_-_Binary_tree.pdf|loeng + ülesanne]], [http://www.gutenberg.org/cache/epub/3070/pg3070.txt|kasuta sisendiks teksti]&lt;br /&gt;
&lt;br /&gt;
21. tund Harjutamine eksamiks, [[ITI0140 2014 Bomberman|Bombermani turniir tähtajaga 17.12]]&lt;br /&gt;
&lt;br /&gt;
== Kasulikke linke ==&lt;br /&gt;
&lt;br /&gt;
* https://bitbucket.org/aivarannamaa/thonny - Python IDE meant for learning.&lt;br /&gt;
* http://www.compileonline.com/execute_python3_online.php - online Python interpreter&lt;br /&gt;
* http://learnpythonthehardway.org/book - Learn Python The Hard Way&lt;br /&gt;
* https://programmeerimine.cs.ut.ee/ - Tartu Ülikooli programmeerimise algkursus&lt;br /&gt;
* http://www.pythontutor.com/visualize.html - Visualiseerija&lt;br /&gt;
* http://www.codecademy.com/tracks/python - CodeCademy Pythoni kursus&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&amp;amp;single=true Punktiseis]&lt;br /&gt;
&lt;br /&gt;
== Õppekirjandus ==&lt;br /&gt;
&lt;br /&gt;
* John M. Zelle. Python Programming: An Introduction to Computer Science. Üks varasem versioon veebist kättesaadav: [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.6062&amp;amp;rep=rep1&amp;amp;type=pdf Python Programming: An Introduction to Computer Science]&lt;br /&gt;
* [https://courses.cs.ut.ee/2012/programmeerimine/ Programmeerimise kursus Tartu Ülikoolis]&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1157</id>
		<title>ITI0140 2014 Bomberman</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1157"/>
		<updated>2014-12-11T10:36:51Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Bombermani turniir */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bombermani turniir ==&lt;br /&gt;
&lt;br /&gt;
Eesmärk: Koodida bomberman, mis toimib põhimõttel &amp;quot;There can be only one!&amp;quot;, käib laual ringi, otsib teisi tegelasi ja üritab neist lahti saada.&lt;br /&gt;
&lt;br /&gt;
Selleks:&lt;br /&gt;
&lt;br /&gt;
1) implementeerida &amp;#039;&amp;#039;&amp;#039;Bomberman&amp;#039;&amp;#039;&amp;#039; klassi järglane &amp;#039;&amp;#039;&amp;#039;Bomberman123456&amp;#039;&amp;#039;&amp;#039;, kus &amp;#039;&amp;#039;&amp;#039;123456&amp;#039;&amp;#039;&amp;#039; on tudengi matrikkel.&lt;br /&gt;
&lt;br /&gt;
2) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;bombermanIdentificationNumber&amp;#039;&amp;#039;&amp;#039;, mis tagastaks matrikli ja tudengi nime, detailsemat kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
3) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;#039;, milles toimub järgmise käigu arvutamine. Detailne sisendi ja väljundi kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
4) saata oma valmis lahendus hiljemalt kolmapäeva õhtuks (17.12) kursuse meiliaadressile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NB! Jälgige, et kasutaksite simulaatori viimast versiooni. Seal võivad esineda muudatused, mis vajavad teie lahenduse täiendamist.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üritame tekitada saadetud lahendustest turniiri ja vaatame, kes võidab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Simulaator&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ver. 0.3&amp;#039;&amp;#039;&amp;#039;: [[Meedia:Bomberman_v0_3.py|Bomberman_v0_3.py]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni tasub lisaks vaadata koodist. Olemas on kolm implementatsiooni:&lt;br /&gt;
&lt;br /&gt;
1) &amp;#039;&amp;#039;&amp;#039;PassiveBomberman&amp;#039;&amp;#039;&amp;#039; - ei tee midagi&lt;br /&gt;
&lt;br /&gt;
2) &amp;#039;&amp;#039;&amp;#039;InteractiveBomberman&amp;#039;&amp;#039;&amp;#039; - küsib kasutajalt järgmist käiku&lt;br /&gt;
&lt;br /&gt;
3) &amp;#039;&amp;#039;&amp;#039;SuicideBomberman&amp;#039;&amp;#039;&amp;#039; - katkine lahendus, mis näitab, kuidas toimitakse lahendusega, mis käigu arvutamisel katki läheb.&lt;br /&gt;
&lt;br /&gt;
=== KKK ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui on kaks pommi kõrvuti ning üks lõhkeb, kas siis lõhkeb ka teine pomm seal kõrval?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui üks mängijatest soovib ruudule pommi panna ning teine soovib samal ajal sinna liikuda, kas siis kasutatakse ka randomi?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Mängijate käigud lahendatakse juhuslikus järjekorras. Kes jõuab juhuslikult ette, saab käigu tehtud.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas pommi panemisel mängija seisab ühe käigu?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Pommi panemine ongi käik.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas võitlus toimub 1vs1 või on platsil rohkem mängijaid?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vaatame. Põhimõtteliselt pole piirangut mängijate arvule (või noh, tähestik on). Nii kaugele pole mõelnud, et 2vs2 teha turniiri (aka teamwork).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Mis väärtused saab pommi delayks panna?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jälgige ja kasutage simulaatori &amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039; klassi väärtusi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui pomm jõuab 0i kas kõigepealt lõhkeb pomm või jõuab mängija veel ühe käigu enne teha?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kõigepealt kärab pauk ära, siis on alles käigud. St, kui laual on 0 ja mängija on selle lõhkeulatuses, siis on mängija kutu-piilu. Kui laual on 1 ja mängija on selle lõhkeulatuses, siis jõuab ühe käigu veel ära teha. Arvestades, et pommid lõhatakse enne mängija käike, siis 0-i ei peaks mängijad üldse nägema.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_3.py&amp;diff=1156</id>
		<title>Fail:Bomberman v0 3.py</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Fail:Bomberman_v0_3.py&amp;diff=1156"/>
		<updated>2014-12-11T10:33:51Z</updated>

		<summary type="html">&lt;p&gt;Ivor: Bombermani simulaator ver. 0.3.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bombermani simulaator ver. 0.3.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1155</id>
		<title>ITI0140 2014 Bomberman</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=ITI0140_2014_Bomberman&amp;diff=1155"/>
		<updated>2014-12-11T10:22:25Z</updated>

		<summary type="html">&lt;p&gt;Ivor: Uus lehekülg: &amp;#039;== Bombermani turniir ==  Eesmärk: Koodida bomberman, mis toimib põhimõttel &amp;quot;There can be only one!&amp;quot;, käib laual ringi, otsib teisi tegelasi ja üritab neist lahti saada.  Se...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bombermani turniir ==&lt;br /&gt;
&lt;br /&gt;
Eesmärk: Koodida bomberman, mis toimib põhimõttel &amp;quot;There can be only one!&amp;quot;, käib laual ringi, otsib teisi tegelasi ja üritab neist lahti saada.&lt;br /&gt;
&lt;br /&gt;
Selleks:&lt;br /&gt;
&lt;br /&gt;
1) implementeerida &amp;#039;&amp;#039;&amp;#039;Bomberman&amp;#039;&amp;#039;&amp;#039; klassi järglane &amp;#039;&amp;#039;&amp;#039;Bomberman123456&amp;#039;&amp;#039;&amp;#039;, kus &amp;#039;&amp;#039;&amp;#039;123456&amp;#039;&amp;#039;&amp;#039; on tudengi matrikkel.&lt;br /&gt;
&lt;br /&gt;
2) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;bombermanIdentificationNumber&amp;#039;&amp;#039;&amp;#039;, mis tagastaks matrikli ja tudengi nime, detailsemat kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
3) tekitada loodud klassis meetod &amp;#039;&amp;#039;&amp;#039;action&amp;#039;&amp;#039;&amp;#039;, milles toimub järgmise käigu arvutamine. Detailne sisendi ja väljundi kirjeldust vaata koodis.&lt;br /&gt;
&lt;br /&gt;
4) saata oma valmis lahendus hiljemalt kolmapäeva õhtuks (17.12) kursuse meiliaadressile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NB! Jälgige, et kasutaksite simulaatori viimast versiooni. Seal võivad esineda muudatused, mis vajavad teie lahenduse täiendamist.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üritame tekitada saadetud lahendustest turniiri ja vaatame, kes võidab.&lt;br /&gt;
&lt;br /&gt;
Simulaator:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dokumentatsiooni tasub lisaks vaadata koodist. Olemas on kolm implementatsiooni:&lt;br /&gt;
&lt;br /&gt;
1) &amp;#039;&amp;#039;&amp;#039;PassiveBomberman&amp;#039;&amp;#039;&amp;#039; - ei tee midagi&lt;br /&gt;
&lt;br /&gt;
2) &amp;#039;&amp;#039;&amp;#039;InteractiveBomberman&amp;#039;&amp;#039;&amp;#039; - küsib kasutajalt järgmist käiku&lt;br /&gt;
&lt;br /&gt;
3) &amp;#039;&amp;#039;&amp;#039;SuicideBomberman&amp;#039;&amp;#039;&amp;#039; - katkine lahendus, mis näitab, kuidas toimitakse lahendusega, mis käigu arvutamisel katki läheb.&lt;br /&gt;
&lt;br /&gt;
=== KKK ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui on kaks pommi kõrvuti ning üks lõhkeb, kas siis lõhkeb ka teine pomm seal kõrval?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui üks mängijatest soovib ruudule pommi panna ning teine soovib samal ajal sinna liikuda, kas siis kasutatakse ka randomi?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Mängijate käigud lahendatakse juhuslikus järjekorras. Kes jõuab juhuslikult ette, saab käigu tehtud.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas pommi panemisel mängija seisab ühe käigu?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jah. Pommi panemine ongi käik.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kas võitlus toimub 1vs1 või on platsil rohkem mängijaid?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Vaatame. Põhimõtteliselt pole piirangut mängijate arvule (või noh, tähestik on). Nii kaugele pole mõelnud, et 2vs2 teha turniiri (aka teamwork).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Mis väärtused saab pommi delayks panna?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Jälgige ja kasutage simulaatori &amp;#039;&amp;#039;&amp;#039;Constants&amp;#039;&amp;#039;&amp;#039; klassi väärtusi.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Kui pomm jõuab 0i kas kõigepealt lõhkeb pomm või jõuab mängija veel ühe käigu enne teha?&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kõigepealt kärab pauk ära, siis on alles käigud. St, kui laual on 0 ja mängija on selle lõhkeulatuses, siis on mängija kutu-piilu. Kui laual on 1 ja mängija on selle lõhkeulatuses, siis jõuab ühe käigu veel ära teha. Arvestades, et pommid lõhatakse enne mängija käike, siis 0-i ei peaks mängijad üldse nägema.&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Programmeerimise_s%C3%BCvendatud_algkursus_(2014)&amp;diff=1154</id>
		<title>Programmeerimise süvendatud algkursus (2014)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Programmeerimise_s%C3%BCvendatud_algkursus_(2014)&amp;diff=1154"/>
		<updated>2014-12-11T10:01:43Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Orienteeruv kava */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Python_logo.jpg|50px|right]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: iti0140 ätt cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksamiajad&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;9. jaanuar kell 12:00 - 14:00 ruumis U04-103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;20. jaanuar kell 12:00 - 14:00 ruumis U05-103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Punktiseis&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&amp;amp;single=true&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aine deklareerimine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Aine deklareerimise eelduseks on see, et te olete käinud individuaalselt vestlemas. &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;Kes vestlemas pole käinud, selle deklaratsiooni lükkame tagasi&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Reedel (12. septembril) saate kaitsta 5. septembri ülesannet (pudelite ja taara ülesanne). Üldine soovitus on selline, et kes seda ülesannet järgmiseks reedeks valmis ei saa (ja/või kellele tundub see ülesanne väga keeruline), peaksid deklareerima algkursuse. Kui meile tundub, et mõni aine deklareerinud tudeng jääb selle aine jaoks nõrgaks, saab reedel veel väikse vaevaga deklaratsiooni ringi muuta (peale punast joont, 15. septembrit, on deklaratsiooni muutmine keerulisem).&lt;br /&gt;
&lt;br /&gt;
Täpsustus tunniülesannete kohta. Tunnis antav ülesanne on &amp;#039;&amp;#039;&amp;#039;kodune ülesanne&amp;#039;&amp;#039;&amp;#039;. See tähendab, et teil pole kohustust (ja me ei eelda seda) esitada lahendus samas tunnis. Kui te seda teete, siis saate lisapunkti (kokku 4p). Me eeldame, et te lahendate ülesande järgmiseks tunniks. Selliselt saate ülesande lahenduse eest 3p.&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Praktikumide arv nädalas 3&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* 1 praktikum üle nädala (lepitakse kokku)&lt;br /&gt;
* igal reedel kell 8.00 ruumis ICT-401&lt;br /&gt;
&lt;br /&gt;
Kokku koos tutvustava tunniga toimub tunde kuni 24 (8 loengut, 16 praktikumi). Aines me ei erista loengut ning praktikumi - igas tunnis tutvustame uut materjali, kontrollime koduseid ülesandeid ja jagame välja uued ülesanded. Seega, maksimaalselt (kui mõni tund ära ei jää) saame välja jagada 22 kodust ülesannet.&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.&lt;br /&gt;
&lt;br /&gt;
Eksamile tuleb registreerida ÕIS-is enne kella 12.00 eksamile eelneval päeval.&lt;br /&gt;
&lt;br /&gt;
== Aine tutvustus ==&lt;br /&gt;
&lt;br /&gt;
Tegemist on süvendatud programmeerimiskursusega tulevastele arendajatele. Selle aine eduka läbimise korral ei pea te sooritama Programmeerimise algkursust (IDK1011). Huvi korral võib sooritada mõlemad ained.&lt;br /&gt;
&lt;br /&gt;
Aines õpetatakse Pythoni keelekonstruktsioone, sh: muutujad, matemaatilised operatsioonid ja loogilised avaldised, tingimuslaused, stringid, tsüklid, meetodid, nimistud, sõnastikud, moodulid, objektorienteerimise alused. Rakendatakse õpitud programmeerimisoskusi reaalsete ülesannete lahendamisel. Saadakse praktilisi kogemusi erinevate algoritmide keerukusest.&lt;br /&gt;
&lt;br /&gt;
== Hinde saamine ==&lt;br /&gt;
&lt;br /&gt;
Igas tunnis jagame välja koduse ülesande, mille tähtaeg on järgmises tunnis. Kui te lahendate ülesande samas tunnis ära, saate maksimaalselt kuni 4 punkti. Kui lahendate ülesande ära järgmiseks tunniks, saate kuni 3 punkti. Hilinenud ülesanded annavad kuni 2 punkti. Kokku jagatakse semestri jooksul vähemalt 20 ülesannet. Kui lahendate kodused ülesanded järgmiseks tunniks ära, võite saada 60 punkti. Kui lahendate kõik ülesanded samal tunnil ära, võite saada kuni 80 punkti.&lt;br /&gt;
&lt;br /&gt;
Teise osa hindest määrab kirjalik eksam, mille eelduseks on vähemalt poolte (10) ülesannete lahendamine 1 või endam punkti peale ning vähemalt 20 punkti saamine kõikide koduste ülesannete peale. Eksami eest saab maksimaalselt 40 punkti. Eksam koosneb kümnest (10) valikvastustega küsimusest ja viiest (5) praktilisest ülesandest. &lt;br /&gt;
&lt;br /&gt;
Ülesannete tähtajaline lahendamine annab maksimaalselt 60 punkti, eksam annab 40 punkti.&lt;br /&gt;
Kui tudeng on sooritanud kõik ülesanded nende jagamise päeval, võib tudeng saada ülesannete eest 80 punkti. See tähendab, et maksimaalse tulemuse saavutamiseks piisab tudengil eksamil 20 punktist.&lt;br /&gt;
Saadud punktid liidetakse ja taandatakse TTÜ üldisele hindamisskaalale:&lt;br /&gt;
* 0-50p - hinne &amp;quot;0&amp;quot;&lt;br /&gt;
* 51-60p - hinne &amp;quot;1&amp;quot;&lt;br /&gt;
* 61-70p - hinne &amp;quot;2&amp;quot;&lt;br /&gt;
* 71-80p - hinne &amp;quot;3&amp;quot;&lt;br /&gt;
* 81-90p - hinne &amp;quot;4&amp;quot;&lt;br /&gt;
* 91 punkti või rohkem - hinne &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Orienteeruv kava ==&lt;br /&gt;
&lt;br /&gt;
Esimesed tunnid kuluvad vestlusteks. Järgnevad sisulised tunnid:&lt;br /&gt;
&lt;br /&gt;
1. tund Sissejuhatus Pythonisse [[Meedia:ITI0140_Loeng_1.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
2. tund Sõned (&amp;#039;&amp;#039;string&amp;#039;&amp;#039;) [http://courses.cs.ttu.ee/w/images/f/f5/2014_ITI0140_Loeng_2_-_Strings%2C_Lists%2C_functions%2C_tuples.pdf loeng + ülesanne]&lt;br /&gt;
&lt;br /&gt;
3. tund Järjendid (&amp;#039;&amp;#039;list&amp;#039;&amp;#039;) [[Meedia:2014_Loeng_3_-_Eclipse,_debug,_code_style.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
4. tund Andmestruktuurid - jätk [[Meedia:ITI0140_2014_Loeng_4_-_Andmestruktuurid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
5. tund Failid [[Meedia:ITI0140_Loeng_6_-_Failidest_lugemine.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
6. tund Moodulid ja erindid [[Meedia:ITI0140_Loeng_6_-_Moodulid_ja_erindid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
7. tund Objekt-orienteeritud programmeerimise (OOP) [[Meedia:2014_Loeng_7_-_OOP.pdf|loeng + ülesanne]] | [[Meedia:simulator.py|simulator.py (versioon 4)]]&lt;br /&gt;
&lt;br /&gt;
8. tund Testimine (&amp;#039;&amp;#039;unit testing&amp;#039;&amp;#039;) [[Meedia:2014_Loeng_8_-_Testing.pdf|loeng + ülesanne]] | [[Meedia:Roman_numerals.py|Ülesande lähtekood]]&lt;br /&gt;
&lt;br /&gt;
9. tund Simulatsioonid. Monte Carlo meetod. Profileerimine [[Meedia:ITI0140_-_2014_-_Loeng_9_Simuleerimine.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
10. tund Comprehensions, Lambda, Generator [[Meedia:2014_Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
11. tund Regular expressions [[Meedia:2014_Loeng_11_-_Regular_expressions.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
12. tund Image processing [[Meedia:2014_Loeng_12_-_Image_processing.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
13. tund Image processing 2  [[Meedia:2014_Loeng_13_-_Image_processing_2.pdf|loeng + ülesanne]] [https://www.youtube.com/watch?v=ohzJV980PIQ Mandelbroti zoom video]&lt;br /&gt;
&lt;br /&gt;
14. tund Sympy [[Meedia:ITI0140_2014_Loeng_sympy1.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
15. tund Matplotlib [[Meedia:ITI0140_2014_Loeng_matplotlib.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
16. tund Otsing [[Meedia:ITI0140_-_2014_Loeng_otsing.pdf|loeng + ülesanne]], [[Meedia:Tund16gen.py|tund16gen.py]]&lt;br /&gt;
&lt;br /&gt;
17. tund Graafid [[Meedia:2014_Loeng_Graafid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
18. tund Laiuti otsing [[Meedia:2014 Loeng 19 - BFS.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
19. tund Sügavuti otsing [[Meedia: 2014_Loeng_20_-_DFS.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
20. tund Kahendpuu (Binary tree, Binary search tree) [[Meedia:2014_Loeng_21_-_Binary_tree.pdf|loeng + ülesanne]], [http://www.gutenberg.org/cache/epub/3070/pg3070.txt|kasuta sisendiks teksti]&lt;br /&gt;
&lt;br /&gt;
21. tund Harjutamine eksamiks, [[Meedia:ITI0140 2014 Loeng 22 World.txt|World.txt]], [[Meedia:ITI0140 2014 Loeng 22 Bomberman.py|Bomberman.py]], [[ITI0140 2014 Bomberman]]&lt;br /&gt;
&lt;br /&gt;
== Kasulikke linke ==&lt;br /&gt;
&lt;br /&gt;
* https://bitbucket.org/aivarannamaa/thonny - Python IDE meant for learning.&lt;br /&gt;
* http://www.compileonline.com/execute_python3_online.php - online Python interpreter&lt;br /&gt;
* http://learnpythonthehardway.org/book - Learn Python The Hard Way&lt;br /&gt;
* https://programmeerimine.cs.ut.ee/ - Tartu Ülikooli programmeerimise algkursus&lt;br /&gt;
* http://www.pythontutor.com/visualize.html - Visualiseerija&lt;br /&gt;
* http://www.codecademy.com/tracks/python - CodeCademy Pythoni kursus&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&amp;amp;single=true Punktiseis]&lt;br /&gt;
&lt;br /&gt;
== Õppekirjandus ==&lt;br /&gt;
&lt;br /&gt;
* John M. Zelle. Python Programming: An Introduction to Computer Science. Üks varasem versioon veebist kättesaadav: [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.6062&amp;amp;rep=rep1&amp;amp;type=pdf Python Programming: An Introduction to Computer Science]&lt;br /&gt;
* [https://courses.cs.ut.ee/2012/programmeerimine/ Programmeerimise kursus Tartu Ülikoolis]&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
	<entry>
		<id>http://courses.cs.taltech.ee/w/index.php?title=Programmeerimise_s%C3%BCvendatud_algkursus_(2014)&amp;diff=1151</id>
		<title>Programmeerimise süvendatud algkursus (2014)</title>
		<link rel="alternate" type="text/html" href="http://courses.cs.taltech.ee/w/index.php?title=Programmeerimise_s%C3%BCvendatud_algkursus_(2014)&amp;diff=1151"/>
		<updated>2014-12-11T09:49:05Z</updated>

		<summary type="html">&lt;p&gt;Ivor: /* Orienteeruv kava */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Pilt:Python_logo.jpg|50px|right]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039;&amp;#039;: iti0140 ätt cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Eksamiajad&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;9. jaanuar kell 12:00 - 14:00 ruumis U04-103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;20. jaanuar kell 12:00 - 14:00 ruumis U05-103&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Punktiseis&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&amp;amp;single=true&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Aine deklareerimine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Aine deklareerimise eelduseks on see, et te olete käinud individuaalselt vestlemas. &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;Kes vestlemas pole käinud, selle deklaratsiooni lükkame tagasi&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Reedel (12. septembril) saate kaitsta 5. septembri ülesannet (pudelite ja taara ülesanne). Üldine soovitus on selline, et kes seda ülesannet järgmiseks reedeks valmis ei saa (ja/või kellele tundub see ülesanne väga keeruline), peaksid deklareerima algkursuse. Kui meile tundub, et mõni aine deklareerinud tudeng jääb selle aine jaoks nõrgaks, saab reedel veel väikse vaevaga deklaratsiooni ringi muuta (peale punast joont, 15. septembrit, on deklaratsiooni muutmine keerulisem).&lt;br /&gt;
&lt;br /&gt;
Täpsustus tunniülesannete kohta. Tunnis antav ülesanne on &amp;#039;&amp;#039;&amp;#039;kodune ülesanne&amp;#039;&amp;#039;&amp;#039;. See tähendab, et teil pole kohustust (ja me ei eelda seda) esitada lahendus samas tunnis. Kui te seda teete, siis saate lisapunkti (kokku 4p). Me eeldame, et te lahendate ülesande järgmiseks tunniks. Selliselt saate ülesande lahenduse eest 3p.&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Praktikumide arv nädalas 3&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* 1 praktikum üle nädala (lepitakse kokku)&lt;br /&gt;
* igal reedel kell 8.00 ruumis ICT-401&lt;br /&gt;
&lt;br /&gt;
Kokku koos tutvustava tunniga toimub tunde kuni 24 (8 loengut, 16 praktikumi). Aines me ei erista loengut ning praktikumi - igas tunnis tutvustame uut materjali, kontrollime koduseid ülesandeid ja jagame välja uued ülesanded. Seega, maksimaalselt (kui mõni tund ära ei jää) saame välja jagada 22 kodust ülesannet.&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.&lt;br /&gt;
&lt;br /&gt;
Eksamile tuleb registreerida ÕIS-is enne kella 12.00 eksamile eelneval päeval.&lt;br /&gt;
&lt;br /&gt;
== Aine tutvustus ==&lt;br /&gt;
&lt;br /&gt;
Tegemist on süvendatud programmeerimiskursusega tulevastele arendajatele. Selle aine eduka läbimise korral ei pea te sooritama Programmeerimise algkursust (IDK1011). Huvi korral võib sooritada mõlemad ained.&lt;br /&gt;
&lt;br /&gt;
Aines õpetatakse Pythoni keelekonstruktsioone, sh: muutujad, matemaatilised operatsioonid ja loogilised avaldised, tingimuslaused, stringid, tsüklid, meetodid, nimistud, sõnastikud, moodulid, objektorienteerimise alused. Rakendatakse õpitud programmeerimisoskusi reaalsete ülesannete lahendamisel. Saadakse praktilisi kogemusi erinevate algoritmide keerukusest.&lt;br /&gt;
&lt;br /&gt;
== Hinde saamine ==&lt;br /&gt;
&lt;br /&gt;
Igas tunnis jagame välja koduse ülesande, mille tähtaeg on järgmises tunnis. Kui te lahendate ülesande samas tunnis ära, saate maksimaalselt kuni 4 punkti. Kui lahendate ülesande ära järgmiseks tunniks, saate kuni 3 punkti. Hilinenud ülesanded annavad kuni 2 punkti. Kokku jagatakse semestri jooksul vähemalt 20 ülesannet. Kui lahendate kodused ülesanded järgmiseks tunniks ära, võite saada 60 punkti. Kui lahendate kõik ülesanded samal tunnil ära, võite saada kuni 80 punkti.&lt;br /&gt;
&lt;br /&gt;
Teise osa hindest määrab kirjalik eksam, mille eelduseks on vähemalt poolte (10) ülesannete lahendamine 1 või endam punkti peale ning vähemalt 20 punkti saamine kõikide koduste ülesannete peale. Eksami eest saab maksimaalselt 40 punkti. Eksam koosneb kümnest (10) valikvastustega küsimusest ja viiest (5) praktilisest ülesandest. &lt;br /&gt;
&lt;br /&gt;
Ülesannete tähtajaline lahendamine annab maksimaalselt 60 punkti, eksam annab 40 punkti.&lt;br /&gt;
Kui tudeng on sooritanud kõik ülesanded nende jagamise päeval, võib tudeng saada ülesannete eest 80 punkti. See tähendab, et maksimaalse tulemuse saavutamiseks piisab tudengil eksamil 20 punktist.&lt;br /&gt;
Saadud punktid liidetakse ja taandatakse TTÜ üldisele hindamisskaalale:&lt;br /&gt;
* 0-50p - hinne &amp;quot;0&amp;quot;&lt;br /&gt;
* 51-60p - hinne &amp;quot;1&amp;quot;&lt;br /&gt;
* 61-70p - hinne &amp;quot;2&amp;quot;&lt;br /&gt;
* 71-80p - hinne &amp;quot;3&amp;quot;&lt;br /&gt;
* 81-90p - hinne &amp;quot;4&amp;quot;&lt;br /&gt;
* 91 punkti või rohkem - hinne &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Orienteeruv kava ==&lt;br /&gt;
&lt;br /&gt;
Esimesed tunnid kuluvad vestlusteks. Järgnevad sisulised tunnid:&lt;br /&gt;
&lt;br /&gt;
1. tund Sissejuhatus Pythonisse [[Meedia:ITI0140_Loeng_1.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
2. tund Sõned (&amp;#039;&amp;#039;string&amp;#039;&amp;#039;) [http://courses.cs.ttu.ee/w/images/f/f5/2014_ITI0140_Loeng_2_-_Strings%2C_Lists%2C_functions%2C_tuples.pdf loeng + ülesanne]&lt;br /&gt;
&lt;br /&gt;
3. tund Järjendid (&amp;#039;&amp;#039;list&amp;#039;&amp;#039;) [[Meedia:2014_Loeng_3_-_Eclipse,_debug,_code_style.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
4. tund Andmestruktuurid - jätk [[Meedia:ITI0140_2014_Loeng_4_-_Andmestruktuurid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
5. tund Failid [[Meedia:ITI0140_Loeng_6_-_Failidest_lugemine.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
6. tund Moodulid ja erindid [[Meedia:ITI0140_Loeng_6_-_Moodulid_ja_erindid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
7. tund Objekt-orienteeritud programmeerimise (OOP) [[Meedia:2014_Loeng_7_-_OOP.pdf|loeng + ülesanne]] | [[Meedia:simulator.py|simulator.py (versioon 4)]]&lt;br /&gt;
&lt;br /&gt;
8. tund Testimine (&amp;#039;&amp;#039;unit testing&amp;#039;&amp;#039;) [[Meedia:2014_Loeng_8_-_Testing.pdf|loeng + ülesanne]] | [[Meedia:Roman_numerals.py|Ülesande lähtekood]]&lt;br /&gt;
&lt;br /&gt;
9. tund Simulatsioonid. Monte Carlo meetod. Profileerimine [[Meedia:ITI0140_-_2014_-_Loeng_9_Simuleerimine.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
10. tund Comprehensions, Lambda, Generator [[Meedia:2014_Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
11. tund Regular expressions [[Meedia:2014_Loeng_11_-_Regular_expressions.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
12. tund Image processing [[Meedia:2014_Loeng_12_-_Image_processing.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
13. tund Image processing 2  [[Meedia:2014_Loeng_13_-_Image_processing_2.pdf|loeng + ülesanne]] [https://www.youtube.com/watch?v=ohzJV980PIQ Mandelbroti zoom video]&lt;br /&gt;
&lt;br /&gt;
14. tund Sympy [[Meedia:ITI0140_2014_Loeng_sympy1.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
15. tund Matplotlib [[Meedia:ITI0140_2014_Loeng_matplotlib.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
16. tund Otsing [[Meedia:ITI0140_-_2014_Loeng_otsing.pdf|loeng + ülesanne]], [[Meedia:Tund16gen.py|tund16gen.py]]&lt;br /&gt;
&lt;br /&gt;
17. tund Graafid [[Meedia:2014_Loeng_Graafid.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
18. tund Laiuti otsing [[Meedia:2014 Loeng 19 - BFS.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
19. tund Sügavuti otsing [[Meedia: 2014_Loeng_20_-_DFS.pdf|loeng + ülesanne]]&lt;br /&gt;
&lt;br /&gt;
20. tund Kahendpuu (Binary tree, Binary search tree) [[Meedia:2014_Loeng_21_-_Binary_tree.pdf]], [http://www.gutenberg.org/cache/epub/3070/pg3070.txt|kasuta sisendiks teksti]&lt;br /&gt;
&lt;br /&gt;
21. tund Harjutamine eksamiks, [[Meedia:ITI0140 2014 Loeng 22 World.txt|World.txt]], [[Meedia:ITI0140 2014 Loeng 22 Bomberman.py|Bomberman.py]]&lt;br /&gt;
&lt;br /&gt;
== Kasulikke linke ==&lt;br /&gt;
&lt;br /&gt;
* https://bitbucket.org/aivarannamaa/thonny - Python IDE meant for learning.&lt;br /&gt;
* http://www.compileonline.com/execute_python3_online.php - online Python interpreter&lt;br /&gt;
* http://learnpythonthehardway.org/book - Learn Python The Hard Way&lt;br /&gt;
* https://programmeerimine.cs.ut.ee/ - Tartu Ülikooli programmeerimise algkursus&lt;br /&gt;
* http://www.pythontutor.com/visualize.html - Visualiseerija&lt;br /&gt;
* http://www.codecademy.com/tracks/python - CodeCademy Pythoni kursus&lt;br /&gt;
* [https://docs.google.com/spreadsheets/d/1k10IZ1EtwOBL8tdDUr197MdGKtqlfBa4sFi_YEQO6_8/pubhtml?gid=836704825&amp;amp;single=true Punktiseis]&lt;br /&gt;
&lt;br /&gt;
== Õppekirjandus ==&lt;br /&gt;
&lt;br /&gt;
* John M. Zelle. Python Programming: An Introduction to Computer Science. Üks varasem versioon veebist kättesaadav: [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.6062&amp;amp;rep=rep1&amp;amp;type=pdf Python Programming: An Introduction to Computer Science]&lt;br /&gt;
* [https://courses.cs.ut.ee/2012/programmeerimine/ Programmeerimise kursus Tartu Ülikoolis]&lt;/div&gt;</summary>
		<author><name>Ivor</name></author>
	</entry>
</feed>