Programmeerimise põhikursus 2008: erinevus redaktsioonide vahel

Allikas: Lambda
Mine navigeerimisribale Mine otsikasti
Resümee puudub
Resümee puudub
1. rida: 1. rida:
Ainekood: <b>ITI0010</b><br>
Ainekood: <b>ITI0010</b><br>
Link: http://www.lambda.ee/index/Programmeerimise_põhikursus ehk http://www.lambda.ee/index/iti0010<br>
Link: http://www.lambda.ee/index/Programmeerimise_põhikursus ehk http://www.lambda.ee/index/iti0010<br>
Eelmise aasta (2004 sügis) link: http://cs.ttu.ee/kursused/iti0010/<br>


Lektor: Tanel Tammet<br>
Lektor: Tanel Tammet<br>
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223<br>
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223<br>
Praktikumijuhendajad: priit.potter@webmedia.ee, Kristjan.Haavik@seb.se (vt allpool praktikumiaegu!)
<!-- Praktikumijuhendajad: priit.potter@webmedia.ee, Kristjan.Haavik@seb.se (vt allpool praktikumiaegu!) -->




== TTÜ <font color="red">järeleksam  eelnädalal: august 2006</font> ==
Eelnädala järeleksam toimub 30 augustil (kolmapäev) kell 10.00 küberneetika instituudis: koguneda Jüri Vainu kabineti juurde (juhtimissüsteemide
osakond, kolmas korrus). Materjalid ja kontroll on T.Tammetilt, kuid ta viibib eelnädalal eestist eemal.
== Lõpptulemused: arvestused, võistlus ja eksamid ==
Viis nuppu ritta võistluse (vt [[Praktikumitöö:mõtlemismäng | ülesande kirjeldust)]] finaalis
mängisid vastamisi Vaiko Karusioni - Raul Tammesalu programmid, võitjaks tuli Raul Tammesalu. Võistluse kulgemisest, programmidest ja turniiri käigust loe siit: [[viis nuppu ritta turniir]].
Hinded sessi järel (kahe eksami kokkuvõttes) on nüüd  [[Media:ITI0010_eksam2_2005_pub.htm|siin, selle lingi all]].
Hindamispõhimõtted:
* Positiivse hinde miinimumkriteeriumideks on 25 punkti eksami 60-st ja 45 punkti kokkuvõtvast 100-st.
* Siin lehel varemilmunud praktikumipunktide kokkuvõtte järel tulnud parandused on kontrollitud ja sisse viidud (palun vaadake igaüks oma tulemus siiski veelkord üle!)
* Neile, kellele see kursus oli kerge: ehk osaleks kursusel, mis tuleb sel kevadel: [http://cs.ttu.ee/kursused/itv0100/ Programmeerimise erikursus]
Järeleksamid toimuvad 2006 maikuus ja sügissemestri eelnädalal. Konkreetne info aja ning koha kohta ilmub siia lehele aprillis.


== Aeg, koht, tulemus ==
== Aeg, koht, tulemus ==


<b>Eksamiajad</b>:
Loengud: Igal kolmapäeval kell 14.00-15.30, ruumis VII-131<br>
* Põhieksam: 21. detsember (kolmapäev) kell 12.00-15.00 ruumis VII-131
* Järeleksam sessi sees: 9. jaanuar (esmaspäev) kell 9.00-12.00 ruumis VII-131
* <b>Lisa-järeleksami ajad sessi sees (neile, kes ei teinud 9. jaanuaril järeleksamit):</b> 10. jaanuar (teisipäev) kell 9.00-12.00 ruumis VI-201 ning 11. jaanuar (kolmapäev)  kell 9.00-12.00 ruumis VI-201
 
Loengud: Igal esmaspäeval kell 10.00-11.30, ruumis VII-131<br>
Semester: sügis<br>
Semester: sügis<br>
Tulemus: kirjalik eksam, mille eelduseks ja üheks punktiosaks on praktikumiülesanded.<br>
Tulemus: kirjalik eksam, mille eelduseks ja üheks punktiosaks on praktikumiülesanded.<br>
42. rida: 17. rida:


Praktikum: kord nädalas a 2*45 minutit, AK arvutiklassides <b>IT-213</b>.  
Praktikum: kord nädalas a 2*45 minutit, AK arvutiklassides <b>IT-213</b>.  
Rühmadel on erinevad ajad ja juhendajad:
Rühmadel on erinevad ajad ja juhendajad. Ajad on järgmised
(vaata oma rühma üldisest tunniplaanist, mis aeg sinu rühmal on!):


* IAPB37, IABB32: Esmaspäev 12.00-13.30 ruumides A,B,H. Juhendaja: Priit Potter.
* Teisipäev 17.45 - 19.15, ruumides C, D
* IABB37, IABB31, YAGM11: Teisipäev 8.00-9.30 ruumides A,B,C. Juhendaja: Kristjan Haavik.
* Teisipäev 18.00 - 19.30, ruumides C,D
* IAPB31, IAPB33: Kolmapäev 8.00-9.30 ruumides A,B,E,I. Juhendaja: Kristjan Haavik.
* Kolmapäev 18.00 - 19.30, ruumides C,D
* IANM11, IAPB32: Reede 8.00-9.30 ruumides E,I,D. Juhendaja: Priit Potter.
* Reede 14.30 - 16.00, ruumides A,B,C
* YASM11: iga tudengi vaba valik eeltoodud aegadest
* Reede 16.00-17.30, ruumides A,B,C


<b>NB!</b> Kui tunniplaanis on kirjas teistsugused ajad, siis kehtivad ikkagi siintoodud
<!-- <b>NB!</b> Kui tunniplaanis on kirjas teistsugused ajad, siis kehtivad ikkagi siintoodud
ajad/kohad: nimelt sellised on õppetalituses kokku lepitud, ning võib lihtsalt juhtuda,
ajad/kohad: nimelt sellised on õppetalituses kokku lepitud, ning võib lihtsalt juhtuda,
et üldises tunniplaanis on muutused veel sisse viimata või on mõni näpukas tehtud.
et üldises tunniplaanis on muutused veel sisse viimata või on mõni näpukas tehtud. -->


== Kursuse eesmärk ==
== Kursuse eesmärk ==
80. rida: 56. rida:
'''NB!''' Tutvustusülesannet ei juhendata ega kontrollita. See tuleks iseseisvalt ära teha esimese õppetöö nädala jooksul.
'''NB!''' Tutvustusülesannet ei juhendata ega kontrollita. See tuleks iseseisvalt ära teha esimese õppetöö nädala jooksul.


# Esimene rakendus: [[tikumängu ülesanne]], ainult tekstiliides. Tähtaeg: 24. september.
# Esimene rakendus: [[tikumängu ülesanne]], ainult tekstiliides. Tähtaeg: 29. september.
# Tekstifailidest [[Praktikumitöö: mikroandmebaas | mikroandmebaas]], ainult tekstiliides. Tähtaeg: 22 oktoober.
 
# GUI-ga [[Praktikumitöö:võrgurakendus | graafiline võrgurakendus]] (http-d kasutav klient). Tähtaeg: 19. november
Järgmised ülesanded on 2005 aasta sügisest ja illustratiivsed: 2006 ülesanded tulevad veidi sarnased,
# [[Praktikumitöö:mõtlemismäng | Mõtlemismäng (otsing mängupuust)]] viis nuppu ritta. Tähtaeg: 17. detsember.  
aga mitte samad. Seega: <b>järgmised ülesanded ei ole 2006 aasta jaoks kehtivad</b>! Uuendatud
versioonid ilmuvad võrku veidi enne eelmise ülesande lõputähtaega. Kuupäevad on siiski uuendatud
ja õiged.
 
# Tekstifailidest [[Praktikumitöö: mikroandmebaas | mikroandmebaas]], ainult tekstiliides. Tähtaeg: 27 oktoober.
# GUI-ga [[Praktikumitöö:võrgurakendus | graafiline võrgurakendus]] (http-d kasutav klient). Tähtaeg: 24. november
# [[Praktikumitöö:mõtlemismäng | Mõtlemismäng (otsing mängupuust)]] viis nuppu ritta. Tähtaeg: 22. detsember.  


NB! Arvesta järgmist:
NB! Arvesta järgmist:
90. rida: 72. rida:
* Juhul, kui üks neljast ülesandest jääb realiseerimata, saab selle eest eksamil 10 trahvipunkti (eksami maksimumpunktid on 100)
* Juhul, kui üks neljast ülesandest jääb realiseerimata, saab selle eest eksamil 10 trahvipunkti (eksami maksimumpunktid on 100)
* Iga hilinenud ülesanne annab 5 trahvipunkti.
* Iga hilinenud ülesanne annab 5 trahvipunkti.
* Pärast 17. detsembrit ei aktsepteerita enam ühtegi ülesannet.
* Pärast 22. detsembrit ei aktsepteerita enam ühtegi ülesannet.
* Iga ülesanne tuleb programmeerida iseseisvalt ja näidata praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!
* Iga ülesanne tuleb programmeerida iseseisvalt ja näidata praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.
* Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.


Täpsustav info <b>2004 sügisel tehtud praktikumitööde kohta</b>: kui oled 2004 sügissemestril saanud  punkte (vt [http://cs.ttu.ee/kursused/iti0010/ siit lehelt]), siis saad neid 2005 sügissemestril kasutada ainult juhul, kui said 2004 eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. Teiste sõnadega: vanad praktikumitulemused kehtivad <b>ainult</b>  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.
Täpsustav info <b>2005 sügisel tehtud praktikumitööde kohta</b>: kui oled 2005 sügissemestril saanud  punkte  
(vt [[Media:ITI0010_eksam2_2005_pub.htm|siit leheltl]]), siis saad neid 2006 sügissemestril kasutada ainult juhul, kui said 2005 eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. Teiste sõnadega: vanad praktikumitulemused kehtivad <b>ainult</b>  juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.


Praktikumide vahetulemused hakkavad semestri jooksul siia lehele ilmuma, kuid märgatava viivitusega.
Praktikumide vahetulemused hakkavad semestri jooksul siia lehele ilmuma, kuid märgatava viivitusega.
103. rida: 86. rida:


; 1. Sissejuhatus, meeldetuletus, Java kasutamine, Java ja C võrdlus, lihtsad näited. Muutujad, andmetüübid.
; 1. Sissejuhatus, meeldetuletus, Java kasutamine, Java ja C võrdlus, lihtsad näited. Muutujad, andmetüübid.
:Aeg: 28 august.
:Aeg: 6 september.
:Loengumaterjal: [[Media:Progpohi1.PPT|Progpohi1.PPT]],  
:Loengumaterjal: [[Media:Progpohi1.PPT|Progpohi1.PPT]],  
:Lugeda: D.Eck ptk 1, 2.
:Lugeda: D.Eck ptk 1, 2.
112. rida: 95. rida:


; 2. Juhtimiskonstruktsioonid ja tsüklid. Lihtandmed.
; 2. Juhtimiskonstruktsioonid ja tsüklid. Lihtandmed.
:Aeg: 5 september.
:Aeg: 13 september.
:Loengumaterjal: [[Media:Progpohi2.PPT|Progpohi2.PPT]],  
:Loengumaterjal: [[Media:Progpohi2.PPT|Progpohi2.PPT]],  
:Lugeda: D.Eck ptk 3, 4.
:Lugeda: D.Eck ptk 3, 4.


; 3. Funktsioonid, klassid. Kompleksandmed: eeskätt stringid ja massiivid.
; 3. Funktsioonid, klassid. Kompleksandmed: eeskätt stringid ja massiivid.
:Aeg: 12 september.
:Aeg: 20 september.
:Loengumaterjal: [[Media:Progpohi3.PPT|Progpohi3.PPT]],  
:Loengumaterjal: [[Media:Progpohi3.PPT|Progpohi3.PPT]],  
:Lugeda: D.Eck ptk 4, 5 algus, 8.
:Lugeda: D.Eck ptk 4, 5 algus, 8.


; 4. Massiivide jätk. Veatöötlus. Failid.
; 4. Massiivide jätk. Veatöötlus. Failid.
:Aeg: 19 september.
:Aeg: 27 september.
:Loengus vaatasime [[Praktikumitöö: mikroandmebaas | mikroandmebaasi]] praktikumi ülesannet ja järgnevat loengumaterjali kuni failideni.
:Loengus vaatasime [[Praktikumitöö: mikroandmebaas | mikroandmebaasi]] praktikumi ülesannet ja järgnevat loengumaterjali kuni failideni.
:Loengumaterjal: [[Media:Progpohi4.PPT|Progpohi4.PPT]],  
:Loengumaterjal: [[Media:Progpohi4.PPT|Progpohi4.PPT]],  
128. rida: 111. rida:


; 5. Failid ja praktikumitöö parseri-osa
; 5. Failid ja praktikumitöö parseri-osa
:Aeg: 26 september.
:Aeg:  
:Loengu alguses programmeerisime teise praktikumitöö parseri-osa.
:Loengu alguses programmeerisime teise praktikumitöö parseri-osa.
:Loengu teises pooles vaatame eelmise loengumaterjali [[Media:Progpohi4.PPT|Progpohi4.PPT]] failide-osa.  
:Loengu teises pooles vaatame eelmise loengumaterjali [[Media:Progpohi4.PPT|Progpohi4.PPT]] failide-osa.  


; 6. Objektid ja klassid.
; 6. Objektid ja klassid.
:Aeg: 3 oktoober.
:Aeg:  
:Loengumaterjal objektidest: [[Media:Progpohi5.PPT|Progpohi5.PPT]],  
:Loengumaterjal objektidest: [[Media:Progpohi5.PPT|Progpohi5.PPT]],  
:Lugeda: D.Eck 5
:Lugeda: D.Eck 5


; 7. Graafika ja kasutajaliidese sissejuhatus.
; 7. Graafika ja kasutajaliidese sissejuhatus.
:Aeg: 10 oktoober.
:Aeg:  
:Loengumaterjal: [[Media:Progpohi7.PPT|Progpohi7.PPT]],  koodinäited loengust [[Media:javagraphexamples.zip|javagraphexamples.zip]]
:Loengumaterjal: [[Media:Progpohi7.PPT|Progpohi7.PPT]],  koodinäited loengust [[Media:javagraphexamples.zip|javagraphexamples.zip]]
:Lugeda: D.Eck 6 ptk 1-4.
:Lugeda: D.Eck 6 ptk 1-4.


; 8. Graafika ja kasutajaliidese jätk.
; 8. Graafika ja kasutajaliidese jätk.
:Aeg: 17 oktoober.
:Aeg:  
:Loengumaterjal: eelmise loengumaterjali [[Media:Progpohi7.PPT|Progpohi7.PPT]] teine pool,  mõned uued koodinäited loengust [[Media:javagraphexamples2.zip|javagraphexamples2.zip]]
:Loengumaterjal: eelmise loengumaterjali [[Media:Progpohi7.PPT|Progpohi7.PPT]] teine pool,  mõned uued koodinäited loengust [[Media:javagraphexamples2.zip|javagraphexamples2.zip]]
:Lugeda: D.Eck 6 ptk lõpuni, 7 ptk.
:Lugeda: D.Eck 6 ptk lõpuni, 7 ptk.


; 9. Graafika ja kasutajaliides: kolmanda praktikumi sissejuhatus
; 9. Graafika ja kasutajaliides: kolmanda praktikumi sissejuhatus
:Aeg: 24 oktoober.
:Aeg:  


; 10. Praktikumiabi jätk. Seejärel binaarne otsing ja sorteerimine.
; 10. Praktikumiabi jätk. Seejärel binaarne otsing ja sorteerimine.
:Aeg: 31 oktoober.
:Aeg:  
:Loengumaterjal: [[Media:Progpohi10.PPT|Progpohi10.PPT]]  
:Loengumaterjal: [[Media:Progpohi10.PPT|Progpohi10.PPT]]  
:Lugeda: D.Eck ptk 8.4: Searching and Sorting, [http://linux.wku.edu/%7Elamonml/algor/sort/sort.html analüüse ja seletusi].
:Lugeda: D.Eck ptk 8.4: Searching and Sorting, [http://linux.wku.edu/%7Elamonml/algor/sort/sort.html analüüse ja seletusi].
157. rida: 140. rida:


; 11. Otsingualgoritmide algus. Travelling salesman problem.
; 11. Otsingualgoritmide algus. Travelling salesman problem.
:Aeg: 7 november.
:Aeg:  
:Loengumaterjal: [[Media:Progpohi11.PPT|Progpohi11.PPT]]  
:Loengumaterjal: [[Media:Progpohi11.PPT|Progpohi11.PPT]]  
:Lisamaterjal: [[Media:searchadditional2.ppt|searchadditional2.ppt]]  
:Lisamaterjal: [[Media:searchadditional2.ppt|searchadditional2.ppt]]  
163. rida: 146. rida:


; 12. Mõtlemismängud: male, viis nuppu ritta jne.  
; 12. Mõtlemismängud: male, viis nuppu ritta jne.  
:Aeg: 14 november.
:Aeg:
:Neljanda praktikumi sissejuhatus.
:Neljanda praktikumi sissejuhatus.
:Loengumaterjal: [[Media:Progpohi12.PPT|Progpohi12.PPT]]  
:Loengumaterjal: [[Media:Progpohi12.PPT|Progpohi12.PPT]]  
174. rida: 157. rida:


; 13. Listid, puud, stack.  
; 13. Listid, puud, stack.  
:Aeg: 21 november.
:Aeg:  
:Vaatasime lisaks ka neljanda praktikumi detaile.
:Vaatasime lisaks ka neljanda praktikumi detaile.
:Loengumaterjal: [[Media:Progpohi13.PPT|Progpohi13.PPT]]  
:Loengumaterjal: [[Media:Progpohi13.PPT|Progpohi13.PPT]]  
180. rida: 163. rida:


; 14. Avaldise süntaksianalüüs (parser). Keerukamad puud.
; 14. Avaldise süntaksianalüüs (parser). Keerukamad puud.
:Aeg: 28 november.
:Aeg:  
:Loengumaterjal: [[Media:Progpohi14.PPT|Progpohi14.PPT]]  
:Loengumaterjal: [[Media:Progpohi14.PPT|Progpohi14.PPT]]  
:Loengus kirjutatud parser: [[parse1.java]]
:Loengus kirjutatud parser: [[parse1.java]]
186. rida: 169. rida:


; 15. Plaanis: süntaksianalüüsi jätk: hash ja puud. Threadide algus.
; 15. Plaanis: süntaksianalüüsi jätk: hash ja puud. Threadide algus.
:Aeg: 5 detsember.
:Aeg:  
:Loengumaterjalid: [[Media:Progpohi15.PPT|Progpohi15.PPT]] ja [[Media:Progpohithreads.PPT|Progpohithreads.PPT]]  
:Loengumaterjalid: [[Media:Progpohi15.PPT|Progpohi15.PPT]] ja [[Media:Progpohithreads.PPT|Progpohithreads.PPT]]  
:Lugeda: D.Eck ptk 10 osa 5.
:Lugeda: D.Eck ptk 10 osa 5.


; 16. Plaanis: threadide jätk. Konsultatsioon eksamiks.
; 16. Plaanis: threadide jätk. Konsultatsioon eksamiks.
:Aeg: 12 detsember.
:Aeg:  
:Loengumaterjal: eelmise loengu materjal jätkub.
:Loengumaterjal: eelmise loengu materjal jätkub.



Redaktsioon: 5. september 2006, kell 23:15

Ainekood: ITI0010
Link: http://www.lambda.ee/index/Programmeerimise_põhikursus ehk http://www.lambda.ee/index/iti0010

Lektor: Tanel Tammet
Kontakt: tammet@staff.ttu.ee, 6203457, TTÜ AK223


Aeg, koht, tulemus

Loengud: Igal kolmapäeval kell 14.00-15.30, ruumis VII-131
Semester: sügis
Tulemus: kirjalik eksam, mille eelduseks ja üheks punktiosaks on praktikumiülesanded.
Punkte: 3.5
Eeldusaine: IAG3103 Informaatika II

Praktikum: kord nädalas a 2*45 minutit, AK arvutiklassides IT-213. Rühmadel on erinevad ajad ja juhendajad. Ajad on järgmised (vaata oma rühma üldisest tunniplaanist, mis aeg sinu rühmal on!):

  • Teisipäev 17.45 - 19.15, ruumides C, D
  • Teisipäev 18.00 - 19.30, ruumides C,D
  • Kolmapäev 18.00 - 19.30, ruumides C,D
  • Reede 14.30 - 16.00, ruumides A,B,C
  • Reede 16.00-17.30, ruumides A,B,C


Kursuse eesmärk

Õpetada programmeerimise aluseid ja tehnoloogiat üldiselt, eeldades kerget varasemat kokkupuutumist programmeerimisega vähemalt eeldusaine Informaatika II mahus. Rõhk on praktiliste kogemuste ja oskuste omandamisel: iseseisev töö praktikumis on olulisem, kui õpiku lugemine. Märgatava osa loenguaega kulutab lektor kohapeal ette-programmeerimiseks.

Kursus on sisuliselt (kuid mitte tingimata formaalselt) vajalik eeldus kõigile spetsiifilisematele programmeerimiskursustele, nagu "algoritmid ja andmestruktuurid", "süsteemprogrammeerimine", "objektorienteeritud programmeerimine" jms. Baaskeelena kasutatakse Javat, vältides samas eriliselt Java-päraseid meetodeid, teeke jms. Praktikumides loodavad rakendused on reeglina käsurea ja omaette akendega rakendused, mitte apletid.


Õpik

Tasuta e-book: David Eck, Introduction to Programming Using Java , version 4.1, 2004 (http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes4.pdf)

Kursus jätab käsitlemata mõned osad õpikust, kuid lisab õpikule mitmeid täiendavaid peatükke ja osi. Viited vajalikele peatükkidele ja täiendavatele materjalidele on kas juba võrgus antud või lisatakse võrku loengute käigus.

NB! Raskuste ja probleemide korral on soovitav iseseisvalt lugeda läbi kogu David Ecki raamat ja teha iga peatüki juures mõned iseseisvad harjutused (raamatus on toodud ka näitelahendused).

Käesoleva lehe lõpuosas on antud ka täiendavaid lugemismaterjale.


Praktikumiülesanded ja tähtajad

Alustuseks tee ära: java tutvustusülesanne.

NB! Tutvustusülesannet ei juhendata ega kontrollita. See tuleks iseseisvalt ära teha esimese õppetöö nädala jooksul.

  1. Esimene rakendus: tikumängu ülesanne, ainult tekstiliides. Tähtaeg: 29. september.

Järgmised ülesanded on 2005 aasta sügisest ja illustratiivsed: 2006 ülesanded tulevad veidi sarnased, aga mitte samad. Seega: järgmised ülesanded ei ole 2006 aasta jaoks kehtivad! Uuendatud versioonid ilmuvad võrku veidi enne eelmise ülesande lõputähtaega. Kuupäevad on siiski uuendatud ja õiged.

  1. Tekstifailidest mikroandmebaas, ainult tekstiliides. Tähtaeg: 27 oktoober.
  2. GUI-ga graafiline võrgurakendus (http-d kasutav klient). Tähtaeg: 24. november
  3. Mõtlemismäng (otsing mängupuust) viis nuppu ritta. Tähtaeg: 22. detsember.

NB! Arvesta järgmist:

  • Eksamile pääsemiseks peavad olema sooritatud vähemalt kolm neljast praktikumi-ülesandest.
  • Juhul, kui üks neljast ülesandest jääb realiseerimata, saab selle eest eksamil 10 trahvipunkti (eksami maksimumpunktid on 100)
  • Iga hilinenud ülesanne annab 5 trahvipunkti.
  • Pärast 22. detsembrit ei aktsepteerita enam ühtegi ülesannet.
  • Iga ülesanne tuleb programmeerida iseseisvalt ja näidata praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!
  • Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata: juhendaja ei hakka reeglina ise õigeagselt uurima, et kas on ülesanne ikka tehtud.

Täpsustav info 2005 sügisel tehtud praktikumitööde kohta: kui oled 2005 sügissemestril saanud punkte (vt siit leheltl), siis saad neid 2006 sügissemestril kasutada ainult juhul, kui said 2005 eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema. Teiste sõnadega: vanad praktikumitulemused kehtivad ainult juba olemasoleva hinde parandamiseks, mitte aga olukorras, kus sa pole eksamil läbi saanud. Viimasel juhul pead lihtsalt tegema nullist selle aasta praktikumitööd.

Praktikumide vahetulemused hakkavad semestri jooksul siia lehele ilmuma, kuid märgatava viivitusega.

Loengute plaan ja materjalid

Loengute plaan on esialgne, töö käigus ilmub siia kindlasti muutusi. Seega, täpselt adekvaatsed ja õiged on need materjalid, mille loeng on kas juba läbi või tuleb järgmisena: kõik tuleviku-loenguid puudutavad materjalid on vanad, ning saavad loengu kättejõudmise ajaks mingil määral modifitseeritud ja täiendatud.

1. Sissejuhatus, meeldetuletus, Java kasutamine, Java ja C võrdlus, lihtsad näited. Muutujad, andmetüübid.
Aeg: 6 september.
Loengumaterjal: Progpohi1.PPT,
Lugeda: D.Eck ptk 1, 2.
Tutvuda:
2. Juhtimiskonstruktsioonid ja tsüklid. Lihtandmed.
Aeg: 13 september.
Loengumaterjal: Progpohi2.PPT,
Lugeda: D.Eck ptk 3, 4.
3. Funktsioonid, klassid. Kompleksandmed
eeskätt stringid ja massiivid.
Aeg: 20 september.
Loengumaterjal: Progpohi3.PPT,
Lugeda: D.Eck ptk 4, 5 algus, 8.
4. Massiivide jätk. Veatöötlus. Failid.
Aeg: 27 september.
Loengus vaatasime mikroandmebaasi praktikumi ülesannet ja järgnevat loengumaterjali kuni failideni.
Loengumaterjal: Progpohi4.PPT,
Lugeda: D.Eck 8,9,10
5. Failid ja praktikumitöö parseri-osa
Aeg:
Loengu alguses programmeerisime teise praktikumitöö parseri-osa.
Loengu teises pooles vaatame eelmise loengumaterjali Progpohi4.PPT failide-osa.
6. Objektid ja klassid.
Aeg:
Loengumaterjal objektidest: Progpohi5.PPT,
Lugeda: D.Eck 5
7. Graafika ja kasutajaliidese sissejuhatus.
Aeg:
Loengumaterjal: Progpohi7.PPT, koodinäited loengust javagraphexamples.zip
Lugeda: D.Eck 6 ptk 1-4.
8. Graafika ja kasutajaliidese jätk.
Aeg:
Loengumaterjal: eelmise loengumaterjali Progpohi7.PPT teine pool, mõned uued koodinäited loengust javagraphexamples2.zip
Lugeda: D.Eck 6 ptk lõpuni, 7 ptk.
9. Graafika ja kasutajaliides
kolmanda praktikumi sissejuhatus
Aeg:
10. Praktikumiabi jätk. Seejärel binaarne otsing ja sorteerimine.
Aeg:
Loengumaterjal: Progpohi10.PPT
Lugeda: D.Eck ptk 8.4: Searching and Sorting, analüüse ja seletusi.
Proovida: xsortlab, sorting demo, Sortingdemo.zip
11. Otsingualgoritmide algus. Travelling salesman problem.
Aeg:
Loengumaterjal: Progpohi11.PPT
Lisamaterjal: searchadditional2.ppt
Loengus kirjutatud näiteprogramm paari optimeeringuga: tsp.java
12. Mõtlemismängud
male, viis nuppu ritta jne.
Aeg:
Neljanda praktikumi sissejuhatus.
Loengumaterjal: Progpohi12.PPT
Lisaks:
http://en.wikipedia.org/wiki/Gomoku
http://www.leepoint.net/notes-java/45examples/55games/five/five.html
http://www.ocf.berkeley.edu/~yosenl/extras/alphabeta/alphabeta.html
http://web.archive.org/web/20040607185428/www.cs.vu.nl/~victor/thesis.html
http://www.cs.ualberta.ca/~chinook/
13. Listid, puud, stack.
Aeg:
Vaatasime lisaks ka neljanda praktikumi detaile.
Loengumaterjal: Progpohi13.PPT
Lugeda: D.Eck ptk 11.
14. Avaldise süntaksianalüüs (parser). Keerukamad puud.
Aeg:
Loengumaterjal: Progpohi14.PPT
Loengus kirjutatud parser: parse1.java
Lugeda: D.Eck ptk 11 lõpuosa.
15. Plaanis
süntaksianalüüsi jätk: hash ja puud. Threadide algus.
Aeg:
Loengumaterjalid: Progpohi15.PPT ja Progpohithreads.PPT
Lugeda: D.Eck ptk 10 osa 5.
16. Plaanis
threadide jätk. Konsultatsioon eksamiks.
Aeg:
Loengumaterjal: eelmise loengu materjal jätkub.

Tarkvara ja käsiraamatud

Vajalik tarkvara kodus töötamiseks:

Tehnilised käsiraamatud:


Lisa-lugemismaterjale

Lihtsad:

Keskmise keerukusega:

Keerukad (ära loe, kui kõik muu pole veel liiga-liiga lihtne!):



Harjutamist ja taustinfot eksamiks

Kuidas on tudengitel selles aines varem läinud? Vanad, 2004 sügissemestri tulemused, samuti eksamiülesandeid veel varasematest aastatest leiad 2004 sügissemestri lehelt.


Peaasi on teha ise ja korralikult praktikumiülesandeid: see ongi parim harjutus eksamiks.