<?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=Gert</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=Gert"/>
	<link rel="alternate" type="text/html" href="http://www.lambda.ee/wiki/Eri:Kaast%C3%B6%C3%B6/Gert"/>
	<updated>2026-10-28T11:06:38Z</updated>
	<subtitle>Kasutaja kaastöö</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11251</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11251"/>
		<updated>2014-01-16T18:15:53Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* Hinde saamine */&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 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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11250</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11250"/>
		<updated>2014-01-16T18:09:14Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* Hinde saamine */&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 60 punkti. Eksam koosneb 10-st valikvastustega küsimusest ja 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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Dijkstra_(iti0140)&amp;diff=11157</id>
		<title>Dijkstra (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Dijkstra_(iti0140)&amp;diff=11157"/>
		<updated>2013-12-06T16:36:03Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ülesanne&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementeeri iseseisvalt Dijkstra algoritm ([http://en.wikipedia.org/wiki/Dijkstra&#039;s_algorithm]). Aluseks võib võtta vikipeedias näidatud pseudokoodi. (Optimeerimine ei ole hetkel tähtis. Tähtis on, et algoritmi tulemus oleks sama kui networkX enda implementatsioonis).&lt;br /&gt;
&lt;br /&gt;
Kontrolli oma lahenduse kattuvust NetworkX-s realiseeritud algoritmiga (dijkstra_path(G, source, target, weight=&#039;weight&#039;)) juhuslikel graafidel (võib kasutada eelmises tunnis antud generate_graph() või siis kasutada NetworkX juhuslike graafide genereerimise algoritmi)&lt;br /&gt;
&lt;br /&gt;
Huvi korral võib mõõta aega ja võrrelda enda ja networkX algoritmide kiiruse erinevust (näete oma algoritmi efektiivsust &amp;quot;optimeeritud&amp;quot; algoritmiga).&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11156</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11156"/>
		<updated>2013-12-06T16:34:58Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
== Õ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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11155</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11155"/>
		<updated>2013-12-06T16:34:24Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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 [http://www.lambda.ee/wiki/Dijkstra_(iti0140)|Dijkstra ü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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Dijkstra_(iti0140)&amp;diff=11154</id>
		<title>Dijkstra (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Dijkstra_(iti0140)&amp;diff=11154"/>
		<updated>2013-12-06T16:33:49Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ülesanne&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementeeri iseseisvalt Dijkstra algoritm ([http://en.wikipedia.org/wiki/Dijkstra&#039;s_algorithm]). Aluseks võib võtta vikipeedias näidatud pseudokoodi. (Tähtis on, et algoritmi tulemus oleks sama kui networkX enda implementatsioonis).&lt;br /&gt;
&lt;br /&gt;
Kontrolli oma lahenduse kattuvust NetworkX-s realiseeritud algoritmiga (dijkstra_path(G, source, target, weight=&#039;weight&#039;)) juhuslikel graafidel (võib kasutada eelmises tunnis antud generate_graph() või siis kasutada NetworkX juhuslike graafide genereerimise algoritmi)&lt;br /&gt;
&lt;br /&gt;
Huvi korral võib mõõta aega ja võrrelda enda ja networkX algoritmide kiiruse erinevust (näete oma algoritmi efektiivsust &amp;quot;optimeeritud&amp;quot; algoritmiga).&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Dijkstra_(iti0140)&amp;diff=11153</id>
		<title>Dijkstra (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Dijkstra_(iti0140)&amp;diff=11153"/>
		<updated>2013-12-06T16:31:52Z</updated>

		<summary type="html">&lt;p&gt;Gert: Uus lehekülg: &amp;#039;&amp;#039;&amp;#039;&amp;#039;Ülesanne&amp;#039;&amp;#039;&amp;#039;  Implementeerida iseseisvalt Dijkstra algoritm ([http://en.wikipedia.org/wiki/Dijkstra&amp;#039;s_algorithm]). Kontrollida oma lahenduse kattuvust NetworkX-s realiseeritud...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ülesanne&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implementeerida iseseisvalt Dijkstra algoritm ([http://en.wikipedia.org/wiki/Dijkstra&#039;s_algorithm]). Kontrollida oma lahenduse kattuvust NetworkX-s realiseeritud algoritmiga (dijkstra_path(G, source, target, weight=&#039;weight&#039;)) juhuslikel graafidel (võib kasutada eelmises tunnis antud generate_graph() või siis kasutada NetworkX juhuslike graafide genereerimise algoritmi)&lt;br /&gt;
&lt;br /&gt;
Huvi korral võib mõõta aega ja võrrelda enda ja networkX algoritmide kiiruse erinevust (näete oma algoritmi efektiivsust &amp;quot;optimeeritud&amp;quot; algoritmiga).&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11131</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11131"/>
		<updated>2013-12-03T12:46:19Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:L19.py&amp;diff=11130</id>
		<title>Fail:L19.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:L19.py&amp;diff=11130"/>
		<updated>2013-12-03T12:45:42Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11129</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11129"/>
		<updated>2013-12-03T12:44:11Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
19. tund [http://www.lambda.ee/w/images/6/6f/Loeng_19_-_DFS_BFS_Dijkstra.pdf DFS BFS Dijkstra]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Loeng_19_-_DFS_BFS_Dijkstra.pdf&amp;diff=11128</id>
		<title>Fail:Loeng 19 - DFS BFS Dijkstra.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Loeng_19_-_DFS_BFS_Dijkstra.pdf&amp;diff=11128"/>
		<updated>2013-12-03T12:43:31Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11117</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11117"/>
		<updated>2013-11-29T16:35:46Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lingid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/index.html http://networkx.github.io/documentation/latest/examples/index.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.html http://networkx.github.io/documentation/latest/reference/algorithms.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/drawing/index.html http://networkx.github.io/documentation/latest/examples/drawing/index.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skriptid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/b/bb/House_with_colors.py House with colors]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/0/05/Four_grids.py Four grids]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/a/ab/Edge_colormap.py Edge colormap]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/1/19/Weighted_graph.py Weighted graph]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/c/c2/Random_graph.py Random graph]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Random_graph.py&amp;diff=11116</id>
		<title>Fail:Random graph.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Random_graph.py&amp;diff=11116"/>
		<updated>2013-11-29T16:35:34Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11115</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11115"/>
		<updated>2013-11-29T16:35:21Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lingid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/index.html http://networkx.github.io/documentation/latest/examples/index.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.html http://networkx.github.io/documentation/latest/reference/algorithms.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/drawing/index.html http://networkx.github.io/documentation/latest/examples/drawing/index.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skriptid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/b/bb/House_with_colors.py House with colors]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/0/05/Four_grids.py Four grids]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/a/ab/Edge_colormap.py Edge colormap]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/1/19/Weighted_graph.py Weighted graph]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Weighted_graph.py&amp;diff=11114</id>
		<title>Fail:Weighted graph.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Weighted_graph.py&amp;diff=11114"/>
		<updated>2013-11-29T16:35:07Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11113</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11113"/>
		<updated>2013-11-29T16:34:51Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lingid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/index.html http://networkx.github.io/documentation/latest/examples/index.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.html http://networkx.github.io/documentation/latest/reference/algorithms.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/drawing/index.html http://networkx.github.io/documentation/latest/examples/drawing/index.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skriptid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/b/bb/House_with_colors.py House with colors]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/0/05/Four_grids.py Four grids]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/a/ab/Edge_colormap.py Edge colormap]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Edge_colormap.py&amp;diff=11112</id>
		<title>Fail:Edge colormap.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Edge_colormap.py&amp;diff=11112"/>
		<updated>2013-11-29T16:34:40Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11111</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11111"/>
		<updated>2013-11-29T16:34:15Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lingid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/index.html http://networkx.github.io/documentation/latest/examples/index.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.html http://networkx.github.io/documentation/latest/reference/algorithms.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/drawing/index.html http://networkx.github.io/documentation/latest/examples/drawing/index.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Skriptid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/b/bb/House_with_colors.py House with colors]&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/0/05/Four_grids.py Four grids]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Four_grids.py&amp;diff=11110</id>
		<title>Fail:Four grids.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Four_grids.py&amp;diff=11110"/>
		<updated>2013-11-29T16:34:02Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11109</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11109"/>
		<updated>2013-11-29T16:33:28Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lingid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/index.html http://networkx.github.io/documentation/latest/examples/index.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.html http://networkx.github.io/documentation/latest/reference/algorithms.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/drawing/index.html http://networkx.github.io/documentation/latest/examples/drawing/index.html]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Failid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://lambda.ee/w/images/b/bb/House_with_colors.py House with colors]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:House_with_colors.py&amp;diff=11108</id>
		<title>Fail:House with colors.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:House_with_colors.py&amp;diff=11108"/>
		<updated>2013-11-29T16:33:13Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11107</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11107"/>
		<updated>2013-11-29T16:32:17Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lingid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/index.html http://networkx.github.io/documentation/latest/examples/index.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.html http://networkx.github.io/documentation/latest/reference/algorithms.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html http://networkx.github.io/documentation/latest/reference/algorithms.shortest_paths.html]&lt;br /&gt;
&lt;br /&gt;
[http://networkx.github.io/documentation/latest/examples/drawing/index.html http://networkx.github.io/documentation/latest/examples/drawing/index.html]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11106</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11106"/>
		<updated>2013-11-29T16:31:34Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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]]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11105</id>
		<title>Graafid (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Graafid_(iti0140)&amp;diff=11105"/>
		<updated>2013-11-29T16:30:33Z</updated>

		<summary type="html">&lt;p&gt;Gert: Uus lehekülg: &amp;#039;Lingid  [http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lingid&lt;br /&gt;
&lt;br /&gt;
[http://illuminations.nctm.org/Activity.aspx?id=3550 http://illuminations.nctm.org/Activity.aspx?id=3550]&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11089</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11089"/>
		<updated>2013-11-22T16:51:12Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Timing.py&amp;diff=11088</id>
		<title>Fail:Timing.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Timing.py&amp;diff=11088"/>
		<updated>2013-11-22T16:50:40Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Otsing_(iti0140)&amp;diff=11068</id>
		<title>Otsing (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Otsing_(iti0140)&amp;diff=11068"/>
		<updated>2013-11-19T17:24:46Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Realiseerida etteantud mooduli peale kaks otsingu algoritmi: jada- ja kahendotsing. gimme_my_input funktsioonist saab kätte tuple, kus esimene element on list ja teine listi genereerimiseks kasutatud juhuslike numbrite generaator. Kasutades generaatorit uute numbrite võtmiseks, sooritada listi pikkus korda otsinguid saadud listist. Kõigepealt tehes seda jadaotsinguga, siis kahendotsinguga.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Kahendotsingu sooritamiseks tuleks list enne ära sortida mõne pythoni sisseehitatud sortimisega. Jadaotsing ja kahendotsing realiseerida ise, jadaotsingu puhul teha ka tsükkel ise. Kahendotsingu lahendamiseks tuletage meelde, kuidas mängida arvu arvamise mängu.&lt;br /&gt;
&lt;br /&gt;
0. Ma mõtlen numbrist 0-100 vahel (nt 72).&lt;br /&gt;
&lt;br /&gt;
1. Kas on 50-st suurem? Jah -&amp;gt; 50-100 vahel.&lt;br /&gt;
&lt;br /&gt;
2. Kas on 75-st suurem? Ei -&amp;gt; 50-75 vahel.&lt;br /&gt;
&lt;br /&gt;
3. Kas on 62-st suurem? Jah -&amp;gt; 62-75 vahel.&lt;br /&gt;
&lt;br /&gt;
4. Kas on 68-st suurem? Jah -&amp;gt; 68-75 vahel.&lt;br /&gt;
&lt;br /&gt;
5. Kas on 71-st suurem? Jah -&amp;gt; 71-75 vahel.&lt;br /&gt;
&lt;br /&gt;
6. Kas on 73-st suurem? Ei -&amp;gt; 71-73 vahel.&lt;br /&gt;
&lt;br /&gt;
7. Kas on 72? Jah&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Otsingu sooritamisel ei tohiks teha uusi liste. Kasutage olemaolevat listi ja ülemise ning alumise raja indeksit.&lt;br /&gt;
&lt;br /&gt;
Otsingufunktsioonide definitsioonideks võiks kasutada järgnevat. Teha eraldi funktsioonid sisendi saamiseks ja otsingute väljakutsumiseks.&lt;br /&gt;
	&lt;br /&gt;
    &#039;&#039;&#039;def linear_search(lst, num):&#039;&#039;&#039;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Return True if found, False otherwise.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;def binary_search(lst, num):&#039;&#039;&#039;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Return True if found, False otherwise.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11067</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11067"/>
		<updated>2013-11-19T17:23:37Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
== Õ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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Otsing_(iti0140)&amp;diff=11066</id>
		<title>Otsing (iti0140)</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Otsing_(iti0140)&amp;diff=11066"/>
		<updated>2013-11-19T17:21:40Z</updated>

		<summary type="html">&lt;p&gt;Gert: Uus lehekülg: &amp;#039;&amp;#039;&amp;#039;&amp;#039;Realiseerida etteantud mooduli peale kaks otsingu algoritmi: jada- ja kahendotsing. gimme_my_input funktsioonist saab kätte tuple, kus esimene element on list ja teine listi ...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Realiseerida etteantud mooduli peale kaks otsingu algoritmi: jada- ja kahendotsing. gimme_my_input funktsioonist saab kätte tuple, kus esimene element on list ja teine listi genereerimiseks kasutatud juhuslike numbrite generaator. Kasutades generaatorit uute numbrite võtmiseks, sooritada listi pikkus korda otsinguid saadud listist. Kõigepealt tehes seda jadaotsinguga, siis kahendotsinguga.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Kahendotsingu sooritamiseks tuleks list enne ära sortida mõne pythoni sisseehitatud sortimisega. Jadaotsing ja kahendotsing realiseerida ise, jadaotsingu puhul teha ka tsükkel ise. Kahendotsingu lahendamiseks tuletage meelde, kuidas mängida arvu arvamise mängu.&lt;br /&gt;
&lt;br /&gt;
0. Ma mõtlen numbrist 0-100 vahel (ntx 72).&lt;br /&gt;
&lt;br /&gt;
1. Kas on 50-st suurem? Jah -&amp;gt; 50-100 vahel.&lt;br /&gt;
&lt;br /&gt;
2. Kas on 75-st suurem? Ei -&amp;gt; 50-75 vahel.&lt;br /&gt;
&lt;br /&gt;
3. Kas on 62-st suurem? Jah -&amp;gt; 62-75 vahel.&lt;br /&gt;
&lt;br /&gt;
4. Kas on 68-st suurem? Jah -&amp;gt; 68-75 vahel.&lt;br /&gt;
&lt;br /&gt;
5. Kas on 71-st suurem? Jah -&amp;gt; 71-75 vahel.&lt;br /&gt;
&lt;br /&gt;
6. Kas on 73-st suurem? Ei -&amp;gt; 71-73 vahel.&lt;br /&gt;
&lt;br /&gt;
7. Kas on 72? Jah&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Otsingu sooritamisel ei tohiks teha uusi liste. Kasutage olemaolevat listi ja ülemise ning alumise raja indeksit.&lt;br /&gt;
&lt;br /&gt;
Otsingufunktsioonide definitsioonideks võiks kasutada järgnevat. Teha eraldi funktsioonid sisendi saamiseks ja otsingute väljakutsumiseks.&lt;br /&gt;
	&lt;br /&gt;
    &#039;&#039;&#039;def linear_search(lst, num):&#039;&#039;&#039;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Return True if found, False otherwise.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
&lt;br /&gt;
    &#039;&#039;&#039;def binary_search(lst, num):&#039;&#039;&#039;&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    Return True if found, False otherwise.&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11064</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=11064"/>
		<updated>2013-11-19T12:30:26Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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 [http://www.lambda.ee/w/images/9/99/Tund16gen.py Otsing]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Tund16gen.py&amp;diff=11063</id>
		<title>Fail:Tund16gen.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Tund16gen.py&amp;diff=11063"/>
		<updated>2013-11-19T12:29:12Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Loeng_13_-_Image_processing_2.pdf&amp;diff=10995</id>
		<title>Fail:Loeng 13 - Image processing 2.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Loeng_13_-_Image_processing_2.pdf&amp;diff=10995"/>
		<updated>2013-11-05T12:59:13Z</updated>

		<summary type="html">&lt;p&gt;Gert: laadis üles faili &amp;amp;quot;Pilt:Loeng 13 - Image processing 2.pdf&amp;amp;quot; uue versiooni&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10994</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10994"/>
		<updated>2013-11-05T12:10:00Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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;
== Õ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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Loeng_13_-_Image_processing_2.pdf&amp;diff=10993</id>
		<title>Fail:Loeng 13 - Image processing 2.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Loeng_13_-_Image_processing_2.pdf&amp;diff=10993"/>
		<updated>2013-11-05T12:09:39Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10991</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10991"/>
		<updated>2013-11-01T16:40:27Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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 manipulation] ([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;
== Õ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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Imagemagick.py&amp;diff=10990</id>
		<title>Fail:Imagemagick.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Imagemagick.py&amp;diff=10990"/>
		<updated>2013-11-01T16:39:49Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10989</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10989"/>
		<updated>2013-11-01T16:36:21Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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 manipulation] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10988</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10988"/>
		<updated>2013-11-01T16:36:03Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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!] ([http://www.lambda.ee/w/images/d/de/Yl12.py Pillow näide)]&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 manipulation]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Yl12.py&amp;diff=10987</id>
		<title>Fail:Yl12.py</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Yl12.py&amp;diff=10987"/>
		<updated>2013-11-01T16:35:42Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10986</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10986"/>
		<updated>2013-11-01T16:33:12Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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 manipulation]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Loeng_12_-_Image_manipulation.pdf&amp;diff=10985</id>
		<title>Fail:Loeng 12 - Image manipulation.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Loeng_12_-_Image_manipulation.pdf&amp;diff=10985"/>
		<updated>2013-11-01T16:32:47Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10964</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10964"/>
		<updated>2013-10-25T15:19:33Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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;
== Õ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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Loeng_11_-_Regular_expressions.pdf&amp;diff=10963</id>
		<title>Fail:Loeng 11 - Regular expressions.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Loeng_11_-_Regular_expressions.pdf&amp;diff=10963"/>
		<updated>2013-10-25T15:19:16Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10942</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10942"/>
		<updated>2013-10-22T11:22:39Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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;
== Õ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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10941</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10941"/>
		<updated>2013-10-22T11:22:26Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10940</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10940"/>
		<updated>2013-10-22T11:22:03Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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 Ülesanne nr 5]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10939</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10939"/>
		<updated>2013-10-22T11:20:59Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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]&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=Fail:Loeng_10_-_Lambda,_comprehensions_and_generator.pdf&amp;diff=10938</id>
		<title>Fail:Loeng 10 - Lambda, comprehensions and generator.pdf</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=Fail:Loeng_10_-_Lambda,_comprehensions_and_generator.pdf&amp;diff=10938"/>
		<updated>2013-10-22T11:19:46Z</updated>

		<summary type="html">&lt;p&gt;Gert: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10937</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10937"/>
		<updated>2013-10-22T11:19:02Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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&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>Gert</name></author>
	</entry>
	<entry>
		<id>http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10934</id>
		<title>ITI0140</title>
		<link rel="alternate" type="text/html" href="http://www.lambda.ee/w/index.php?title=ITI0140&amp;diff=10934"/>
		<updated>2013-10-22T00:28:12Z</updated>

		<summary type="html">&lt;p&gt;Gert: /* 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;
&#039;&#039;&#039;Aine on deklareerimiseks avatud&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; 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;
== Õ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>Gert</name></author>
	</entry>
</feed>