<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="et">
	<id>http://www.lambda.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ago</id>
	<title>Lambda - Kasutaja kaastöö [et]</title>
	<link rel="self" type="application/atom+xml" href="http://www.lambda.ee/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ago"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/wiki/Eri:Kaast%C3%B6%C3%B6/Ago"/>
	<updated>2026-10-28T09:25:49Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11662</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11662"/>
		<updated>2014-09-04T17:42:21Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color: red; font-size: 14pt;&amp;quot;&amp;gt;Uus kursuse veebileht: http://courses.cs.ttu.ee/pages/ITI0140&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamitulemused on punktitabelis väljas.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Tähelepanu, eksami maksimaalne punktisumma on 60 punkti.&#039;&#039;&#039; Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Igal tudengil on konsultatsiooni ajal ette näidata kuni 10 ülesannet novembri- ja detsembrikuust.&#039;&#039;&#039; Iga ülesande eest saab kuni 2 punkti. Seega, teil on võimalik veel kuni 20 punkti parandada oma seisu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Konsultatsioonid:&lt;br /&gt;
# &#039;&#039;&#039;06. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;12.00&#039;&#039;&#039; - 13.00 ruumis ICT-411&lt;br /&gt;
# &#039;&#039;&#039;13. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;13.00&#039;&#039;&#039; - 14.00 ruumis ICT-411&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 60 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 60 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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&lt;br /&gt;
&lt;br /&gt;
22. tund (20. detsember) [[Media:Python_naiteid_eksamiks.zip‎|väikeseid koodinäiteid eksamiks]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11661</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11661"/>
		<updated>2014-09-04T17:15:08Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color: red; font-size: 14pt;&amp;quot;&amp;gt;Uus kursuse veebileht: http://courses.cs.ttu.ee/pages/ITI0011&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: #F00;&amp;quot;&amp;gt;Tähelepanu&amp;lt;/span&amp;gt;, 5. juuni eksami aeg ja koht on muutunud: eksam hakkab &#039;&#039;&#039;11.30&#039;&#039;&#039; ja ruum on &#039;&#039;&#039;ICT-411&#039;&#039;&#039; (IT-maja).&lt;br /&gt;
* Kevadine eksam &#039;&#039;&#039;5. juunil (neljapäev) kell 11.30 ruumis ICT-411&#039;&#039;&#039;. Registreerimine ÕIS-is hiljemalt 4. juuni kell 12.00&lt;br /&gt;
** Eksamit saavad sooritada tudengid, kellel on eksamieeldus täidetud (kolm ülesannet kaitstud).&lt;br /&gt;
** konsultatsioonid 28. mai kell 12.00 ja 4. juuni kell 12.00 ruumis ICT-411. Registreerimine kohustuslik: http://doodle.com/tbx47ydfpgzpqqd5&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11660</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11660"/>
		<updated>2014-09-04T17:14:53Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;color: red; font-size: 14pt;&amp;quot;&amp;gt;Uus kursuse veebileht: http://courses.cs.ttu.ee/pages/ITI0011&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: #F00;&amp;quot;&amp;gt;Tähelepanu&amp;lt;/span&amp;gt;, 5. juuni eksami aeg ja koht on muutunud: eksam hakkab &#039;&#039;&#039;11.30&#039;&#039;&#039; ja ruum on &#039;&#039;&#039;ICT-411&#039;&#039;&#039; (IT-maja).&lt;br /&gt;
* Kevadine eksam &#039;&#039;&#039;5. juunil (neljapäev) kell 11.30 ruumis ICT-411&#039;&#039;&#039;. Registreerimine ÕIS-is hiljemalt 4. juuni kell 12.00&lt;br /&gt;
** Eksamit saavad sooritada tudengid, kellel on eksamieeldus täidetud (kolm ülesannet kaitstud).&lt;br /&gt;
** konsultatsioonid 28. mai kell 12.00 ja 4. juuni kell 12.00 ruumis ICT-411. Registreerimine kohustuslik: http://doodle.com/tbx47ydfpgzpqqd5&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Programmeerimise_ol%C3%BCmpiaad&amp;diff=11625</id>
		<title>Programmeerimise olümpiaad</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Programmeerimise_ol%C3%BCmpiaad&amp;diff=11625"/>
		<updated>2014-08-26T11:00:19Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
&lt;br /&gt;
Kontakt: olympiaad ätt cs.ttu.ee&lt;br /&gt;
&lt;br /&gt;
Tutvustav võistlus toimub septembri keskel. Täpsem info selgub jooksvalt.&lt;br /&gt;
&lt;br /&gt;
Baltimaade võistlus, mille käigus selgitatakse välja võistkonnad, kes TTÜ-d esindavad, toimub septembri lõpus.&lt;br /&gt;
&lt;br /&gt;
Registreerimiseks saada email olympiaad ätt cs.ttu.ee . Emailis kirjuta meeskonna liikmete nimed, õpilaskood (matrikkel + rühm + rühma kood). &lt;br /&gt;
&lt;br /&gt;
Selgitame välja üks või kaks kuni kolmeliikmelist tiimi, kes läheksid ülikooli regionaalsele võistlusele esindama.&lt;br /&gt;
&lt;br /&gt;
Piirkondlik voor toimub Minskis, Valgevenes oktoobri lõpus. TTÜ saab võistlusele saata kaks kuni kolmeliikmelist võistkonda. Võistkonnad selgitatakse välja septembri lõpus toimuva võistlusega.&lt;br /&gt;
&lt;br /&gt;
== Täpsem info ==&lt;br /&gt;
&lt;br /&gt;
Reeglid:&lt;br /&gt;
&lt;br /&gt;
* Võistlus toimub kuni kolmeliikmeliste võistkondadega. Võistkonna liikmed on sündinud 1991 või hiljem ja astunud ülikooli 2010 või hiljem.&lt;br /&gt;
* Igal võistkonnal on kasutada üks arvuti.&lt;br /&gt;
* 5 tunni jooksul tuleb ära lahendada maksimaalne hulk ülesandeid.&lt;br /&gt;
* Töö toimub klassi arvutitel, kasutada saab C, C++ ja Java keelt.&lt;br /&gt;
* Olümpiaadil võib kasutada trükitud materjale ja raamatuid, Interneti kasutamine ei ole lubatud.&lt;br /&gt;
* Võistkonna registreerimiseks saatke e-mail osalejate nimedega aadressil olympiaad ät cs.ttu.ee.&lt;br /&gt;
* Järjestuse määrab lahendatud ülesannete arv, võrdse arvu korral kulunud aeg.&lt;br /&gt;
* Võistlus toimub samal ajal samadele ülesannetega ka mitmes teises ülikoolis&lt;br /&gt;
* [http://icpc.baylor.edu/regionals/finder/northeastern-europe-2013 Järgmiste voorude info] ja [http://icpc.baylor.edu/regionals/rules järgmiste voorude reeglid].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1-2 parimat võistkond saavad ülikoolilt toetuse osalemiseks ACM olümpiaadi veerandfinaalis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Natuke olümpiaadi korraldusest:&amp;lt;br /&amp;gt;&lt;br /&gt;
Võistkonnale antakse kätte mingu hulk ülesanded. Ülesanded on inglise keeles. Ülesande koodi (source) ei kontrollita, kontrollitakse vaid tulemust. Iga programm lastakse läbi automaatse testimissüsteemi, mis kompileerib programmi, annab sellele ette mitmesuguseid reeglitekohaseid (aga võimalikult keerukaid) sisendeid ning väljastab vaid, kas tulemus oli õige või mitte. Kui programm andis mõne sisendi korral vale vastuse, siis selle kohta enam täpsemat infot ei anta. Kui programm annab 99-l juhul 100-st õige vastuse, kuid ühe vale, on tulemus 0. Vaid juhul, kui igal testil annab õige vastuse, saab ülesande eest punkte. Programmidele on lahenduseks seatud mälumahu ja ajapiirang. Iga ebaõnnestunud testimine annab karistusminuteid.&lt;br /&gt;
Iga ülesande kohta on toodud paar näidissisendit ja vastavad näidisväljundid. Oluline on ka sisendi ja väljundi formaat. Kui näiteks kahe erineva testi vahel peab jääma 2 tühja rida, siis jättes 1 tühja rea, loetakse vastus valeks.&amp;lt;br /&amp;gt;&lt;br /&gt;
Kõiki ülesandeid ei jõua lahendatud tavaliselt ükski meeskond. Alustage kõige lihtsamast, et esimesed punktid kiiremini kirja saada.&lt;br /&gt;
Ülikoolisisesed olümpiaadid toimuvad samal ajal samade ülesannetega ka teistes ülikoolides. Saate end jooksvalt nendega võrrelda.&lt;br /&gt;
&lt;br /&gt;
Mõned veebilehed ja materjalid, kus saab tutvuda olümpiaadi-stiilis ülesannetega ning testimismootoriga:&lt;br /&gt;
* [http://uva.onlinejudge.org/ http://uva.onlinejudge.org/]&lt;br /&gt;
* [http://www.programming-challenges.com/ http://www.programming-challenges.com/]&lt;br /&gt;
* Raamat Programming Challanges on saadaval ka TTÜ raamatukogus.&lt;br /&gt;
&lt;br /&gt;
Kui te pole varem programmeerimisolümpiaadi ülesannete ja testimismootoritega kokku puutunud, siis on väga soovitav prooviks mõned ülesanded ära lahendada. Vaadake ka mitmesuguseid soovitusi kogenenumatelt. Kui olümpiaadil kasutatav testimootor varem ligipääsetavaks tehakse, siis ilmub selle kohta märge siia.&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11623</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11623"/>
		<updated>2014-06-02T15:49:19Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color: #F00;&amp;quot;&amp;gt;Tähelepanu&amp;lt;/span&amp;gt;, 5. juuni eksami aeg ja koht on muutunud: eksam hakkab &#039;&#039;&#039;11.30&#039;&#039;&#039; ja ruum on &#039;&#039;&#039;ICT-411&#039;&#039;&#039; (IT-maja).&lt;br /&gt;
* Kevadine eksam &#039;&#039;&#039;5. juunil (neljapäev) kell 11.30 ruumis ICT-411&#039;&#039;&#039;. Registreerimine ÕIS-is hiljemalt 4. juuni kell 12.00&lt;br /&gt;
** Eksamit saavad sooritada tudengid, kellel on eksamieeldus täidetud (kolm ülesannet kaitstud).&lt;br /&gt;
** konsultatsioonid 28. mai kell 12.00 ja 4. juuni kell 12.00 ruumis ICT-411. Registreerimine kohustuslik: http://doodle.com/tbx47ydfpgzpqqd5&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11622</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11622"/>
		<updated>2014-06-02T15:48:48Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
* Tähelepanu, 5. juuni eksami aeg ja koht on muutunud: eksam hakkab &#039;&#039;&#039;11.30&#039;&#039;&#039; ja ruum on &#039;&#039;&#039;ICT-411&#039;&#039;&#039; (IT-maja).&lt;br /&gt;
* Kevadine eksam &#039;&#039;&#039;5. juunil (neljapäev) kell 11.30 ruumis ICT-411&#039;&#039;&#039;. Registreerimine ÕIS-is hiljemalt 4. juuni kell 12.00&lt;br /&gt;
** Eksamit saavad sooritada tudengid, kellel on eksamieeldus täidetud (kolm ülesannet kaitstud).&lt;br /&gt;
** konsultatsioonid 28. mai kell 12.00 ja 4. juuni kell 12.00 ruumis ICT-411. Registreerimine kohustuslik: http://doodle.com/tbx47ydfpgzpqqd5&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11545</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11545"/>
		<updated>2014-04-23T15:42:51Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
* Kevadine eksam &#039;&#039;&#039;5. juunil (neljapäev) kell 12.00 ruumis VI-229&#039;&#039;&#039;. Registreerimine ÕIS-is hiljemalt 4. juuni kell 12.00&lt;br /&gt;
** Eksamit saavad sooritada tudengid, kellel on eksamieeldus täidetud (kolm ülesannet kaitstud).&lt;br /&gt;
** konsultatsioonid 28. mai kell 12.00 ja 4. juuni kell 12.00 ruumis ICT-411. Registreerimine kohustuslik: http://doodle.com/tbx47ydfpgzpqqd5&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11544</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11544"/>
		<updated>2014-04-23T15:41:43Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
* Kevadine eksam &#039;&#039;&#039;5. juunil (neljapäev) kell 12.00 ruumis VI-229&#039;&#039;&#039;. Registreerimine ÕIS-is hiljemalt 4. juuni kell 12.00&lt;br /&gt;
** konsultatsioonid 28. mai kell 12.00 ja 4. juuni kell 12.00 ruumis ICT-411. Registreerimine kohustuslik: http://doodle.com/tbx47ydfpgzpqqd5&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11260</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11260"/>
		<updated>2014-01-21T18:04:54Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 23. jaanuar kell 10.00 ruumis ICT-411. (Aleksandr Lenin)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411.&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11259</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11259"/>
		<updated>2014-01-21T17:37:24Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisaeksam&#039;&#039;&#039; kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
* Konsultatsioon 29. jaanuar kell 12.00 ruumis ICT-411. Palun kindlasti kohale tulla!&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11252</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11252"/>
		<updated>2014-01-16T18:20:43Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Programmeerimise süvendatud algkursus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamitulemused on punktitabelis väljas.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Tähelepanu, eksami maksimaalne punktisumma on 60 punkti.&#039;&#039;&#039; Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Igal tudengil on konsultatsiooni ajal ette näidata kuni 10 ülesannet novembri- ja detsembrikuust.&#039;&#039;&#039; Iga ülesande eest saab kuni 2 punkti. Seega, teil on võimalik veel kuni 20 punkti parandada oma seisu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Konsultatsioonid:&lt;br /&gt;
# &#039;&#039;&#039;06. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;12.00&#039;&#039;&#039; - 13.00 ruumis ICT-411&lt;br /&gt;
# &#039;&#039;&#039;13. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;13.00&#039;&#039;&#039; - 14.00 ruumis ICT-411&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 60 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 60 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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&lt;br /&gt;
&lt;br /&gt;
22. tund (20. detsember) [[Media:Python_naiteid_eksamiks.zip‎|väikeseid koodinäiteid eksamiks]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11247</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11247"/>
		<updated>2014-01-09T02:45:48Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11246</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11246"/>
		<updated>2014-01-08T20:35:07Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioon (08.01.2014):&#039;&#039;&#039;&lt;br /&gt;
* [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/ExamExample.java ExamExample.java], [http://code.google.com/p/iti0011/source/browse/2013/src/konsultatsioon/SwingExample2.java Swing näide]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11245</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11245"/>
		<updated>2013-12-29T00:12:10Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5-5 tähendab, et kõik 10 mängu lõppesid viigiga. 10-0 tähendab, et mängija, kes on vastaval real, võitis mängijat, kes on vastavas veerus. 0-10 tähendab, et mängija, kes on vastaval real, kaotas mängijale, kes on vastavas veerus.&lt;br /&gt;
&lt;br /&gt;
Lisapunktid järgmiselt:&lt;br /&gt;
* 120941 - 10p&lt;br /&gt;
* 120283 ja 104283 - 5p&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11244</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11244"/>
		<updated>2013-12-28T17:06:55Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Tähelepanu, eksami maksimaalne punktisumma on 60 punkti.&#039;&#039;&#039; Kodutööde eest saadud punktid ja eksamil saadud punktid liidetakse kokku. Hinne tuleb vastavalt summale, vt allpool.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Igal tudengil on konsultatsiooni ajal ette näidata kuni 10 ülesannet novembri- ja detsembrikuust.&#039;&#039;&#039; Iga ülesande eest saab kuni 2 punkti. Seega, teil on võimalik veel kuni 20 punkti parandada oma seisu.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Konsultatsioonid:&lt;br /&gt;
# &#039;&#039;&#039;06. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;12.00&#039;&#039;&#039; - 13.00 ruumis ICT-411&lt;br /&gt;
# &#039;&#039;&#039;13. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;13.00&#039;&#039;&#039; - 14.00 ruumis ICT-411&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&lt;br /&gt;
&lt;br /&gt;
22. tund (20. detsember) [[Media:Python_naiteid_eksamiks.zip‎|väikeseid koodinäiteid eksamiks]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11243</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11243"/>
		<updated>2013-12-28T16:25:47Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;GOMOKU Tulemused:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse: collapse; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;10x10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;40&amp;quot;&amp;gt;20x20&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;60&amp;quot;&amp;gt;Punktid&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th rowspan=&amp;quot;2&amp;quot; width=&amp;quot;40&amp;quot;&amp;gt;Koht&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;50&amp;quot;&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; width=&amp;quot;50&amp;quot;&amp;gt;P1&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;50&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;I&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P2&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;30&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;III&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;must&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot;&amp;gt;P3&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; bgcolor=&amp;quot;black&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;40&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=&amp;quot;2&amp;quot; style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;II&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;valge&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;5-5&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;0-10&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;10-0&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11242</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11242"/>
		<updated>2013-12-24T01:28:39Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Teated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
* GOMOKU võistlusele laekus kolm tööd. Võistluse raames mängivad kõik mängijad omavahel läbi. Iga kahe mängija vahelised mängud viiakse läbi selliselt: 10x10 laual ükskord alustab üks (= mängib mustade nuppudega), teinekord teine; 20x20 laual samamoodi. Mängitakse 10 mängu (üldjuhul randomit ükski mängija ei kasuta, mis tähendab, et esimese mängu tulemus jääbki lõppseisuks). Tulemused ilmuvad jaanuari alguseks.&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11241</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11241"/>
		<updated>2013-12-21T00:05:44Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Konsultatsioonid:&lt;br /&gt;
# &#039;&#039;&#039;06. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;12.00&#039;&#039;&#039; - 13.00 ruumis ICT-411&lt;br /&gt;
# &#039;&#039;&#039;13. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;13.00&#039;&#039;&#039; - 14.00 ruumis ICT-411&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&lt;br /&gt;
&lt;br /&gt;
22. tund (20. detsember) [[Media:Python_naiteid_eksamiks.zip‎|väikeseid koodinäiteid eksamiks]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11240</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11240"/>
		<updated>2013-12-21T00:03:58Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Konsultatsioonid:&lt;br /&gt;
# &#039;&#039;&#039;06. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;12.00&#039;&#039;&#039; - 13.00 ruumis ICT-411&lt;br /&gt;
# &#039;&#039;&#039;13. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;13.00&#039;&#039;&#039; - 14.00 ruumis ICT-411&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&lt;br /&gt;
&lt;br /&gt;
22. tund (20. detsember) [[Python_naiteid_eksamiks.zip‎|väikeseid koodinäiteid eksamiks]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Python_naiteid_eksamiks.zip&amp;diff=11239</id>
		<title>Fail:Python naiteid eksamiks.zip</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Python_naiteid_eksamiks.zip&amp;diff=11239"/>
		<updated>2013-12-21T00:03:23Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11229</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11229"/>
		<updated>2013-12-20T13:55:38Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
# Kordamine&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZNlhxUTZscEZuX2M/edit?usp=sharing XVI loeng - kordamine]&lt;br /&gt;
## praktikumides viimase kodutöö kaitsmine&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11216</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11216"/>
		<updated>2013-12-18T02:10:19Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Konsultatsioonid:&lt;br /&gt;
# &#039;&#039;&#039;06. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;12.00&#039;&#039;&#039; - 13.00 ruumis ICT-411&lt;br /&gt;
# &#039;&#039;&#039;13. jaanuar&#039;&#039;&#039; 2014 (esmaspäev) kell &#039;&#039;&#039;13.00&#039;&#039;&#039; - 14.00 ruumis ICT-411&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11214</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11214"/>
		<updated>2013-12-17T17:32:13Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
* &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11213</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11213"/>
		<updated>2013-12-17T17:31:56Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 * &#039;&#039;&#039;8. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;13:00&#039;&#039;&#039; - 14:00&lt;br /&gt;
 * &#039;&#039;&#039;15. jaanuar&#039;&#039;&#039; 2014 (kolmapäev), &#039;&#039;&#039;ICT-411&#039;&#039;&#039;, kell &#039;&#039;&#039;12:00&#039;&#039;&#039; - 13:00&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eksamiajad&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11177</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11177"/>
		<updated>2013-12-13T17:26:10Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Programmeerimise süvendatud algkursus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[https://docs.google.com/spreadsheet/pub?key=0AiSJPpWnMYPZdGtvLURvMlVPUGpZUGl5VWVwTnZvNmc&amp;amp;single=true&amp;amp;gid=5&amp;amp;output=html punktiseis]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11174</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11174"/>
		<updated>2013-12-13T16:41:56Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&lt;br /&gt;
&lt;br /&gt;
20. tund [[Dijkstra_(iti0140)|Dijkstra ülesanne]]&lt;br /&gt;
&lt;br /&gt;
21. tund (13. detsember) [https://drive.google.com/file/d/0BySJPpWnMYPZM3o4QWVpeEFTbEk/edit?usp=sharing Kahendpuu (Binary tree, Binary search tree) + ülesanne]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11173</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11173"/>
		<updated>2013-12-13T13:29:13Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loengute videod: [https://echo360.e-ope.ee/ess/portal/section/259bfb1a-2454-4039-8193-7b1190b1d154 echo360 Programmeerimise põhikursus Javas]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZTGx0SDNCemdXNmc/edit?usp=sharing XV loeng - variable scope]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11164</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11164"/>
		<updated>2013-12-10T12:20:42Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
# Kordamine eksamiks&lt;br /&gt;
## http://codingbat.com/java - harjutamine eksamiks&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11160</id>
		<title>ITI0011-13-HW4-Gomoku</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11160"/>
		<updated>2013-12-09T02:56:25Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* &amp;quot;auto&amp;quot; nupp ja võrdlusprogramm */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ITI0011-13-HW4-Gomoku-eng|English version]]&lt;br /&gt;
&lt;br /&gt;
Ülesandeks on lisada etteantud [http://en.wikipedia.org/wiki/Gomoku Gomoku] programmile nö mõtlemiskomponent: jupid programmi, mis leiavad etteantud seisust võimalikult hea käigu. Nende juppide lisamise tulemusena peab sinu programm mängima Gomokut nö &amp;quot;mõistliku headuse&amp;quot; tasemel.&lt;br /&gt;
&lt;br /&gt;
Konkreetselt nõutakse, et sinu programm peab rõhuval enamikul juhtudel võitma õppejõu poolt etteantavat Gomoku võrdlusprogrammi, eeldades, et mõlemal on iga käigu jaoks aega üks sekund. Igal juhul on garanteeritud, et:&lt;br /&gt;
&lt;br /&gt;
* kui sinu programm kasutab korrektselt minimaxi&lt;br /&gt;
* oled programmeerinud mõistliku lihtsa seisuhinde (vaatab viieste olemasolu, loeb kokku lahtised neljased, poollahtised neljased, lahtised kolmesed) &lt;br /&gt;
&lt;br /&gt;
siis sinu programm võidab etteantud võrdlusprogrammi, kui mõlemal on ajapiir üks sekund käigu kohta.&lt;br /&gt;
&lt;br /&gt;
NB! Sinu programm peab suutma mõistliku headusega mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
&lt;br /&gt;
== Kahekesi programmeerimine ==&lt;br /&gt;
&lt;br /&gt;
Viis nuppu ritta ülesannet võib programmeerida kas üksi või kahekesi. Kahekesi programmeerimise puhul saab kumbki täispunktid, tingimusel, et:&lt;br /&gt;
&lt;br /&gt;
* Programmi ettenäitamisel on kohal mõlemad tudengid. Kui ühte pole, siis tema punkte ei saa.&lt;br /&gt;
* Kumbki tudeng saab programmi tekstist aru (st ka nendest osadest, mida tema programmeerinud ei olnud). Kui juhendajale tundub, et üks tudeng ei saa programmi tekstist hästi aru, siis ta jätab sellele tudengile punktid panemata või paneb vähem.&lt;br /&gt;
&lt;br /&gt;
== Etteantud lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab olema järgmise etteantud koodi edasiarendus. Mingeid muid alternatiive - üleni isetehtud või mujalt saadud GUI või muud klassid - ei aktsepteerita.&lt;br /&gt;
&lt;br /&gt;
Etteantud kood koosneb neljast failist selles zip failis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:Five0.2.zip|Five.zip]]&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;uuendatud 01.12.2013. Tehtud pisikesed muudatused. Five0.1.zip versiooniga võrreldes midagi ära pole kadunud, seega kui juba olete alustanud, siis tingimata uuendama ei pea.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;b&amp;gt;[http://www./lambda.ee/images/c/c9/Five.zip  Five.zip ]&amp;lt;/b&amp;gt;  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kood on kohe edukalt kompileeritav ja töötav. Paraku mängib ta väga halvasti: käib alati esimesele vabale kohale. Selleks, et ta paremini mängiks, pead lisama funktsiooni best_move (failis FiveLogic.java) minimaxi kasutamise ja mõistliku seisuhinde (st kirjutama need funktsioonid lisaks ja kutsuma neid best_move seest välja). Mingeid muid funktsioone või kasutajaliidese nüansse muutma   ei pea.&lt;br /&gt;
&lt;br /&gt;
Etteantud lähtekood baseerub siin lehel viidatud lähtekoodile   http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
&lt;br /&gt;
Võrreldes viimasega on lisatud masina käik, autoplay rezhiim ja 20x20 laua valik, samuti on vaikimisi lauasuuruseks võetud 10x10, mitte aga 9x9.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;auto&amp;quot; nupp ja võrdlusprogramm ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;auto&amp;quot; nupule vajutamise korral hakkab programm täisautomaatselt mängima: toimub võistlus funktsiooni best_move (failis FiveLogic.java) ning funktsiooni best_opponent_move (failis FiveOpponent.java) vahel. Inimmängija rolli võtab siis best_opponent_move.&lt;br /&gt;
&lt;br /&gt;
Ka best_opponent_move mängib väga halvasti: ta püüab samuti käia esimesele vabale ruudule, alustades aga paremalt alt, mitte vasakult ülalt, nagu best_move.&lt;br /&gt;
&lt;br /&gt;
Järgnevas zip failis antud võrdlusprogramm kujutab endast valmiskompileeritud klass-faili FiveOpponent.class, millega pead algul isekompileeritud FiveOpponent.class faili lihtsalt asendama (st kustutad kataloogist nii FiveOpponent.class kui FiveOpponent.java ning paned asemele siit lehelt laetud FiveOpponent.class):&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Eclipse&#039;is arendajatele&#039;&#039;&#039;: Kõige mugavam on lisada zip fail välise JAR-failina projekti külge. Selleks projekti peal parem klikk -&amp;gt; properties -&amp;gt; Java Build Path -&amp;gt; seal tääb Libraries -&amp;gt; Add external JARs... Nüüd navigeeri allalaetud zip-faili juurde ja pane &amp;quot;open&amp;quot;. Selleks, et Eclipse kasutaks äsja lisatud teeki, peab FiveOpponent.java faili maha kustutama (muidu eelistatakse jooksvas kaustas olevad faili väljast viidatud teegile).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent.zip|FiveOpponent.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Siintoodud FiveOpponent mõtleb kaks käiku ette (valge - tema - käik, ja siis musta - vastase, st sinu programmi käigud). Seisuhinnangus loeb ta kokku viiesed, lahtised neljased, kolmesed, kahesed, pluss poollahtised neljased ja kolmesed, ning annab igale sellisele ähvardusele/võimalusele mingi koefitsiendi. Alfa-beetat ta ei tee, ühtegi optimeerimist pole programmeeritud: seetõttu töötab ta ka üpris aeglaselt.&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab seda nigelat FiveOpponent.classi üldjuhul siis võitma.&lt;br /&gt;
&lt;br /&gt;
Kui siiski selgub, et Sinu programm kipub FiveOpponent.classile alla jääma, võid kasutada veel nõrgemat FiveOpponent.class faili:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent_weak.zip|FiveOpponent_weak.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Viimane fail - FiveOpponent_weak.zip - mõtleb ainult ühe käigu (valge käik) ette. Kui sinu programm seda eriti nõrka&lt;br /&gt;
FiveOpponenti reeglina võidab, aga eelmisena toodud kahte-käiku-mõtlevat mitte, saad siiski praktikumitulemuseks 8  (kaheksa)&lt;br /&gt;
punkti võimalikust kümnest.&lt;br /&gt;
&lt;br /&gt;
NB! Kontrolli, et sinu programm ei mõtleks AK arvutiklasside masinates ühte käiku 10x10 laual kunagi üle ühe sekundi. Pikemat mõtlemist käsitletakse lihtsalt vigase töötamisena.&lt;br /&gt;
&lt;br /&gt;
== Võistlus ja lisapunktid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! Plagiaadi esitamisel saavad selle kõik autorid ülesande eest 0 punkti&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pärast praktikumitöö esitamise tähtaja möödumist korraldab õppejõud programmide vahel võistluse, ning esimese kahe parema programmi autorid saavad eksami jaoks lisapunkte:&lt;br /&gt;
&lt;br /&gt;
* Esikoha võitnud programmi autorid kumbki 10 punkti.&lt;br /&gt;
* Teise koha võitnud programmi autorid kumbki 5 punkti.&lt;br /&gt;
&lt;br /&gt;
Võistlus ei ole kohustuslik. Kuidas sellest osa võtta: kolme päeva jooksul peale&lt;br /&gt;
praktikumitähtaja möödumist tuleb teha oma programmist versioon, kus varem best_move funktsioonis&lt;br /&gt;
sisaldunud kood kopeeritakse funktsioon best_opponent_move failis FiveOpponent.java. Viimane&lt;br /&gt;
fail peab olema täiesti sõltumatu teistest programmi lähtekoodi-failidest (st peab ise kompileeruma).&lt;br /&gt;
&lt;br /&gt;
Õppejõule tuleb siis nende kolme päeva jooksul saata emailiga järgmine info, kusjuures Subject real (emaili pealkiri) peab olema sõna &amp;lt;b&amp;gt;GOMOKU&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* autorite nimed, matriklinumbrid, emailid&lt;br /&gt;
* programmi lähtekood (NB! FiveOpponent.java peab sisaldama sinu käiguvaliku-programmi)&lt;br /&gt;
* programmi valmiskompileeritud class failid &lt;br /&gt;
&lt;br /&gt;
Sisulised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Teie programmi mõtlemiskomponendid peavad olema üleni teie enda kirjutatud. Artikleid lugeda ja teisi programme uurida tohib, neid otse kopeerida aga mitte.&lt;br /&gt;
* Kui õppejõul tekib eelmise punkti osas kahtlus, siis ta uurib autoritelt asja edasi, ning kahtluse püsimisel diskvalifitseerib kahtlase programmi võistluselt.&lt;br /&gt;
&lt;br /&gt;
Tehnilised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Programm ei tohi AK arvutiklassides ühtegi käiku mõelda kauem, kui ühe sekundi.&lt;br /&gt;
* Programm peab suutma mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
* Programm peab suutma käia ka siis, kui etteantud laud on tühi (alustaja must).&lt;br /&gt;
* Programm saab ette laua (vt praegust best_opponent_move) ja otsustab ise, kelle käik on, ning annab tagasi ühte integeri kodeeritult (vt praegust best_opponent_move) käigu sellele käijale (st suudab leida nii parima valge kui musta käigu, olenevalt, kelle käik on).&lt;br /&gt;
&lt;br /&gt;
Seejärel korraldab õppejõud laekunud programmide vahel turniiri, kus edasi pääseb igast matshist parem. Kaks programmi pannakse omavahel mängima, vaheldumisi mustade ja valgetega, kuni üks programm jõuab teisest 2 punkti võrra ette (kaotus ja viik 0 punkti, võit 1 punkt). Mängitakse 10x10 laual. Kui kümne partiiga võitjat ei selgu, mängitakse edasi 20x20 laual. Kui seal&lt;br /&gt;
ka kümne partiiga võitjat ei selgu, valitakse võitja loosiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kuidas minimaxi ja seisuhinde arvutamist programmeerida ==&lt;br /&gt;
&lt;br /&gt;
Alusta sellest, et tee valmis lihtne minimax (ilma alpha-betata) ja lihtne seisuhindaja, kus vaadatakse ainult seda, kas mõni osapooltest on võitnud: selleks saad kopeerida sisu funktsioonist getGameStatus (failis FiveLogic.java).&lt;br /&gt;
&lt;br /&gt;
Debugi see programm ära, mängides talle ise vastu. Tee katseid nii otsinguga sügavuseni kaks,&lt;br /&gt;
kolm, neli jne, kuni otsiaeg läheb liiga suureks. Uuri lihtsalt, kas programm leiab üles ühekäigulise võidu, kahekäigulise võidu jne, ning kas ta suudab blokeerida sinu ühekäigulise võidu, kahekäigulise võidu jne.&lt;br /&gt;
&lt;br /&gt;
Seejärel asu täiustama seisuhindajat. Peamised ideed:&lt;br /&gt;
&lt;br /&gt;
* Kas on viiest laual (otsene võit)?&lt;br /&gt;
* Loe kokku üleni lahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku poollahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku üleni lahtised kolmesed mõlema jaoks.&lt;br /&gt;
* Võibolla ka: Loe kokku poollahtised kolmesed. &lt;br /&gt;
* Võibolla ka: Loe kokku lahtised kahesed.&lt;br /&gt;
&lt;br /&gt;
Seisuhinne arvuta kokku nendest parameetritest, pannes võimsamatele ähvardustele kõvema koefitsiendi (üleni lahtine neljane on praktiliselt juba võit, lahtine kolmene aga veel mitte). Mõistlik võib olla viimati käija värvi ja järgmisena käjia värvi ähvardustele erinevate koefitsientide panemine: järgmisena käija ähvardused on hullemad (kui ta juba kaotanud pole)!&lt;br /&gt;
&lt;br /&gt;
Debugi täiustatud seisuhinne ära, mängides jälle ise vastu. &lt;br /&gt;
&lt;br /&gt;
Tee katseid aja-arvestusega ja määra otsingusügavus selline, et AK klassides kunagi ei mõeldaks üle ühe sekundi (NB! 20x20 laual on otsisügavus ilmselt väiksem, kui 10x10 laual).&lt;br /&gt;
&lt;br /&gt;
Nüüd peaks sinu programm olema piisavalt OK, võitmaks võrdlusprogrammi.&lt;br /&gt;
&lt;br /&gt;
Ideid, kuidas programmi veel palju paremaks teha:&lt;br /&gt;
&lt;br /&gt;
* Vii sisse alpha-beta (modifitseeri minimaxi). Programm peaks leidma sama käigu, mis minimaxiga, aga rutem.&lt;br /&gt;
* Sundkäikude puhul (neljase sulgemine, võibolla ka lahtise kolmese otsa sulgemine) ära otsi kõiki muid alternatiive läbi, vaid vaata ainult sundkäike.&lt;br /&gt;
* Vali võimalikeks käikudeks ainult ruute, mis on mõne täidetud ruudu ligidal.&lt;br /&gt;
* Tee seisuhindamist selliselt, et enne lõppsügavusele jõudmist tehakse vahepealse seisu seisuhinne ja antakse see lõppsügavusele ette. Lõppsügavuse seis erineb aga ainult ühe välja poolest, seega saab hinde arvutada nii, et vaatad läbi ainult viimase käigu ümbruskonna ja modifitseerid üks aste kõrgemal saadud seisuhinnet vastavalt.&lt;br /&gt;
* Sundkäikude puhul, kus ainult üks valik, analüüsi sügavamale: unikaalne sundkäik ju ei laienda puud! Mh otsi sundkäikude ahelad lõpuni välja.&lt;br /&gt;
* Loe läbi lisaviited&lt;br /&gt;
&lt;br /&gt;
== Lisaviiteid ==&lt;br /&gt;
&lt;br /&gt;
Loengus antud info ja viited: [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing gomoku, minimax, alpha-beta] &lt;br /&gt;
&lt;br /&gt;
Lisaks: &lt;br /&gt;
:http://en.wikipedia.org/wiki/Gomoku&lt;br /&gt;
:http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
:http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html&lt;br /&gt;
:http://web.archive.org/web/20040607185428/www.cs.vu.nl/~victor/thesis.html&lt;br /&gt;
:http://www.cs.ualberta.ca/~chinook/&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11140</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11140"/>
		<updated>2013-12-06T01:13:49Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11139</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11139"/>
		<updated>2013-12-06T01:13:31Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XIII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
# Data structures, linked list, stack, queue, binary tree, (hash table)&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZRUMyclVrb1pWSkk/edit?usp=sharing XIV loeng - data structures]&lt;br /&gt;
## praktikumis TTT minimax jätk ([http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w14/p2/Ttt.java Ttt.java]&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11138</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11138"/>
		<updated>2013-12-04T14:15:20Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
&#039;&#039;&#039;Need tudengid, kes deklareerisid aine läbi Avatud Ülikooli, näevad eksamiaegu õige rolli alt.&#039;&#039;&#039; Teil peaks üleval paremal ääres olema rollivaliku menüü, kust saate vahetada aktiivset rolli. Kuna tavaõppijana ja avatud ülikooli õppurina on teil erinevad ained deklareeritud, siis näete meie aine infot vaid läbi avatud ülikooli õppuri rolli.&lt;br /&gt;
&lt;br /&gt;
Kui teil tekib probleeme, andke teada. Igaks juhuks ärge jätke registreerimist viimasele hetkele.&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra] [http://www.lambda.ee/w/images/b/b2/L19.py Tunnis näidatud kood]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11126</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11126"/>
		<updated>2013-12-03T11:53:35Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&lt;br /&gt;
&lt;br /&gt;
18. tund [[Graafid_(iti0140)|Graafid]] [[Media:Yl18.txt|Ülesanne tekstifailis]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Yl18.txt&amp;diff=11125</id>
		<title>Fail:Yl18.txt</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Yl18.txt&amp;diff=11125"/>
		<updated>2013-12-03T11:53:06Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11121</id>
		<title>ITI0011-13-HW4-Gomoku</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11121"/>
		<updated>2013-12-02T02:49:54Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Etteantud lähtekood */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ITI0011-13-HW4-Gomoku-eng|English version]]&lt;br /&gt;
&lt;br /&gt;
Ülesandeks on lisada etteantud [http://en.wikipedia.org/wiki/Gomoku Gomoku] programmile nö mõtlemiskomponent: jupid programmi, mis leiavad etteantud seisust võimalikult hea käigu. Nende juppide lisamise tulemusena peab sinu programm mängima Gomokut nö &amp;quot;mõistliku headuse&amp;quot; tasemel.&lt;br /&gt;
&lt;br /&gt;
Konkreetselt nõutakse, et sinu programm peab rõhuval enamikul juhtudel võitma õppejõu poolt etteantavat Gomoku võrdlusprogrammi, eeldades, et mõlemal on iga käigu jaoks aega üks sekund. Igal juhul on garanteeritud, et:&lt;br /&gt;
&lt;br /&gt;
* kui sinu programm kasutab korrektselt minimaxi&lt;br /&gt;
* oled programmeerinud mõistliku lihtsa seisuhinde (vaatab viieste olemasolu, loeb kokku lahtised neljased, poollahtised neljased, lahtised kolmesed) &lt;br /&gt;
&lt;br /&gt;
siis sinu programm võidab etteantud võrdlusprogrammi, kui mõlemal on ajapiir üks sekund käigu kohta.&lt;br /&gt;
&lt;br /&gt;
NB! Sinu programm peab suutma mõistliku headusega mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
&lt;br /&gt;
== Kahekesi programmeerimine ==&lt;br /&gt;
&lt;br /&gt;
Viis nuppu ritta ülesannet võib programmeerida kas üksi või kahekesi. Kahekesi programmeerimise puhul saab kumbki täispunktid, tingimusel, et:&lt;br /&gt;
&lt;br /&gt;
* Programmi ettenäitamisel on kohal mõlemad tudengid. Kui ühte pole, siis tema punkte ei saa.&lt;br /&gt;
* Kumbki tudeng saab programmi tekstist aru (st ka nendest osadest, mida tema programmeerinud ei olnud). Kui juhendajale tundub, et üks tudeng ei saa programmi tekstist hästi aru, siis ta jätab sellele tudengile punktid panemata või paneb vähem.&lt;br /&gt;
&lt;br /&gt;
== Etteantud lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab olema järgmise etteantud koodi edasiarendus. Mingeid muid alternatiive - üleni isetehtud või mujalt saadud GUI või muud klassid - ei aktsepteerita.&lt;br /&gt;
&lt;br /&gt;
Etteantud kood koosneb neljast failist selles zip failis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:Five0.2.zip|Five.zip]]&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;uuendatud 01.12.2013. Tehtud pisikesed muudatused. Five0.1.zip versiooniga võrreldes midagi ära pole kadunud, seega kui juba olete alustanud, siis tingimata uuendama ei pea.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;b&amp;gt;[http://www./lambda.ee/images/c/c9/Five.zip  Five.zip ]&amp;lt;/b&amp;gt;  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kood on kohe edukalt kompileeritav ja töötav. Paraku mängib ta väga halvasti: käib alati esimesele vabale kohale. Selleks, et ta paremini mängiks, pead lisama funktsiooni best_move (failis FiveLogic.java) minimaxi kasutamise ja mõistliku seisuhinde (st kirjutama need funktsioonid lisaks ja kutsuma neid best_move seest välja). Mingeid muid funktsioone või kasutajaliidese nüansse muutma   ei pea.&lt;br /&gt;
&lt;br /&gt;
Etteantud lähtekood baseerub siin lehel viidatud lähtekoodile   http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
&lt;br /&gt;
Võrreldes viimasega on lisatud masina käik, autoplay rezhiim ja 20x20 laua valik, samuti on vaikimisi lauasuuruseks võetud 10x10, mitte aga 9x9.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;auto&amp;quot; nupp ja võrdlusprogramm ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;auto&amp;quot; nupule vajutamise korral hakkab programm täisautomaatselt mängima: toimub võistlus funktsiooni best_move (failis FiveLogic.java) ning funktsiooni best_opponent_move (failis FiveOpponent.java) vahel. Inimmängija rolli võtab siis best_opponent_move.&lt;br /&gt;
&lt;br /&gt;
Ka best_opponent_move mängib väga halvasti: ta püüab samuti käia esimesele vabale ruudule, alustades aga paremalt alt, mitte vasakult ülalt, nagu best_move.&lt;br /&gt;
&lt;br /&gt;
Järgnevas zip failis antud võrdlusprogramm kujutab endast valmiskompileeritud klass-faili FiveOpponent.class, millega pead algul isekompileeritud FiveOpponent.class faili lihtsalt asendama (st kustutad kataloogist nii FiveOpponent.class kui FiveOpponent.java ning paned asemele siit lehelt laetud FiveOpponent.class):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent.zip|FiveOpponent.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Siintoodud FiveOpponent mõtleb kaks käiku ette (valge - tema - käik, ja siis musta - vastase, st sinu programmi käigud). Seisuhinnangus loeb ta kokku viiesed, lahtised neljased, kolmesed, kahesed, pluss poollahtised neljased ja kolmesed, ning annab igale sellisele ähvardusele/võimalusele mingi koefitsiendi. Alfa-beetat ta ei tee, ühtegi optimeerimist pole programmeeritud: seetõttu töötab ta ka üpris aeglaselt.&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab seda nigelat FiveOpponent.classi üldjuhul siis võitma.&lt;br /&gt;
&lt;br /&gt;
Kui siiski selgub, et Sinu programm kipub FiveOpponent.classile alla jääma, võid kasutada veel nõrgemat FiveOpponent.class faili:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent_weak.zip|FiveOpponent_weak.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Viimane fail - FiveOpponent_weak.zip - mõtleb ainult ühe käigu (valge käik) ette. Kui sinu programm seda eriti nõrka&lt;br /&gt;
FiveOpponenti reeglina võidab, aga eelmisena toodud kahte-käiku-mõtlevat mitte, saad siiski praktikumitulemuseks 8  (kaheksa)&lt;br /&gt;
punkti võimalikust kümnest.&lt;br /&gt;
&lt;br /&gt;
NB! Kontrolli, et sinu programm ei mõtleks AK arvutiklasside masinates ühte käiku 10x10 laual kunagi üle ühe sekundi. Pikemat mõtlemist käsitletakse lihtsalt vigase töötamisena.&lt;br /&gt;
&lt;br /&gt;
== Võistlus ja lisapunktid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! Plagiaadi esitamisel saavad selle kõik autorid ülesande eest 0 punkti&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pärast praktikumitöö esitamise tähtaja möödumist korraldab õppejõud programmide vahel võistluse, ning esimese kahe parema programmi autorid saavad eksami jaoks lisapunkte:&lt;br /&gt;
&lt;br /&gt;
* Esikoha võitnud programmi autorid kumbki 10 punkti.&lt;br /&gt;
* Teise koha võitnud programmi autorid kumbki 5 punkti.&lt;br /&gt;
&lt;br /&gt;
Võistlus ei ole kohustuslik. Kuidas sellest osa võtta: kolme päeva jooksul peale&lt;br /&gt;
praktikumitähtaja möödumist tuleb teha oma programmist versioon, kus varem best_move funktsioonis&lt;br /&gt;
sisaldunud kood kopeeritakse funktsioon best_opponent_move failis FiveOpponent.java. Viimane&lt;br /&gt;
fail peab olema täiesti sõltumatu teistest programmi lähtekoodi-failidest (st peab ise kompileeruma).&lt;br /&gt;
&lt;br /&gt;
Õppejõule tuleb siis nende kolme päeva jooksul saata emailiga järgmine info, kusjuures Subject real (emaili pealkiri) peab olema sõna &amp;lt;b&amp;gt;GOMOKU&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* autorite nimed, matriklinumbrid, emailid&lt;br /&gt;
* programmi lähtekood (NB! FiveOpponent.java peab sisaldama sinu käiguvaliku-programmi)&lt;br /&gt;
* programmi valmiskompileeritud class failid &lt;br /&gt;
&lt;br /&gt;
Sisulised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Teie programmi mõtlemiskomponendid peavad olema üleni teie enda kirjutatud. Artikleid lugeda ja teisi programme uurida tohib, neid otse kopeerida aga mitte.&lt;br /&gt;
* Kui õppejõul tekib eelmise punkti osas kahtlus, siis ta uurib autoritelt asja edasi, ning kahtluse püsimisel diskvalifitseerib kahtlase programmi võistluselt.&lt;br /&gt;
&lt;br /&gt;
Tehnilised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Programm ei tohi AK arvutiklassides ühtegi käiku mõelda kauem, kui ühe sekundi.&lt;br /&gt;
* Programm peab suutma mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
* Programm peab suutma käia ka siis, kui etteantud laud on tühi (alustaja must).&lt;br /&gt;
* Programm saab ette laua (vt praegust best_opponent_move) ja otsustab ise, kelle käik on, ning annab tagasi ühte integeri kodeeritult (vt praegust best_opponent_move) käigu sellele käijale (st suudab leida nii parima valge kui musta käigu, olenevalt, kelle käik on).&lt;br /&gt;
&lt;br /&gt;
Seejärel korraldab õppejõud laekunud programmide vahel turniiri, kus edasi pääseb igast matshist parem. Kaks programmi pannakse omavahel mängima, vaheldumisi mustade ja valgetega, kuni üks programm jõuab teisest 2 punkti võrra ette (kaotus ja viik 0 punkti, võit 1 punkt). Mängitakse 10x10 laual. Kui kümne partiiga võitjat ei selgu, mängitakse edasi 20x20 laual. Kui seal&lt;br /&gt;
ka kümne partiiga võitjat ei selgu, valitakse võitja loosiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kuidas minimaxi ja seisuhinde arvutamist programmeerida ==&lt;br /&gt;
&lt;br /&gt;
Alusta sellest, et tee valmis lihtne minimax (ilma alpha-betata) ja lihtne seisuhindaja, kus vaadatakse ainult seda, kas mõni osapooltest on võitnud: selleks saad kopeerida sisu funktsioonist getGameStatus (failis FiveLogic.java).&lt;br /&gt;
&lt;br /&gt;
Debugi see programm ära, mängides talle ise vastu. Tee katseid nii otsinguga sügavuseni kaks,&lt;br /&gt;
kolm, neli jne, kuni otsiaeg läheb liiga suureks. Uuri lihtsalt, kas programm leiab üles ühekäigulise võidu, kahekäigulise võidu jne, ning kas ta suudab blokeerida sinu ühekäigulise võidu, kahekäigulise võidu jne.&lt;br /&gt;
&lt;br /&gt;
Seejärel asu täiustama seisuhindajat. Peamised ideed:&lt;br /&gt;
&lt;br /&gt;
* Kas on viiest laual (otsene võit)?&lt;br /&gt;
* Loe kokku üleni lahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku poollahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku üleni lahtised kolmesed mõlema jaoks.&lt;br /&gt;
* Võibolla ka: Loe kokku poollahtised kolmesed. &lt;br /&gt;
* Võibolla ka: Loe kokku lahtised kahesed.&lt;br /&gt;
&lt;br /&gt;
Seisuhinne arvuta kokku nendest parameetritest, pannes võimsamatele ähvardustele kõvema koefitsiendi (üleni lahtine neljane on praktiliselt juba võit, lahtine kolmene aga veel mitte). Mõistlik võib olla viimati käija värvi ja järgmisena käjia värvi ähvardustele erinevate koefitsientide panemine: järgmisena käija ähvardused on hullemad (kui ta juba kaotanud pole)!&lt;br /&gt;
&lt;br /&gt;
Debugi täiustatud seisuhinne ära, mängides jälle ise vastu. &lt;br /&gt;
&lt;br /&gt;
Tee katseid aja-arvestusega ja määra otsingusügavus selline, et AK klassides kunagi ei mõeldaks üle ühe sekundi (NB! 20x20 laual on otsisügavus ilmselt väiksem, kui 10x10 laual).&lt;br /&gt;
&lt;br /&gt;
Nüüd peaks sinu programm olema piisavalt OK, võitmaks võrdlusprogrammi.&lt;br /&gt;
&lt;br /&gt;
Ideid, kuidas programmi veel palju paremaks teha:&lt;br /&gt;
&lt;br /&gt;
* Vii sisse alpha-beta (modifitseeri minimaxi). Programm peaks leidma sama käigu, mis minimaxiga, aga rutem.&lt;br /&gt;
* Sundkäikude puhul (neljase sulgemine, võibolla ka lahtise kolmese otsa sulgemine) ära otsi kõiki muid alternatiive läbi, vaid vaata ainult sundkäike.&lt;br /&gt;
* Vali võimalikeks käikudeks ainult ruute, mis on mõne täidetud ruudu ligidal.&lt;br /&gt;
* Tee seisuhindamist selliselt, et enne lõppsügavusele jõudmist tehakse vahepealse seisu seisuhinne ja antakse see lõppsügavusele ette. Lõppsügavuse seis erineb aga ainult ühe välja poolest, seega saab hinde arvutada nii, et vaatad läbi ainult viimase käigu ümbruskonna ja modifitseerid üks aste kõrgemal saadud seisuhinnet vastavalt.&lt;br /&gt;
* Sundkäikude puhul, kus ainult üks valik, analüüsi sügavamale: unikaalne sundkäik ju ei laienda puud! Mh otsi sundkäikude ahelad lõpuni välja.&lt;br /&gt;
* Loe läbi lisaviited&lt;br /&gt;
&lt;br /&gt;
== Lisaviiteid ==&lt;br /&gt;
&lt;br /&gt;
Loengus antud info ja viited: [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing gomoku, minimax, alpha-beta] &lt;br /&gt;
&lt;br /&gt;
Lisaks: &lt;br /&gt;
:http://en.wikipedia.org/wiki/Gomoku&lt;br /&gt;
:http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
:http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html&lt;br /&gt;
:http://web.archive.org/web/20040607185428/www.cs.vu.nl/~victor/thesis.html&lt;br /&gt;
:http://www.cs.ualberta.ca/~chinook/&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Five0.2.zip&amp;diff=11120</id>
		<title>Fail:Five0.2.zip</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Five0.2.zip&amp;diff=11120"/>
		<updated>2013-12-02T02:47:37Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11104</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11104"/>
		<updated>2013-11-29T11:54:15Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Praktikumid &amp;amp; tähtajad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11103</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11103"/>
		<updated>2013-11-29T11:52:48Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
Eelmise aasta ülesanded ja tähtajad:&lt;br /&gt;
# [[Poomine]], tähtaeg 24-26.sept [http://lab.cs.ttu.ee/dl98 demo]&lt;br /&gt;
# [[Feed]], tähtaeg 29-31.okt [http://lab.cs.ttu.ee/dl99 demo]&lt;br /&gt;
# [[Kimp]], tähtaeg 26-28.nov [https://lab.cs.ttu.ee/dl101 demo]&lt;br /&gt;
# [[Gomoku]], tähtaeg 17-19.dets&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
# Gomoku, breadth-first search, depth-first search, traveling salesman problem&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZc2k0dU5OYVVZRnc/edit?usp=sharing XII loeng - tsp, dfs, bfs]&lt;br /&gt;
## praktikumis Gomoku ülesande tutvustus&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11100</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11100"/>
		<updated>2013-11-28T18:00:31Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Eksam */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
Eelmise aasta ülesanded ja tähtajad:&lt;br /&gt;
# [[Poomine]], tähtaeg 24-26.sept [http://lab.cs.ttu.ee/dl98 demo]&lt;br /&gt;
# [[Feed]], tähtaeg 29-31.okt [http://lab.cs.ttu.ee/dl99 demo]&lt;br /&gt;
# [[Kimp]], tähtaeg 26-28.nov [https://lab.cs.ttu.ee/dl101 demo]&lt;br /&gt;
# [[Gomoku]], tähtaeg 17-19.dets&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Näite-eksamiülesanded 2004 aastast leiad siit:&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04a.doc vana eksam 1]&lt;br /&gt;
* [http://cs.ttu.ee/kursused/iti0010/progpohi7jan04b.doc vana eksam 2]&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11099</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11099"/>
		<updated>2013-11-26T16:09:31Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Programmeerimise süvendatud algkursus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;Eksamiaja on selgunud, vt altpoolt.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11097</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11097"/>
		<updated>2013-11-26T12:57:17Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;Kes tahab harjutada ülesannete lahendamist, proovige kätte programmeerimise lahtisel võistlusel: [[Lahtine_voistlus| info siin]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;ÕIS näitab praegu, et aine on tasuline. Selle asja lahendame järgmise nädala alguses. Kindlasti mingit raha teilt selle aine eest ei võeta!&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
Eksamiajad:&lt;br /&gt;
# 07. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&lt;br /&gt;
# 14. jaanuar 2014 (teisipäev) kell 10.00 - 12.00 ruumis ICT-411&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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11096</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11096"/>
		<updated>2013-11-26T12:36:33Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;Kes tahab harjutada ülesannete lahendamist, proovige kätte programmeerimise lahtisel võistlusel: [[Lahtine_voistlus| info siin]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;ÕIS näitab praegu, et aine on tasuline. Selle asja lahendame järgmise nädala alguses. Kindlasti mingit raha teilt selle aine eest ei võeta!&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
== 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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [[Media:TimingExercise.txt|Ülesanne tekstifailis]]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11095</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11095"/>
		<updated>2013-11-26T12:36:19Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;Kes tahab harjutada ülesannete lahendamist, proovige kätte programmeerimise lahtisel võistlusel: [[Lahtine_voistlus| info siin]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;ÕIS näitab praegu, et aine on tasuline. Selle asja lahendame järgmise nädala alguses. Kindlasti mingit raha teilt selle aine eest ei võeta!&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
== 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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [Media:TimingExercise.txt|Ülesanne tekstifailis]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11094</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11094"/>
		<updated>2013-11-26T12:35:40Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Materjal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;[[Pilt:Python_logo.jpg|50px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&#039;&#039;&#039;Kontakt&#039;&#039;&#039;: iti0140 ätt cs.ttu.ee&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmeerimise süvendatud algkursus ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; font-weight: bold;&amp;quot;&amp;gt;Kes tahab harjutada ülesannete lahendamist, proovige kätte programmeerimise lahtisel võistlusel: [[Lahtine_voistlus| info siin]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;ÕIS näitab praegu, et aine on tasuline. Selle asja lahendame järgmise nädala alguses. Kindlasti mingit raha teilt selle aine eest ei võeta!&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aine parameetrid:&lt;br /&gt;
* Õppeaine maht: 4 EAP&lt;br /&gt;
* Loengute arv nädalas: 1&lt;br /&gt;
* Praktikumide arv nädalas 2&lt;br /&gt;
&lt;br /&gt;
Tunnid:&lt;br /&gt;
* paaris nädala teisipäeval kell 10.00 ruumis ICT-402&lt;br /&gt;
* igal reedel kell 14.00 ruumis ICT-404&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;
== 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). Selle aine toimumisajad langevad paljuski kokku algkursusega, mis tähendab, et samal ajal neid kahte ainet sooritada on keeruline.&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 3 praktilisest ülesandest ja ühest teooriaküsimusest. &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;
== Materjal ==&lt;br /&gt;
&lt;br /&gt;
1. tund [https://docs.google.com/file/d/0BySJPpWnMYPZRkV4MVkzUHpQN28/edit?usp=sharing sissejuhatus], [https://docs.google.com/file/d/0BySJPpWnMYPZcHNpdHA5TmJfUGM/edit?usp=sharing Python]&lt;br /&gt;
&lt;br /&gt;
2. tund [https://docs.google.com/file/d/0B7cn6iwSnFyYZV9BTXFrRmNodzg/edit?usp=sharing Stringid]&lt;br /&gt;
&lt;br /&gt;
3. tund [https://docs.google.com/file/d/0BySJPpWnMYPZZDF4Wk1zMi1wOGM/edit?usp=sharing Lists recap]&lt;br /&gt;
&lt;br /&gt;
4. tund [https://docs.google.com/file/d/0BySJPpWnMYPZQVk3UlkyX0tyV00/edit Ülesanne], [http://pastebin.com/p1DR7Zuw tunni kood]&lt;br /&gt;
&lt;br /&gt;
5. tund [[Faili statistika (iti0140)|Ülesanne]] ([[Media:char_stats.py|tunnis kirjutatud kood]])&lt;br /&gt;
&lt;br /&gt;
6. tund [http://www.lambda.ee/w/images/d/de/Loeng_6_-_Modules.pdf Moodulid ja erindid] ([[Media:frankenstein.txt|ülesande tekstifail]]) ([http://www.lambda.ee/w/images/f/f0/Webreader.py Tunnis kirjutatud kood] [http://www.lambda.ee/w/images/2/29/L6.py L6.py])&lt;br /&gt;
&lt;br /&gt;
7. tund [http://www.lambda.ee/w/images/a/a6/Loeng_7_-_OOP.pdf OOP] ([http://www.lambda.ee/w/images/3/32/Oop.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
8. tund [http://www.lambda.ee/w/images/0/07/Loeng_8_-_Unit_testing.pdf Unit testing] ([http://www.lambda.ee/w/images/0/0e/Py_ut_quad.py Tunnis kirjutatud kood])&lt;br /&gt;
&lt;br /&gt;
9. tund [http://codingbat.com/python CodingBat-is *-2 ülesanded]&lt;br /&gt;
&lt;br /&gt;
10. tund [http://www.lambda.ee/w/images/0/08/Loeng_10_-_Lambda%2C_comprehensions_and_generator.pdf Comprehensions, Lambda, Generator] [http://www.coli.uni-saarland.de/courses/python-compact-10/exercises/Ex3.pdf Boonuspunktidele ülesanne nr 5 - ainult oneliner ilma importideta!]&lt;br /&gt;
&lt;br /&gt;
11. tund [http://www.lambda.ee/w/images/d/de/Loeng_11_-_Regular_expressions.pdf Regular expressions]&lt;br /&gt;
&lt;br /&gt;
12. tund [http://www.lambda.ee/w/images/a/a7/Loeng_12_-_Image_manipulation.pdf Image processing] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)] ([http://www.lambda.ee/w/images/9/92/Imagemagick.py ImageMagick näide])&lt;br /&gt;
&lt;br /&gt;
13. tund [http://www.lambda.ee/w/images/8/80/Loeng_13_-_Image_processing_2.pdf Image processing 2]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lahtine võistlus kõikidele soovijatele: [[Lahtine_voistlus|loe lähemalt]]&#039;&#039;&#039;. Saate kätt proovida ülesannete lahendamisel. Ülesandeid saab esitada ka Pythonis.&lt;br /&gt;
&lt;br /&gt;
14. tund [http://www.lambda.ee/w/images/8/8d/Loeng_14_-_sympy1.pdf Sympy 1]&lt;br /&gt;
&lt;br /&gt;
15. tund [http://www.lambda.ee/wiki/Pilt:Loeng_15_-_matplotlib.pdf Matplotlib 1]&lt;br /&gt;
&lt;br /&gt;
16. tund [[Otsing_(iti0140)|Ülesanne]] [http://www.lambda.ee/w/images/9/99/Tund16gen.py Generaator]&lt;br /&gt;
&lt;br /&gt;
17. tund [http://lambda.ee/w/images/5/5b/Timing.py Timing] [http://lambda.ee/w/images/0/07/TimingExercise.txt Ülesanne tekstifailis]&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>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:TimingExercise.txt&amp;diff=11093</id>
		<title>Fail:TimingExercise.txt</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:TimingExercise.txt&amp;diff=11093"/>
		<updated>2013-11-26T12:35:09Z</updated>

		<summary type="html">&lt;p&gt;Ago: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11092</id>
		<title>ITI0011-13-HW4-Gomoku</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11092"/>
		<updated>2013-11-26T09:49:23Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Lisaviiteid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ITI0011-13-HW4-Gomoku-eng|English version]]&lt;br /&gt;
&lt;br /&gt;
Ülesandeks on lisada etteantud [http://en.wikipedia.org/wiki/Gomoku Gomoku] programmile nö mõtlemiskomponent: jupid programmi, mis leiavad etteantud seisust võimalikult hea käigu. Nende juppide lisamise tulemusena peab sinu programm mängima Gomokut nö &amp;quot;mõistliku headuse&amp;quot; tasemel.&lt;br /&gt;
&lt;br /&gt;
Konkreetselt nõutakse, et sinu programm peab rõhuval enamikul juhtudel võitma õppejõu poolt etteantavat Gomoku võrdlusprogrammi, eeldades, et mõlemal on iga käigu jaoks aega üks sekund. Igal juhul on garanteeritud, et:&lt;br /&gt;
&lt;br /&gt;
* kui sinu programm kasutab korrektselt minimaxi&lt;br /&gt;
* oled programmeerinud mõistliku lihtsa seisuhinde (vaatab viieste olemasolu, loeb kokku lahtised neljased, poollahtised neljased, lahtised kolmesed) &lt;br /&gt;
&lt;br /&gt;
siis sinu programm võidab etteantud võrdlusprogrammi, kui mõlemal on ajapiir üks sekund käigu kohta.&lt;br /&gt;
&lt;br /&gt;
NB! Sinu programm peab suutma mõistliku headusega mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
&lt;br /&gt;
== Kahekesi programmeerimine ==&lt;br /&gt;
&lt;br /&gt;
Viis nuppu ritta ülesannet võib programmeerida kas üksi või kahekesi. Kahekesi programmeerimise puhul saab kumbki täispunktid, tingimusel, et:&lt;br /&gt;
&lt;br /&gt;
* Programmi ettenäitamisel on kohal mõlemad tudengid. Kui ühte pole, siis tema punkte ei saa.&lt;br /&gt;
* Kumbki tudeng saab programmi tekstist aru (st ka nendest osadest, mida tema programmeerinud ei olnud). Kui juhendajale tundub, et üks tudeng ei saa programmi tekstist hästi aru, siis ta jätab sellele tudengile punktid panemata või paneb vähem.&lt;br /&gt;
&lt;br /&gt;
== Etteantud lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab olema järgmise etteantud koodi edasiarendus. Mingeid muid alternatiive - üleni isetehtud või mujalt saadud GUI või muud klassid - ei aktsepteerita.&lt;br /&gt;
&lt;br /&gt;
Etteantud kood koosneb neljast failist selles zip failis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:Five0.1.zip|Five.zip]]&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;b&amp;gt;[http://www./lambda.ee/images/c/c9/Five.zip  Five.zip ]&amp;lt;/b&amp;gt;  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kood on kohe edukalt kompileeritav ja töötav. Paraku mängib ta väga halvasti: käib alati esimesele vabale kohale. Selleks, et ta paremini mängiks, pead lisama funktsiooni best_move (failis FiveLogic.java) minimaxi kasutamise ja mõistliku seisuhinde (st kirjutama need funktsioonid lisaks ja kutsuma neid best_move seest välja). Mingeid muid funktsioone või kasutajaliidese nüansse muutma   ei pea.&lt;br /&gt;
&lt;br /&gt;
Etteantud lähtekood baseerub siin lehel viidatud lähtekoodile   http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
&lt;br /&gt;
Võrreldes viimasega on lisatud masina käik, autoplay rezhiim ja 20x20 laua valik, samuti on vaikimisi lauasuuruseks võetud 10x10, mitte aga 9x9.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;auto&amp;quot; nupp ja võrdlusprogramm ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;auto&amp;quot; nupule vajutamise korral hakkab programm täisautomaatselt mängima: toimub võistlus funktsiooni best_move (failis FiveLogic.java) ning funktsiooni best_opponent_move (failis FiveOpponent.java) vahel. Inimmängija rolli võtab siis best_opponent_move.&lt;br /&gt;
&lt;br /&gt;
Ka best_opponent_move mängib väga halvasti: ta püüab samuti käia esimesele vabale ruudule, alustades aga paremalt alt, mitte vasakult ülalt, nagu best_move.&lt;br /&gt;
&lt;br /&gt;
Järgnevas zip failis antud võrdlusprogramm kujutab endast valmiskompileeritud klass-faili FiveOpponent.class, millega pead algul isekompileeritud FiveOpponent.class faili lihtsalt asendama (st kustutad kataloogist nii FiveOpponent.class kui FiveOpponent.java ning paned asemele siit lehelt laetud FiveOpponent.class):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent.zip|FiveOpponent.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Siintoodud FiveOpponent mõtleb kaks käiku ette (valge - tema - käik, ja siis musta - vastase, st sinu programmi käigud). Seisuhinnangus loeb ta kokku viiesed, lahtised neljased, kolmesed, kahesed, pluss poollahtised neljased ja kolmesed, ning annab igale sellisele ähvardusele/võimalusele mingi koefitsiendi. Alfa-beetat ta ei tee, ühtegi optimeerimist pole programmeeritud: seetõttu töötab ta ka üpris aeglaselt.&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab seda nigelat FiveOpponent.classi üldjuhul siis võitma.&lt;br /&gt;
&lt;br /&gt;
Kui siiski selgub, et Sinu programm kipub FiveOpponent.classile alla jääma, võid kasutada veel nõrgemat FiveOpponent.class faili:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent_weak.zip|FiveOpponent_weak.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Viimane fail - FiveOpponent_weak.zip - mõtleb ainult ühe käigu (valge käik) ette. Kui sinu programm seda eriti nõrka&lt;br /&gt;
FiveOpponenti reeglina võidab, aga eelmisena toodud kahte-käiku-mõtlevat mitte, saad siiski praktikumitulemuseks 8  (kaheksa)&lt;br /&gt;
punkti võimalikust kümnest.&lt;br /&gt;
&lt;br /&gt;
NB! Kontrolli, et sinu programm ei mõtleks AK arvutiklasside masinates ühte käiku 10x10 laual kunagi üle ühe sekundi. Pikemat mõtlemist käsitletakse lihtsalt vigase töötamisena.&lt;br /&gt;
&lt;br /&gt;
== Võistlus ja lisapunktid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! Plagiaadi esitamisel saavad selle kõik autorid ülesande eest 0 punkti&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pärast praktikumitöö esitamise tähtaja möödumist korraldab õppejõud programmide vahel võistluse, ning esimese kahe parema programmi autorid saavad eksami jaoks lisapunkte:&lt;br /&gt;
&lt;br /&gt;
* Esikoha võitnud programmi autorid kumbki 10 punkti.&lt;br /&gt;
* Teise koha võitnud programmi autorid kumbki 5 punkti.&lt;br /&gt;
&lt;br /&gt;
Võistlus ei ole kohustuslik. Kuidas sellest osa võtta: kolme päeva jooksul peale&lt;br /&gt;
praktikumitähtaja möödumist tuleb teha oma programmist versioon, kus varem best_move funktsioonis&lt;br /&gt;
sisaldunud kood kopeeritakse funktsioon best_opponent_move failis FiveOpponent.java. Viimane&lt;br /&gt;
fail peab olema täiesti sõltumatu teistest programmi lähtekoodi-failidest (st peab ise kompileeruma).&lt;br /&gt;
&lt;br /&gt;
Õppejõule tuleb siis nende kolme päeva jooksul saata emailiga järgmine info, kusjuures Subject real (emaili pealkiri) peab olema sõna &amp;lt;b&amp;gt;GOMOKU&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* autorite nimed, matriklinumbrid, emailid&lt;br /&gt;
* programmi lähtekood (NB! FiveOpponent.java peab sisaldama sinu käiguvaliku-programmi)&lt;br /&gt;
* programmi valmiskompileeritud class failid &lt;br /&gt;
&lt;br /&gt;
Sisulised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Teie programmi mõtlemiskomponendid peavad olema üleni teie enda kirjutatud. Artikleid lugeda ja teisi programme uurida tohib, neid otse kopeerida aga mitte.&lt;br /&gt;
* Kui õppejõul tekib eelmise punkti osas kahtlus, siis ta uurib autoritelt asja edasi, ning kahtluse püsimisel diskvalifitseerib kahtlase programmi võistluselt.&lt;br /&gt;
&lt;br /&gt;
Tehnilised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Programm ei tohi AK arvutiklassides ühtegi käiku mõelda kauem, kui ühe sekundi.&lt;br /&gt;
* Programm peab suutma mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
* Programm peab suutma käia ka siis, kui etteantud laud on tühi (alustaja must).&lt;br /&gt;
* Programm saab ette laua (vt praegust best_opponent_move) ja otsustab ise, kelle käik on, ning annab tagasi ühte integeri kodeeritult (vt praegust best_opponent_move) käigu sellele käijale (st suudab leida nii parima valge kui musta käigu, olenevalt, kelle käik on).&lt;br /&gt;
&lt;br /&gt;
Seejärel korraldab õppejõud laekunud programmide vahel turniiri, kus edasi pääseb igast matshist parem. Kaks programmi pannakse omavahel mängima, vaheldumisi mustade ja valgetega, kuni üks programm jõuab teisest 2 punkti võrra ette (kaotus ja viik 0 punkti, võit 1 punkt). Mängitakse 10x10 laual. Kui kümne partiiga võitjat ei selgu, mängitakse edasi 20x20 laual. Kui seal&lt;br /&gt;
ka kümne partiiga võitjat ei selgu, valitakse võitja loosiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kuidas minimaxi ja seisuhinde arvutamist programmeerida ==&lt;br /&gt;
&lt;br /&gt;
Alusta sellest, et tee valmis lihtne minimax (ilma alpha-betata) ja lihtne seisuhindaja, kus vaadatakse ainult seda, kas mõni osapooltest on võitnud: selleks saad kopeerida sisu funktsioonist getGameStatus (failis FiveLogic.java).&lt;br /&gt;
&lt;br /&gt;
Debugi see programm ära, mängides talle ise vastu. Tee katseid nii otsinguga sügavuseni kaks,&lt;br /&gt;
kolm, neli jne, kuni otsiaeg läheb liiga suureks. Uuri lihtsalt, kas programm leiab üles ühekäigulise võidu, kahekäigulise võidu jne, ning kas ta suudab blokeerida sinu ühekäigulise võidu, kahekäigulise võidu jne.&lt;br /&gt;
&lt;br /&gt;
Seejärel asu täiustama seisuhindajat. Peamised ideed:&lt;br /&gt;
&lt;br /&gt;
* Kas on viiest laual (otsene võit)?&lt;br /&gt;
* Loe kokku üleni lahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku poollahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku üleni lahtised kolmesed mõlema jaoks.&lt;br /&gt;
* Võibolla ka: Loe kokku poollahtised kolmesed. &lt;br /&gt;
* Võibolla ka: Loe kokku lahtised kahesed.&lt;br /&gt;
&lt;br /&gt;
Seisuhinne arvuta kokku nendest parameetritest, pannes võimsamatele ähvardustele kõvema koefitsiendi (üleni lahtine neljane on praktiliselt juba võit, lahtine kolmene aga veel mitte). Mõistlik võib olla viimati käija värvi ja järgmisena käjia värvi ähvardustele erinevate koefitsientide panemine: järgmisena käija ähvardused on hullemad (kui ta juba kaotanud pole)!&lt;br /&gt;
&lt;br /&gt;
Debugi täiustatud seisuhinne ära, mängides jälle ise vastu. &lt;br /&gt;
&lt;br /&gt;
Tee katseid aja-arvestusega ja määra otsingusügavus selline, et AK klassides kunagi ei mõeldaks üle ühe sekundi (NB! 20x20 laual on otsisügavus ilmselt väiksem, kui 10x10 laual).&lt;br /&gt;
&lt;br /&gt;
Nüüd peaks sinu programm olema piisavalt OK, võitmaks võrdlusprogrammi.&lt;br /&gt;
&lt;br /&gt;
Ideid, kuidas programmi veel palju paremaks teha:&lt;br /&gt;
&lt;br /&gt;
* Vii sisse alpha-beta (modifitseeri minimaxi). Programm peaks leidma sama käigu, mis minimaxiga, aga rutem.&lt;br /&gt;
* Sundkäikude puhul (neljase sulgemine, võibolla ka lahtise kolmese otsa sulgemine) ära otsi kõiki muid alternatiive läbi, vaid vaata ainult sundkäike.&lt;br /&gt;
* Vali võimalikeks käikudeks ainult ruute, mis on mõne täidetud ruudu ligidal.&lt;br /&gt;
* Tee seisuhindamist selliselt, et enne lõppsügavusele jõudmist tehakse vahepealse seisu seisuhinne ja antakse see lõppsügavusele ette. Lõppsügavuse seis erineb aga ainult ühe välja poolest, seega saab hinde arvutada nii, et vaatad läbi ainult viimase käigu ümbruskonna ja modifitseerid üks aste kõrgemal saadud seisuhinnet vastavalt.&lt;br /&gt;
* Sundkäikude puhul, kus ainult üks valik, analüüsi sügavamale: unikaalne sundkäik ju ei laienda puud! Mh otsi sundkäikude ahelad lõpuni välja.&lt;br /&gt;
* Loe läbi lisaviited&lt;br /&gt;
&lt;br /&gt;
== Lisaviiteid ==&lt;br /&gt;
&lt;br /&gt;
Loengus antud info ja viited: [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing gomoku, minimax, alpha-beta] &lt;br /&gt;
&lt;br /&gt;
Lisaks: &lt;br /&gt;
:http://en.wikipedia.org/wiki/Gomoku&lt;br /&gt;
:http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
:http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html&lt;br /&gt;
:http://web.archive.org/web/20040607185428/www.cs.vu.nl/~victor/thesis.html&lt;br /&gt;
:http://www.cs.ualberta.ca/~chinook/&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11091</id>
		<title>ITI0011-13-HW4-Gomoku</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11091"/>
		<updated>2013-11-26T09:49:12Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Lisaviiteid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ITI0011-13-HW4-Gomoku-eng|English version]]&lt;br /&gt;
&lt;br /&gt;
Ülesandeks on lisada etteantud [http://en.wikipedia.org/wiki/Gomoku Gomoku] programmile nö mõtlemiskomponent: jupid programmi, mis leiavad etteantud seisust võimalikult hea käigu. Nende juppide lisamise tulemusena peab sinu programm mängima Gomokut nö &amp;quot;mõistliku headuse&amp;quot; tasemel.&lt;br /&gt;
&lt;br /&gt;
Konkreetselt nõutakse, et sinu programm peab rõhuval enamikul juhtudel võitma õppejõu poolt etteantavat Gomoku võrdlusprogrammi, eeldades, et mõlemal on iga käigu jaoks aega üks sekund. Igal juhul on garanteeritud, et:&lt;br /&gt;
&lt;br /&gt;
* kui sinu programm kasutab korrektselt minimaxi&lt;br /&gt;
* oled programmeerinud mõistliku lihtsa seisuhinde (vaatab viieste olemasolu, loeb kokku lahtised neljased, poollahtised neljased, lahtised kolmesed) &lt;br /&gt;
&lt;br /&gt;
siis sinu programm võidab etteantud võrdlusprogrammi, kui mõlemal on ajapiir üks sekund käigu kohta.&lt;br /&gt;
&lt;br /&gt;
NB! Sinu programm peab suutma mõistliku headusega mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
&lt;br /&gt;
== Kahekesi programmeerimine ==&lt;br /&gt;
&lt;br /&gt;
Viis nuppu ritta ülesannet võib programmeerida kas üksi või kahekesi. Kahekesi programmeerimise puhul saab kumbki täispunktid, tingimusel, et:&lt;br /&gt;
&lt;br /&gt;
* Programmi ettenäitamisel on kohal mõlemad tudengid. Kui ühte pole, siis tema punkte ei saa.&lt;br /&gt;
* Kumbki tudeng saab programmi tekstist aru (st ka nendest osadest, mida tema programmeerinud ei olnud). Kui juhendajale tundub, et üks tudeng ei saa programmi tekstist hästi aru, siis ta jätab sellele tudengile punktid panemata või paneb vähem.&lt;br /&gt;
&lt;br /&gt;
== Etteantud lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab olema järgmise etteantud koodi edasiarendus. Mingeid muid alternatiive - üleni isetehtud või mujalt saadud GUI või muud klassid - ei aktsepteerita.&lt;br /&gt;
&lt;br /&gt;
Etteantud kood koosneb neljast failist selles zip failis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:Five0.1.zip|Five.zip]]&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;b&amp;gt;[http://www./lambda.ee/images/c/c9/Five.zip  Five.zip ]&amp;lt;/b&amp;gt;  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kood on kohe edukalt kompileeritav ja töötav. Paraku mängib ta väga halvasti: käib alati esimesele vabale kohale. Selleks, et ta paremini mängiks, pead lisama funktsiooni best_move (failis FiveLogic.java) minimaxi kasutamise ja mõistliku seisuhinde (st kirjutama need funktsioonid lisaks ja kutsuma neid best_move seest välja). Mingeid muid funktsioone või kasutajaliidese nüansse muutma   ei pea.&lt;br /&gt;
&lt;br /&gt;
Etteantud lähtekood baseerub siin lehel viidatud lähtekoodile   http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
&lt;br /&gt;
Võrreldes viimasega on lisatud masina käik, autoplay rezhiim ja 20x20 laua valik, samuti on vaikimisi lauasuuruseks võetud 10x10, mitte aga 9x9.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;auto&amp;quot; nupp ja võrdlusprogramm ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;auto&amp;quot; nupule vajutamise korral hakkab programm täisautomaatselt mängima: toimub võistlus funktsiooni best_move (failis FiveLogic.java) ning funktsiooni best_opponent_move (failis FiveOpponent.java) vahel. Inimmängija rolli võtab siis best_opponent_move.&lt;br /&gt;
&lt;br /&gt;
Ka best_opponent_move mängib väga halvasti: ta püüab samuti käia esimesele vabale ruudule, alustades aga paremalt alt, mitte vasakult ülalt, nagu best_move.&lt;br /&gt;
&lt;br /&gt;
Järgnevas zip failis antud võrdlusprogramm kujutab endast valmiskompileeritud klass-faili FiveOpponent.class, millega pead algul isekompileeritud FiveOpponent.class faili lihtsalt asendama (st kustutad kataloogist nii FiveOpponent.class kui FiveOpponent.java ning paned asemele siit lehelt laetud FiveOpponent.class):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent.zip|FiveOpponent.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Siintoodud FiveOpponent mõtleb kaks käiku ette (valge - tema - käik, ja siis musta - vastase, st sinu programmi käigud). Seisuhinnangus loeb ta kokku viiesed, lahtised neljased, kolmesed, kahesed, pluss poollahtised neljased ja kolmesed, ning annab igale sellisele ähvardusele/võimalusele mingi koefitsiendi. Alfa-beetat ta ei tee, ühtegi optimeerimist pole programmeeritud: seetõttu töötab ta ka üpris aeglaselt.&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab seda nigelat FiveOpponent.classi üldjuhul siis võitma.&lt;br /&gt;
&lt;br /&gt;
Kui siiski selgub, et Sinu programm kipub FiveOpponent.classile alla jääma, võid kasutada veel nõrgemat FiveOpponent.class faili:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent_weak.zip|FiveOpponent_weak.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Viimane fail - FiveOpponent_weak.zip - mõtleb ainult ühe käigu (valge käik) ette. Kui sinu programm seda eriti nõrka&lt;br /&gt;
FiveOpponenti reeglina võidab, aga eelmisena toodud kahte-käiku-mõtlevat mitte, saad siiski praktikumitulemuseks 8  (kaheksa)&lt;br /&gt;
punkti võimalikust kümnest.&lt;br /&gt;
&lt;br /&gt;
NB! Kontrolli, et sinu programm ei mõtleks AK arvutiklasside masinates ühte käiku 10x10 laual kunagi üle ühe sekundi. Pikemat mõtlemist käsitletakse lihtsalt vigase töötamisena.&lt;br /&gt;
&lt;br /&gt;
== Võistlus ja lisapunktid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! Plagiaadi esitamisel saavad selle kõik autorid ülesande eest 0 punkti&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pärast praktikumitöö esitamise tähtaja möödumist korraldab õppejõud programmide vahel võistluse, ning esimese kahe parema programmi autorid saavad eksami jaoks lisapunkte:&lt;br /&gt;
&lt;br /&gt;
* Esikoha võitnud programmi autorid kumbki 10 punkti.&lt;br /&gt;
* Teise koha võitnud programmi autorid kumbki 5 punkti.&lt;br /&gt;
&lt;br /&gt;
Võistlus ei ole kohustuslik. Kuidas sellest osa võtta: kolme päeva jooksul peale&lt;br /&gt;
praktikumitähtaja möödumist tuleb teha oma programmist versioon, kus varem best_move funktsioonis&lt;br /&gt;
sisaldunud kood kopeeritakse funktsioon best_opponent_move failis FiveOpponent.java. Viimane&lt;br /&gt;
fail peab olema täiesti sõltumatu teistest programmi lähtekoodi-failidest (st peab ise kompileeruma).&lt;br /&gt;
&lt;br /&gt;
Õppejõule tuleb siis nende kolme päeva jooksul saata emailiga järgmine info, kusjuures Subject real (emaili pealkiri) peab olema sõna &amp;lt;b&amp;gt;GOMOKU&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* autorite nimed, matriklinumbrid, emailid&lt;br /&gt;
* programmi lähtekood (NB! FiveOpponent.java peab sisaldama sinu käiguvaliku-programmi)&lt;br /&gt;
* programmi valmiskompileeritud class failid &lt;br /&gt;
&lt;br /&gt;
Sisulised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Teie programmi mõtlemiskomponendid peavad olema üleni teie enda kirjutatud. Artikleid lugeda ja teisi programme uurida tohib, neid otse kopeerida aga mitte.&lt;br /&gt;
* Kui õppejõul tekib eelmise punkti osas kahtlus, siis ta uurib autoritelt asja edasi, ning kahtluse püsimisel diskvalifitseerib kahtlase programmi võistluselt.&lt;br /&gt;
&lt;br /&gt;
Tehnilised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Programm ei tohi AK arvutiklassides ühtegi käiku mõelda kauem, kui ühe sekundi.&lt;br /&gt;
* Programm peab suutma mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
* Programm peab suutma käia ka siis, kui etteantud laud on tühi (alustaja must).&lt;br /&gt;
* Programm saab ette laua (vt praegust best_opponent_move) ja otsustab ise, kelle käik on, ning annab tagasi ühte integeri kodeeritult (vt praegust best_opponent_move) käigu sellele käijale (st suudab leida nii parima valge kui musta käigu, olenevalt, kelle käik on).&lt;br /&gt;
&lt;br /&gt;
Seejärel korraldab õppejõud laekunud programmide vahel turniiri, kus edasi pääseb igast matshist parem. Kaks programmi pannakse omavahel mängima, vaheldumisi mustade ja valgetega, kuni üks programm jõuab teisest 2 punkti võrra ette (kaotus ja viik 0 punkti, võit 1 punkt). Mängitakse 10x10 laual. Kui kümne partiiga võitjat ei selgu, mängitakse edasi 20x20 laual. Kui seal&lt;br /&gt;
ka kümne partiiga võitjat ei selgu, valitakse võitja loosiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kuidas minimaxi ja seisuhinde arvutamist programmeerida ==&lt;br /&gt;
&lt;br /&gt;
Alusta sellest, et tee valmis lihtne minimax (ilma alpha-betata) ja lihtne seisuhindaja, kus vaadatakse ainult seda, kas mõni osapooltest on võitnud: selleks saad kopeerida sisu funktsioonist getGameStatus (failis FiveLogic.java).&lt;br /&gt;
&lt;br /&gt;
Debugi see programm ära, mängides talle ise vastu. Tee katseid nii otsinguga sügavuseni kaks,&lt;br /&gt;
kolm, neli jne, kuni otsiaeg läheb liiga suureks. Uuri lihtsalt, kas programm leiab üles ühekäigulise võidu, kahekäigulise võidu jne, ning kas ta suudab blokeerida sinu ühekäigulise võidu, kahekäigulise võidu jne.&lt;br /&gt;
&lt;br /&gt;
Seejärel asu täiustama seisuhindajat. Peamised ideed:&lt;br /&gt;
&lt;br /&gt;
* Kas on viiest laual (otsene võit)?&lt;br /&gt;
* Loe kokku üleni lahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku poollahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku üleni lahtised kolmesed mõlema jaoks.&lt;br /&gt;
* Võibolla ka: Loe kokku poollahtised kolmesed. &lt;br /&gt;
* Võibolla ka: Loe kokku lahtised kahesed.&lt;br /&gt;
&lt;br /&gt;
Seisuhinne arvuta kokku nendest parameetritest, pannes võimsamatele ähvardustele kõvema koefitsiendi (üleni lahtine neljane on praktiliselt juba võit, lahtine kolmene aga veel mitte). Mõistlik võib olla viimati käija värvi ja järgmisena käjia värvi ähvardustele erinevate koefitsientide panemine: järgmisena käija ähvardused on hullemad (kui ta juba kaotanud pole)!&lt;br /&gt;
&lt;br /&gt;
Debugi täiustatud seisuhinne ära, mängides jälle ise vastu. &lt;br /&gt;
&lt;br /&gt;
Tee katseid aja-arvestusega ja määra otsingusügavus selline, et AK klassides kunagi ei mõeldaks üle ühe sekundi (NB! 20x20 laual on otsisügavus ilmselt väiksem, kui 10x10 laual).&lt;br /&gt;
&lt;br /&gt;
Nüüd peaks sinu programm olema piisavalt OK, võitmaks võrdlusprogrammi.&lt;br /&gt;
&lt;br /&gt;
Ideid, kuidas programmi veel palju paremaks teha:&lt;br /&gt;
&lt;br /&gt;
* Vii sisse alpha-beta (modifitseeri minimaxi). Programm peaks leidma sama käigu, mis minimaxiga, aga rutem.&lt;br /&gt;
* Sundkäikude puhul (neljase sulgemine, võibolla ka lahtise kolmese otsa sulgemine) ära otsi kõiki muid alternatiive läbi, vaid vaata ainult sundkäike.&lt;br /&gt;
* Vali võimalikeks käikudeks ainult ruute, mis on mõne täidetud ruudu ligidal.&lt;br /&gt;
* Tee seisuhindamist selliselt, et enne lõppsügavusele jõudmist tehakse vahepealse seisu seisuhinne ja antakse see lõppsügavusele ette. Lõppsügavuse seis erineb aga ainult ühe välja poolest, seega saab hinde arvutada nii, et vaatad läbi ainult viimase käigu ümbruskonna ja modifitseerid üks aste kõrgemal saadud seisuhinnet vastavalt.&lt;br /&gt;
* Sundkäikude puhul, kus ainult üks valik, analüüsi sügavamale: unikaalne sundkäik ju ei laienda puud! Mh otsi sundkäikude ahelad lõpuni välja.&lt;br /&gt;
* Loe läbi lisaviited&lt;br /&gt;
&lt;br /&gt;
== Lisaviiteid ==&lt;br /&gt;
&lt;br /&gt;
Loengus antud info ja viited: [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing| gomoku, minimax, alpha-beta] &lt;br /&gt;
&lt;br /&gt;
Lisaks: &lt;br /&gt;
:http://en.wikipedia.org/wiki/Gomoku&lt;br /&gt;
:http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
:http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html&lt;br /&gt;
:http://web.archive.org/web/20040607185428/www.cs.vu.nl/~victor/thesis.html&lt;br /&gt;
:http://www.cs.ualberta.ca/~chinook/&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11090</id>
		<title>ITI0011-13-HW4-Gomoku</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011-13-HW4-Gomoku&amp;diff=11090"/>
		<updated>2013-11-26T09:48:53Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Lisaviiteid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ITI0011-13-HW4-Gomoku-eng|English version]]&lt;br /&gt;
&lt;br /&gt;
Ülesandeks on lisada etteantud [http://en.wikipedia.org/wiki/Gomoku Gomoku] programmile nö mõtlemiskomponent: jupid programmi, mis leiavad etteantud seisust võimalikult hea käigu. Nende juppide lisamise tulemusena peab sinu programm mängima Gomokut nö &amp;quot;mõistliku headuse&amp;quot; tasemel.&lt;br /&gt;
&lt;br /&gt;
Konkreetselt nõutakse, et sinu programm peab rõhuval enamikul juhtudel võitma õppejõu poolt etteantavat Gomoku võrdlusprogrammi, eeldades, et mõlemal on iga käigu jaoks aega üks sekund. Igal juhul on garanteeritud, et:&lt;br /&gt;
&lt;br /&gt;
* kui sinu programm kasutab korrektselt minimaxi&lt;br /&gt;
* oled programmeerinud mõistliku lihtsa seisuhinde (vaatab viieste olemasolu, loeb kokku lahtised neljased, poollahtised neljased, lahtised kolmesed) &lt;br /&gt;
&lt;br /&gt;
siis sinu programm võidab etteantud võrdlusprogrammi, kui mõlemal on ajapiir üks sekund käigu kohta.&lt;br /&gt;
&lt;br /&gt;
NB! Sinu programm peab suutma mõistliku headusega mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
&lt;br /&gt;
== Kahekesi programmeerimine ==&lt;br /&gt;
&lt;br /&gt;
Viis nuppu ritta ülesannet võib programmeerida kas üksi või kahekesi. Kahekesi programmeerimise puhul saab kumbki täispunktid, tingimusel, et:&lt;br /&gt;
&lt;br /&gt;
* Programmi ettenäitamisel on kohal mõlemad tudengid. Kui ühte pole, siis tema punkte ei saa.&lt;br /&gt;
* Kumbki tudeng saab programmi tekstist aru (st ka nendest osadest, mida tema programmeerinud ei olnud). Kui juhendajale tundub, et üks tudeng ei saa programmi tekstist hästi aru, siis ta jätab sellele tudengile punktid panemata või paneb vähem.&lt;br /&gt;
&lt;br /&gt;
== Etteantud lähtekood ==&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab olema järgmise etteantud koodi edasiarendus. Mingeid muid alternatiive - üleni isetehtud või mujalt saadud GUI või muud klassid - ei aktsepteerita.&lt;br /&gt;
&lt;br /&gt;
Etteantud kood koosneb neljast failist selles zip failis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:Five0.1.zip|Five.zip]]&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;b&amp;gt;[http://www./lambda.ee/images/c/c9/Five.zip  Five.zip ]&amp;lt;/b&amp;gt;  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kood on kohe edukalt kompileeritav ja töötav. Paraku mängib ta väga halvasti: käib alati esimesele vabale kohale. Selleks, et ta paremini mängiks, pead lisama funktsiooni best_move (failis FiveLogic.java) minimaxi kasutamise ja mõistliku seisuhinde (st kirjutama need funktsioonid lisaks ja kutsuma neid best_move seest välja). Mingeid muid funktsioone või kasutajaliidese nüansse muutma   ei pea.&lt;br /&gt;
&lt;br /&gt;
Etteantud lähtekood baseerub siin lehel viidatud lähtekoodile   http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
&lt;br /&gt;
Võrreldes viimasega on lisatud masina käik, autoplay rezhiim ja 20x20 laua valik, samuti on vaikimisi lauasuuruseks võetud 10x10, mitte aga 9x9.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;auto&amp;quot; nupp ja võrdlusprogramm ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;auto&amp;quot; nupule vajutamise korral hakkab programm täisautomaatselt mängima: toimub võistlus funktsiooni best_move (failis FiveLogic.java) ning funktsiooni best_opponent_move (failis FiveOpponent.java) vahel. Inimmängija rolli võtab siis best_opponent_move.&lt;br /&gt;
&lt;br /&gt;
Ka best_opponent_move mängib väga halvasti: ta püüab samuti käia esimesele vabale ruudule, alustades aga paremalt alt, mitte vasakult ülalt, nagu best_move.&lt;br /&gt;
&lt;br /&gt;
Järgnevas zip failis antud võrdlusprogramm kujutab endast valmiskompileeritud klass-faili FiveOpponent.class, millega pead algul isekompileeritud FiveOpponent.class faili lihtsalt asendama (st kustutad kataloogist nii FiveOpponent.class kui FiveOpponent.java ning paned asemele siit lehelt laetud FiveOpponent.class):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent.zip|FiveOpponent.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Siintoodud FiveOpponent mõtleb kaks käiku ette (valge - tema - käik, ja siis musta - vastase, st sinu programmi käigud). Seisuhinnangus loeb ta kokku viiesed, lahtised neljased, kolmesed, kahesed, pluss poollahtised neljased ja kolmesed, ning annab igale sellisele ähvardusele/võimalusele mingi koefitsiendi. Alfa-beetat ta ei tee, ühtegi optimeerimist pole programmeeritud: seetõttu töötab ta ka üpris aeglaselt.&lt;br /&gt;
&lt;br /&gt;
Sinu programm peab seda nigelat FiveOpponent.classi üldjuhul siis võitma.&lt;br /&gt;
&lt;br /&gt;
Kui siiski selgub, et Sinu programm kipub FiveOpponent.classile alla jääma, võid kasutada veel nõrgemat FiveOpponent.class faili:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;[[Media:FiveOpponent_weak.zip|FiveOpponent_weak.zip]]&amp;lt;/b&amp;gt;:  paki zip fail lahti ja saad faili FiveOpponent.class&lt;br /&gt;
&lt;br /&gt;
Viimane fail - FiveOpponent_weak.zip - mõtleb ainult ühe käigu (valge käik) ette. Kui sinu programm seda eriti nõrka&lt;br /&gt;
FiveOpponenti reeglina võidab, aga eelmisena toodud kahte-käiku-mõtlevat mitte, saad siiski praktikumitulemuseks 8  (kaheksa)&lt;br /&gt;
punkti võimalikust kümnest.&lt;br /&gt;
&lt;br /&gt;
NB! Kontrolli, et sinu programm ei mõtleks AK arvutiklasside masinates ühte käiku 10x10 laual kunagi üle ühe sekundi. Pikemat mõtlemist käsitletakse lihtsalt vigase töötamisena.&lt;br /&gt;
&lt;br /&gt;
== Võistlus ja lisapunktid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NB! Plagiaadi esitamisel saavad selle kõik autorid ülesande eest 0 punkti&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Pärast praktikumitöö esitamise tähtaja möödumist korraldab õppejõud programmide vahel võistluse, ning esimese kahe parema programmi autorid saavad eksami jaoks lisapunkte:&lt;br /&gt;
&lt;br /&gt;
* Esikoha võitnud programmi autorid kumbki 10 punkti.&lt;br /&gt;
* Teise koha võitnud programmi autorid kumbki 5 punkti.&lt;br /&gt;
&lt;br /&gt;
Võistlus ei ole kohustuslik. Kuidas sellest osa võtta: kolme päeva jooksul peale&lt;br /&gt;
praktikumitähtaja möödumist tuleb teha oma programmist versioon, kus varem best_move funktsioonis&lt;br /&gt;
sisaldunud kood kopeeritakse funktsioon best_opponent_move failis FiveOpponent.java. Viimane&lt;br /&gt;
fail peab olema täiesti sõltumatu teistest programmi lähtekoodi-failidest (st peab ise kompileeruma).&lt;br /&gt;
&lt;br /&gt;
Õppejõule tuleb siis nende kolme päeva jooksul saata emailiga järgmine info, kusjuures Subject real (emaili pealkiri) peab olema sõna &amp;lt;b&amp;gt;GOMOKU&amp;lt;/b&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* autorite nimed, matriklinumbrid, emailid&lt;br /&gt;
* programmi lähtekood (NB! FiveOpponent.java peab sisaldama sinu käiguvaliku-programmi)&lt;br /&gt;
* programmi valmiskompileeritud class failid &lt;br /&gt;
&lt;br /&gt;
Sisulised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Teie programmi mõtlemiskomponendid peavad olema üleni teie enda kirjutatud. Artikleid lugeda ja teisi programme uurida tohib, neid otse kopeerida aga mitte.&lt;br /&gt;
* Kui õppejõul tekib eelmise punkti osas kahtlus, siis ta uurib autoritelt asja edasi, ning kahtluse püsimisel diskvalifitseerib kahtlase programmi võistluselt.&lt;br /&gt;
&lt;br /&gt;
Tehnilised nõuded:&lt;br /&gt;
&lt;br /&gt;
* Programm ei tohi AK arvutiklassides ühtegi käiku mõelda kauem, kui ühe sekundi.&lt;br /&gt;
* Programm peab suutma mängida nii 10x10 kui 20x20 laual.&lt;br /&gt;
* Programm peab suutma käia ka siis, kui etteantud laud on tühi (alustaja must).&lt;br /&gt;
* Programm saab ette laua (vt praegust best_opponent_move) ja otsustab ise, kelle käik on, ning annab tagasi ühte integeri kodeeritult (vt praegust best_opponent_move) käigu sellele käijale (st suudab leida nii parima valge kui musta käigu, olenevalt, kelle käik on).&lt;br /&gt;
&lt;br /&gt;
Seejärel korraldab õppejõud laekunud programmide vahel turniiri, kus edasi pääseb igast matshist parem. Kaks programmi pannakse omavahel mängima, vaheldumisi mustade ja valgetega, kuni üks programm jõuab teisest 2 punkti võrra ette (kaotus ja viik 0 punkti, võit 1 punkt). Mängitakse 10x10 laual. Kui kümne partiiga võitjat ei selgu, mängitakse edasi 20x20 laual. Kui seal&lt;br /&gt;
ka kümne partiiga võitjat ei selgu, valitakse võitja loosiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kuidas minimaxi ja seisuhinde arvutamist programmeerida ==&lt;br /&gt;
&lt;br /&gt;
Alusta sellest, et tee valmis lihtne minimax (ilma alpha-betata) ja lihtne seisuhindaja, kus vaadatakse ainult seda, kas mõni osapooltest on võitnud: selleks saad kopeerida sisu funktsioonist getGameStatus (failis FiveLogic.java).&lt;br /&gt;
&lt;br /&gt;
Debugi see programm ära, mängides talle ise vastu. Tee katseid nii otsinguga sügavuseni kaks,&lt;br /&gt;
kolm, neli jne, kuni otsiaeg läheb liiga suureks. Uuri lihtsalt, kas programm leiab üles ühekäigulise võidu, kahekäigulise võidu jne, ning kas ta suudab blokeerida sinu ühekäigulise võidu, kahekäigulise võidu jne.&lt;br /&gt;
&lt;br /&gt;
Seejärel asu täiustama seisuhindajat. Peamised ideed:&lt;br /&gt;
&lt;br /&gt;
* Kas on viiest laual (otsene võit)?&lt;br /&gt;
* Loe kokku üleni lahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku poollahtised neljased mõlema jaoks.&lt;br /&gt;
* Loe kokku üleni lahtised kolmesed mõlema jaoks.&lt;br /&gt;
* Võibolla ka: Loe kokku poollahtised kolmesed. &lt;br /&gt;
* Võibolla ka: Loe kokku lahtised kahesed.&lt;br /&gt;
&lt;br /&gt;
Seisuhinne arvuta kokku nendest parameetritest, pannes võimsamatele ähvardustele kõvema koefitsiendi (üleni lahtine neljane on praktiliselt juba võit, lahtine kolmene aga veel mitte). Mõistlik võib olla viimati käija värvi ja järgmisena käjia värvi ähvardustele erinevate koefitsientide panemine: järgmisena käija ähvardused on hullemad (kui ta juba kaotanud pole)!&lt;br /&gt;
&lt;br /&gt;
Debugi täiustatud seisuhinne ära, mängides jälle ise vastu. &lt;br /&gt;
&lt;br /&gt;
Tee katseid aja-arvestusega ja määra otsingusügavus selline, et AK klassides kunagi ei mõeldaks üle ühe sekundi (NB! 20x20 laual on otsisügavus ilmselt väiksem, kui 10x10 laual).&lt;br /&gt;
&lt;br /&gt;
Nüüd peaks sinu programm olema piisavalt OK, võitmaks võrdlusprogrammi.&lt;br /&gt;
&lt;br /&gt;
Ideid, kuidas programmi veel palju paremaks teha:&lt;br /&gt;
&lt;br /&gt;
* Vii sisse alpha-beta (modifitseeri minimaxi). Programm peaks leidma sama käigu, mis minimaxiga, aga rutem.&lt;br /&gt;
* Sundkäikude puhul (neljase sulgemine, võibolla ka lahtise kolmese otsa sulgemine) ära otsi kõiki muid alternatiive läbi, vaid vaata ainult sundkäike.&lt;br /&gt;
* Vali võimalikeks käikudeks ainult ruute, mis on mõne täidetud ruudu ligidal.&lt;br /&gt;
* Tee seisuhindamist selliselt, et enne lõppsügavusele jõudmist tehakse vahepealse seisu seisuhinne ja antakse see lõppsügavusele ette. Lõppsügavuse seis erineb aga ainult ühe välja poolest, seega saab hinde arvutada nii, et vaatad läbi ainult viimase käigu ümbruskonna ja modifitseerid üks aste kõrgemal saadud seisuhinnet vastavalt.&lt;br /&gt;
* Sundkäikude puhul, kus ainult üks valik, analüüsi sügavamale: unikaalne sundkäik ju ei laienda puud! Mh otsi sundkäikude ahelad lõpuni välja.&lt;br /&gt;
* Loe läbi lisaviited&lt;br /&gt;
&lt;br /&gt;
== Lisaviiteid ==&lt;br /&gt;
&lt;br /&gt;
Loengus antud info ja viited: [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing|gomoku, minimax, alpha-beta] &lt;br /&gt;
&lt;br /&gt;
Lisaks: &lt;br /&gt;
:http://en.wikipedia.org/wiki/Gomoku&lt;br /&gt;
:http://www.leepoint.net/notes-java/examples/games/five/five.html&lt;br /&gt;
:http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html&lt;br /&gt;
:http://web.archive.org/web/20040607185428/www.cs.vu.nl/~victor/thesis.html&lt;br /&gt;
:http://www.cs.ualberta.ca/~chinook/&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11087</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11087"/>
		<updated>2013-11-22T11:53:12Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
Eelmise aasta ülesanded ja tähtajad:&lt;br /&gt;
# [[Poomine]], tähtaeg 24-26.sept [http://lab.cs.ttu.ee/dl98 demo]&lt;br /&gt;
# [[Feed]], tähtaeg 29-31.okt [http://lab.cs.ttu.ee/dl99 demo]&lt;br /&gt;
# [[Kimp]], tähtaeg 26-28.nov [https://lab.cs.ttu.ee/dl101 demo]&lt;br /&gt;
# [[Gomoku]], tähtaeg 17-19.dets&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# III praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11086</id>
		<title>ITI0011</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0011&amp;diff=11086"/>
		<updated>2013-11-22T11:53:00Z</updated>

		<summary type="html">&lt;p&gt;Ago: /* Loengu/praktikumi materjalid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 70px;&amp;quot;&amp;gt;&lt;br /&gt;
[[Pilt:Java_logo_and_wordmark.svg.png|60px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Ainekood: ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
Link: http://lambda.ee/wiki/ITI0011&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lektor: Ago Luberg&lt;br /&gt;
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423&amp;lt;br&amp;gt;&lt;br /&gt;
Konsultatsiooniaeg: N9.00, tuleb eelnevalt emailiteel kokku leppida!&amp;lt;br&amp;gt;&lt;br /&gt;
Praktikumide ajad: E8 (ICT-404), T8 (ICT-501), K8 (ICT-404), N10 (ICT-401), N14.15 (ICT-401)&amp;lt;br&amp;gt;&lt;br /&gt;
Venekeelse praktikumi lektor: Aleksandr Lenin&amp;lt;br&amp;gt;&lt;br /&gt;
Kursus varasematel aastatel: [[ITI0011-S12 | 2012]], [[ITI0011-S11 | 2011]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
== Teated ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.google.com/a/vertical.ee/spreadsheet/pub?key=0AiSJPpWnMYPZdDBxWHpIRlg5UVRmeEhSRlFhYVVSNFE&amp;amp;single=true&amp;amp;gid=3&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* &#039;&#039;&#039;Eksamiinfo on väljas&#039;&#039;&#039;&lt;br /&gt;
* Kursuse &#039;&#039;&#039;RSS&#039;&#039;&#039; teated siin: http://groups.google.com/group/iti0011&lt;br /&gt;
* [[ITI0011-S12 | ITI0011 eelmisel semestril (2012)]]&lt;br /&gt;
&lt;br /&gt;
== Praktikumid &amp;amp; tähtajad ==&lt;br /&gt;
&lt;br /&gt;
Tähtajad võivad muutuda!&lt;br /&gt;
&lt;br /&gt;
* I kodutöö [[ITI0011-13-HW1-TicTacToe|Trips-Traps-Trull]], tähtaeg 23. - 26. september [http://dijkstra.cs.ttu.ee/~ago/ttt.jar Demo]&lt;br /&gt;
* II kodutöö [[ITI0011-13-HW2-Panoramio|Panoramio]], tähtaeg 21. - 24. oktoober [http://dijkstra.cs.ttu.ee/~ago/Panoramio.jar Demo]&lt;br /&gt;
* III kodutöö [[ITI0011-13-HW3-Kimp|Kimp]], tähtaeg 18. - 21. november [http://dijkstra.cs.ttu.ee/~ago/Kimp.jar Demo]&lt;br /&gt;
** Valikuline Android rakenduse loomine Kimp ülesande asemel: [[ITI0011-13-HW3V2-Android-Gomoku|Gomoku Androidile]].&lt;br /&gt;
* IV kodutöö [[ITI0011-13-HW4-Gomoku|Gomoku]], tähtaeg 16. - 19. detsember&lt;br /&gt;
&lt;br /&gt;
Eelmise aasta ülesanded ja tähtajad:&lt;br /&gt;
# [[Poomine]], tähtaeg 24-26.sept [http://lab.cs.ttu.ee/dl98 demo]&lt;br /&gt;
# [[Feed]], tähtaeg 29-31.okt [http://lab.cs.ttu.ee/dl99 demo]&lt;br /&gt;
# [[Kimp]], tähtaeg 26-28.nov [https://lab.cs.ttu.ee/dl101 demo]&lt;br /&gt;
# [[Gomoku]], tähtaeg 17-19.dets&lt;br /&gt;
&lt;br /&gt;
== Eksam ==&lt;br /&gt;
&lt;br /&gt;
* Kõigil on võimalus valida omale päev, millal eksamit sooritada - 9.jaan või 16.jaan&lt;br /&gt;
* &#039;&#039;&#039;Kellaaega&#039;&#039;&#039; valida ei saa - selle määrab õppejõud juhuslikkuse alusel. Ilmub siia: [https://docs.google.com/spreadsheet/pub?key=0AnoMCh3_x82sdDlFYTVUMDl2Sk1ZRXJQMmptZUczR2c&amp;amp;single=true&amp;amp;gid=1&amp;amp;output=html kodutööd-punktid]&lt;br /&gt;
* Eksamile &#039;&#039;&#039;peab registreerima ÕIS&#039;&#039;&#039;-is (hiljemalt eelmisel päeval kl. 12)&lt;br /&gt;
* Esimene eksam (9.jaan) on ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039; nö. &amp;quot;kehtivat deklaratsiooni&amp;quot; omavatele üliõpilastele.&lt;br /&gt;
* NB! Kaasa vaja võtta &#039;&#039;&#039;pildiga dokument&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Konsultatsioonid&#039;&#039;&#039; on eksamile eelneval päeval kl. 12 (vaata täpne ruum jaanuaris üle!)&lt;br /&gt;
&lt;br /&gt;
Eksamiajad:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;9. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (ka &#039;&#039;&#039;lisaeksam&#039;&#039;&#039;) (registreerimise lõpp 8.jaan kl 12:00)&lt;br /&gt;
* &#039;&#039;&#039;16. jaanuar&#039;&#039;&#039; 2014 (neljapäev), VIA-229,  kell 10.00-12.00 &amp;amp; 12.15-14.15 (registreerimise lõpp 15.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
Lisaeksam kevadsemestri eelnädalal:&lt;br /&gt;
* &#039;&#039;&#039;30.jaanuar&#039;&#039;&#039; 2014 (neljapäeval), VIA-229, kell 12.00 (registreerimise lõpp 29.jaan kl 12:00)&lt;br /&gt;
&lt;br /&gt;
== Hindamispõhimõtted ==&lt;br /&gt;
&lt;br /&gt;
* Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.&lt;br /&gt;
* Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.&lt;br /&gt;
* Eksamile pääsemiseks peavad olema sooritatud &#039;&#039;&#039;vähemalt kolm&#039;&#039;&#039; neljast kodusest ülesandest.&lt;br /&gt;
* Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 90.&lt;br /&gt;
* Ülesannete esitamise &#039;&#039;&#039;tähtajad on rühmapõhised&#039;&#039;&#039; - vastavalt tunniplaanis märgitule.&lt;br /&gt;
* Iga hilinenud ülesande eest saab &#039;&#039;&#039;kuni pooled punktid&#039;&#039;&#039; (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).&lt;br /&gt;
* Hilinenud ülesannet saab ette näidata &#039;&#039;&#039;kuni 3 nädalat&#039;&#039;&#039; pärast tähtaega (koduülsannete intervall on 4 nädalat, eesmärk on eraldada vana ülesande teine tähtaeg ja uue ülesande põhitähtaeg)&lt;br /&gt;
* Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.&lt;br /&gt;
* Iga ülesanne tuleb programmeerida &#039;&#039;&#039;iseseisvalt&#039;&#039;&#039; ja näidata/kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!&lt;br /&gt;
* Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.&lt;br /&gt;
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.&lt;br /&gt;
&lt;br /&gt;
Täpsustav info &amp;lt;b&amp;gt;eelmisel kursusel tehtud praktikumitööde kohta&amp;lt;/b&amp;gt;: kui oled eelmine kord saanud  punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. &lt;br /&gt;
&lt;br /&gt;
Teiste sõnadega: vanad praktikumitulemused kehtivad &amp;lt;b&amp;gt;ainult&amp;lt;/b&amp;gt;  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Eksamil&amp;lt;/b&amp;gt; osalemine eeldab vähemalt kolme sooritatud praktikumitööd (kodutööd) neljast. Eksamil saab punkte 0-60.  Eksami punktide arv alla 20 (60st) annab automaatselt tulemuseks 0. Muudel juhtudel liidetakse praktikumipunktid ja eksamipunktid ning hindevahemikud on &#039;&#039;&#039;51-60, 61-70, …, 91-100&#039;&#039;&#039;. Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.&lt;br /&gt;
&lt;br /&gt;
== Loengu/praktikumi materjalid ==&lt;br /&gt;
# java, eclipse, checktyle, hello-world&lt;br /&gt;
## [https://docs.google.com/presentation/d/1VC_HpsLVHH0evnWAeaQFYinu3LiNwoQOlw6oYc8WFOE/present#slide=id.p14 I loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1O4sQqaxqxkxmTgy_Ld-4DoSRJy8ZFN8eISXa_244_Mc/present#slide=id.p13 I praktikum]&lt;br /&gt;
# stdio, control-structures, arrays, String, IOException&lt;br /&gt;
## [https://docs.google.com/presentation/d/1SaSDKwS3tR8N7KC2xNkojXl0MZtTTC5MJD9zyQU5Dp0/present#slide=id.p14 II loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1vq5eTmUwj-NlkZC-HIXlcTPV663d3bIP9dpDm9-Qx0E/present#slide=id.p13 II praktikum]&lt;br /&gt;
# mehtods &amp;amp; classes, no code duplication, method signature, classes as structures + methods ~= OOP, arrays&lt;br /&gt;
## [https://docs.google.com/presentation/d/1qk2WQ9JG0RXlSw06bvz3H2XfR9MYVx5N2yvF-78qNVI/present#slide=id.p14 III loeng]&lt;br /&gt;
## [https://docs.google.com/presentation/d/1FPOJTpO7Z4KLQa8so5Q7qLT8n2Kd0TdUs1LdMOhJWZ4/present#slide=id.p13 III praktikum]&lt;br /&gt;
# exception, throw, try-catch-finally, i/o stream, wrapping, file, url&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZNkhZVUhvOEJxZ2M/edit?usp=sharing IV loeng]&lt;br /&gt;
## (praktikumides toimus koduste tööde kaitsmine)&lt;br /&gt;
# command-line arguments, date&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZdjdaYVk3S20yMWc/edit?usp=sharing V loeng]&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZc3ZCdDJLTUxJaVE/edit?usp=sharing V praktikum]&lt;br /&gt;
# OOP&lt;br /&gt;
## [https://docs.google.com/presentation/d/12apBQ05p4hinlCA6rctzvBjWmQuDpS4C1a0i464T3UA/pub#slide=id.i0 VI loeng (Aivo Anier)]&lt;br /&gt;
# Android&lt;br /&gt;
## [https://docs.google.com/file/d/0BySJPpWnMYPZMS1BMVF0UlpsalE/edit?usp=sharing VII loeng (Tanel Tammet)]&lt;br /&gt;
# GUI&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing VIII loeng]&lt;br /&gt;
## (praktikumides toimub kodustes tööde kaitsmine)&lt;br /&gt;
# GUI jätk&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcXpUbzF3ZjVRMkU/edit?usp=sharing IX loeng]&lt;br /&gt;
## praktikumis JButton, ActionListener, [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/ButtonPanel.java ButtonPanel.java], [http://code.google.com/p/iti0011/source/browse/2013/src/praktikumid/w09/p4/interface_example/ interface example]&lt;br /&gt;
# III praktikum, binaarotsing, insert-sort, merge-sort, quick-sort&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZZFJDTUZzc3V5cUE/edit?usp=sharing X loeng]&lt;br /&gt;
## praktikumis MouseListener, MouseMotionListener, [http://code.google.com/p/iti0011/source/browse/#git%2F2013%2Fsrc%2Fpraktikumid%2Fw10%2Fp5 drawing example]&lt;br /&gt;
# III praktikum, threads&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZcjhmaGczMWlTejA/edit?usp=sharing XI loeng - threads]&lt;br /&gt;
## praktikumis kimp kodutöö raames undo näiteid&lt;br /&gt;
# II praktikumi kaitsmine, IV praktikumi tutvustus, Minimax, Alpha-Beta&lt;br /&gt;
## [https://drive.google.com/file/d/0BySJPpWnMYPZX2JVYVQxMTgwYm8/edit?usp=sharing XII loeng - gomoku, minimax, alpha-beta]&lt;br /&gt;
## (praktikumides III kodutöö kaitsmine)&lt;br /&gt;
&lt;br /&gt;
== Tööriistad ==&lt;br /&gt;
&lt;br /&gt;
Täpsustub esimese nädala jooksul!&amp;lt;br /&amp;gt;&lt;br /&gt;
* Eclipse (Kepler 4.3 + Checkstyle plugin): [http://dijkstra.cs.ttu.ee/~ago/eclipse-iti0011.zip eclipse-iti0011.zip]&lt;br /&gt;
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml&lt;br /&gt;
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed&lt;br /&gt;
** Selles konfiguratsioonis on need reeglid välja lülitatud&lt;br /&gt;
* &#039;&#039;&#039;NB&#039;&#039;&#039; [http://lambda.ee/wiki/ITI0011-13-Checkstyle Checkstyle plugini seadistamine]&lt;br /&gt;
* Git koodihaldushoidla: http://code.google.com/p/iti0011/&lt;br /&gt;
* Git-i sirvimiseks veebibrauseriga: http://code.google.com/p/iti0011/source/browse/#git/2013&lt;br /&gt;
* Kursuse teated: http://groups.google.com/group/iti0011&lt;br /&gt;
&lt;br /&gt;
== Õpik ==&lt;br /&gt;
&lt;br /&gt;
Tasuta e-book:&lt;br /&gt;
David Eck, Introduction to Programming Using Java , version 5, 2006 [[feed |.]]&lt;br /&gt;
&lt;br /&gt;
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes5.pdf)&lt;br /&gt;
[[Kimp| .]]&lt;/div&gt;</summary>
		<author><name>Ago</name></author>
	</entry>
</feed>