Erinevus lehekülje "Programmeerimise põhikursus Javas (2014)" redaktsioonide vahel
P (Ago teisaldas lehekülje Programmeerimise põhikursus Javas pealkirja Programmeerimise põhikursus Javas (2014) alla) |
|||
(ei näidata sama kasutaja 84 vahepealset redaktsiooni) | |||
7. rida: | 7. rida: | ||
'''Ainekood''': ITI0011<br> | '''Ainekood''': ITI0011<br> | ||
'''Link''': http://courses.cs.ttu.ee/pages/ITI0011<br> | '''Link''': http://courses.cs.ttu.ee/pages/ITI0011<br> | ||
+ | |||
+ | Kursus varasematel aastatel: [http://www.lambda.ee/wiki/ITI0011 2013], [http://www.lambda.ee/wiki/ITI0011-S12 2012]<br> | ||
+ | <br> | ||
+ | [https://ois.ttu.ee/portal/page?_pageid=35,428610&_dad=portal&_schema=PORTAL&p_msg=&p_public=1&p_what=1&p_lang=EN&p_open_node2=&p_session_id=5266247&p_id=100805&p_mode=1&p_pageid=OKM_AINE_WEB_OTSING&n_disp_result=1&n_export=0&_init=1&_nextsearch=1&_nextorder=1&_orfn_1=AINER_KOOD&_ordi_1=ASC&_disp_ainer_kood=1&_where_ainer_kood=&_ainer_kood=iti8510&_disp_ainer_nimetus=1&_where_ainer_nimetus=&_ainer_nimetus=&_disp_ainer_nimetus_en=1&_where_ainer_nimetus_en=&_ainer_nimetus_en=&_disp_ainer_eap=1&_disp_ainer_opetsem=1&_vformaat=VFORMAAT_HTML&n_lov_offset=1&n_row_count=&n_row_pos= Aine info ÕIS-is] | ||
+ | </td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | |||
+ | == Teated == | ||
+ | |||
+ | <div style="color: #900; font-size: 14pt;">Eksam</div> | ||
+ | '''Lisaeksam''' toimub '''27. jaanuaril''' (teisipäev) kell '''10.00''' ruumis '''U06A-229''' (kuues korpus). '''Eelnev registreerimine ÕIS-is kohustuslik!''' | ||
+ | |||
+ | Konsultatsioon toimub '''26. jaanuaril''' (esmaspäev) kell '''10.00''' ruumis '''ICT-411'''. Kui teil on huvi venekeelse konsultatsiooni vastu, palun märkige siia: http://doodle.com/rafs5s3qgr745b5n (vastavalt vastanutele korraldab Aleksandr Lenin konsultatsiooni). | ||
+ | |||
+ | Eksamid toimuvad: | ||
+ | * '''8. jaanuar''' (neljapäev) ruumis '''U06A-201''' (kuues korpus) | ||
+ | * '''16. jaanuaril''' (reede) ruumis '''U06A-229''' (kuues korpus) | ||
+ | |||
+ | Mõlemal päeval on kaks eksamit: algusega kell '''10:00''' ja algusega kell '''13:00'''. | ||
+ | |||
+ | Te saate ise valida, kummal päeval tulete kirjutama, kellaaeg on määratud [https://docs.google.com/spreadsheets/d/1OOk-QKtWMG2XOVbgtPhDtxtlgkR6zFFqwcITsn5E60s/pubhtml?gid=816849096&single=true|punktitabelis]. | ||
+ | |||
+ | Kohustuslik on eksamile registreeruda ÕIS-i kaudu. Tähtaeg üks päev enne eksamit kell 12.00. | ||
+ | |||
+ | '''Konsultatsioonid''' enne eksamit: http://doodle.com/e8ytrvxay6aqcg5g | ||
+ | |||
+ | Venekeelsed konsultatsiooniajad: | ||
+ | * '''7. jaanuar''' (kolmapäev) kell '''09:00''' ruumis '''ICT-401''' | ||
+ | * '''15. jaanuar''' (neljapäev) kell '''09:00''' ruumis '''ICT-401''' | ||
+ | |||
+ | '''Palun märkige ära''', kas olete plaaninud osaleda konsultatsioonis. Vastavalt inimeste arvule broneerin ruumi. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | '''Vene rühma tundide muudatus''' | ||
+ | |||
+ | Tunnid on muudetud vastavalt: | ||
+ | * 6. Nov -> 19. Nov (Kolmapäev) | ||
+ | * 13. Nov -> 26. Nov (Kolmapäev) | ||
+ | |||
+ | Ruum ICT-501 10:15 - 11:45 | ||
+ | |||
+ | <div style="color: #900; font-size: 14pt;">Punktiseis</div> | ||
+ | |||
+ | Jooksev punktiseis: https://docs.google.com/spreadsheets/d/1OOk-QKtWMG2XOVbgtPhDtxtlgkR6zFFqwcITsn5E60s/pubhtml?gid=816849096&single=true | ||
+ | |||
+ | Lõpuks lähevad arvesse need punktid, mille taga on "OK". Ehk siis õige nimega kaust (HW1 jne) on gitis olemas. Küsimuste ja paranduste korral andke märku. Tabeli seisu proovime uuendada võimalikult tihti, aga lubage maksimaalselt nädal hilinemist (punktide märkimisel ja giti uuendamisel). Praegune tabeliseis vastab 27. oktoobri hommiku seisule. | ||
+ | |||
+ | Kõik teated pannakse üles ka [https://groups.google.com/forum/#!forum/iti0011 ITI0011 Google Groups'is] | ||
+ | |||
+ | <div style="color: #900; font-size: 14pt;">2. kodutöö tähtaja pikendamine</div> | ||
+ | |||
+ | Kuna paljudel on esinenud probleeme git'iga ja üldse 2. kodutööga, siis oleme teinud muudatused tähtaegades ja hindamises. '''See kehtib vaid 2. kodutöö kohta''', 3. kodutöö puhul enam sellist muudatust ei tule. | ||
+ | |||
+ | * Sellel nädalal (21. ja 23. oktoober) saab kaitsmise eest tavapärased punktid. Oluline on, et kood oleks laetud git'i enne kaitsmist (ideaalsel juhul eelmise päeva õhtul). Ehk siis punkte ei võeta alla selle eest, kui kood polnud pühapäeva õhtul git'is. | ||
+ | * '''Kaitsta saab vaid oma praktikumi ajal'''. Kuna git'i esitamise tähtaega pikendasime kuni kaitsmiseni, siis tahavad tudengid kindlasti võimalikult hilja näidata. Kahjuks me ei jõua teid selliselt vastu võtta | ||
+ | * '''Järgmisel nädalal''' (28. ja 30. oktoober) saab ülesande esitamise eest '''-1 punkti''' (mitte pooled punktid, nagu tavapäraselt hilinemise eest). | ||
+ | * '''Ülejärgmisel nädalal''' (4. ja 6. november) ja sealt edasi saab ülesande esitamise eest '''pooled punktid'''. | ||
+ | * '''Kood peab enne kaitsmist olema laetud git'i''' | ||
+ | |||
+ | Kuna järgmisel nädalal on praktikumi ajal plaanis tegeleda JavaFX-iga, siis massilisi kaitsmisi me vastu võtta ei jõua. Vajadusel lepime mingi lisaaja (näiteks neljapäeval kell 10.00), kus võtame tööd vastu. | ||
+ | |||
+ | 114 inimest (220st, seega natuke üle 50%) on I kodutöö laadinud reeglipäraselt git'i: tudengi repositooriumis on kaust "HW1" (mitte "homework1" ega "homeworks/HW1" ega "HMW1" ega "TicTacToe" jne). Palun vaadake üle, kas teil on sellise nimega kaust. Kui mitte, muutke kausta nimi ära. '''Koodi laadimine git'i on punktide saamise eeldus.''' | ||
+ | |||
+ | == Tunni toimumisajad ja õppejõud == | ||
Lektor: Ago Luberg<br> | Lektor: Ago Luberg<br> | ||
12. rida: | 78. rida: | ||
'''Loengu aeg''': '''teisipäeviti 14:00''' ruumis KYB-VEENUS<br><br> | '''Loengu aeg''': '''teisipäeviti 14:00''' ruumis KYB-VEENUS<br><br> | ||
− | Praktikumide ajad: '''T8''' (ICT-501), '''N8''' (ICT-501), '''N8''' (ICT- | + | Praktikumide ajad: '''T8''' (ICT-501), '''N8''' (ICT-501), '''N8''' (ICT-401, venekeelne), '''N14''' (ICT-401)<br> |
Praktikumide õppejõud: Gert Kanter, Aleksandr Lenin (venekeelne praktikum)<br><br> | Praktikumide õppejõud: Gert Kanter, Aleksandr Lenin (venekeelne praktikum)<br><br> | ||
20. rida: | 86. rida: | ||
Gert Kanter: aeg tuleb eelnevalt emaili teel kokku leppida (gert ätt cs.ttu.ee) | Gert Kanter: aeg tuleb eelnevalt emaili teel kokku leppida (gert ätt cs.ttu.ee) | ||
<br><br> | <br><br> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Kodused ülesanded ja tähtajad == | == Kodused ülesanded ja tähtajad == | ||
− | * I kodutöö - [[ITI0011:Trips_Traps_Trull]], tähtaeg 22. - 26. september 2014 | + | * I kodutöö - [[ITI0011:Trips_Traps_Trull]], tähtaeg 22. - 26. september 2014, <span style="color: red;">täiendatud 4. sept (lisamaterjali link muudetud 8. sept, readInput täiendatud 10. sept)</span> |
− | * II kodutöö, tähtaeg 20. - 24. oktoober 2014 | + | * II kodutöö, - [[ITI0011:Säuts]], tähtaeg 20. - 24. oktoober 2014 |
− | * III kodutöö, tähtaeg 17. - 21. november 2014 | + | * III kodutöö - [[ITI0011:Kimp]], [[ITI0011:Kimp homework]] (english version) või [[ITI0011:Kimp_(Android)]], tähtaeg 17. - 21. november 2014 |
− | * IV kodutöö, tähtaeg 15. - 19. detsember 2014 | + | * IV kodutöö, tähtaeg 15. - 19. detsember 2014 - [[ITI0011:Gomoku]] <span style="color: red;">Work in progress, vaadake jooksvalt uut seisu!</span> |
== Eksam == | == Eksam == | ||
40. rida: | 99. rida: | ||
* NB! Kaasa vaja võtta '''pildiga dokument'''. | * NB! Kaasa vaja võtta '''pildiga dokument'''. | ||
− | Näite-eksamiülesanded | + | Näite-eksamiülesanded 2013 aastast leiad siit: |
− | * [ | + | * [[Meedia:Java_eksam_naide1.pdf|Eksami näide 1]] |
− | * [ | + | * [[Meedia:Java_eksam_naide2.pdf|Eksami näide 2]] |
== Hindamispõhimõtted == | == Hindamispõhimõtted == | ||
68. rida: | 127. rida: | ||
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. | 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. | ||
− | == | + | == Materjalid == |
# java, eclipse, checktyle, hello-world | # java, eclipse, checktyle, hello-world | ||
#* [https://drive.google.com/file/d/0BySJPpWnMYPZMHN6amI3SEhadlk/edit?usp=sharing I loeng] | #* [https://drive.google.com/file/d/0BySJPpWnMYPZMHN6amI3SEhadlk/edit?usp=sharing I loeng] | ||
− | #* [https://drive.google.com/file/d/0BySJPpWnMYPZRlhydzAwRi1mRDg/edit?usp=sharing I praktikum] | + | #* [https://drive.google.com/file/d/0BySJPpWnMYPZRlhydzAwRi1mRDg/edit?usp=sharing I praktikum], [https://drive.google.com/file/d/0BySJPpWnMYPZRGhGVEFkVGNSYUE/edit?usp=sharing I praktikum (RUS)] |
# variables, memory, control-structures | # variables, memory, control-structures | ||
+ | #* [https://drive.google.com/file/d/0BySJPpWnMYPZb1c0Y0MyeHptTjQ/edit?usp=sharing II loeng] | ||
+ | #* [https://drive.google.com/file/d/0BySJPpWnMYPZT1haY1dXS3c2cVk/edit?usp=sharing II praktikum T8], [https://drive.google.com/file/d/0BySJPpWnMYPZVGJxU3p4M1M0cVE/edit?usp=sharing II praktikum N8], [https://drive.google.com/file/d/0BySJPpWnMYPZRXhKai1paVBGUjQ/edit?usp=sharing II praktikum (RUS)], [https://drive.google.com/file/d/0BySJPpWnMYPZTHBQTFByZ1cycDA/edit?usp=sharing II praktikum N14] | ||
# classes and methods, no code cuplication, method signature, String, array | # classes and methods, no code cuplication, method signature, String, array | ||
− | # input-output, stdio, stream, wrpper, file, url, Exception intro, | + | #* [https://drive.google.com/file/d/0BySJPpWnMYPZUDZMNmNCTFZrWXM/edit?usp=sharing III loeng] |
+ | #* praktikumid: | ||
+ | #** [https://drive.google.com/file/d/0BySJPpWnMYPZclBZaC1zQ0U5OU0/edit?usp=sharing III praktikum T8], [[ITI0011:uniqueLines|uniqueLines koodinäide]] | ||
+ | #** [https://drive.google.com/file/d/0BySJPpWnMYPZcVhEcFpuOEVxbmc/edit?usp=sharing III praktikum (RUS)], | ||
+ | #** [https://drive.google.com/file/d/0BySJPpWnMYPZZnhMemxmVldyMlU/edit?usp=sharing III praktikum N8], [[ITI0011:maxAxisSum#maxRowSum|maxRowSum koodinäide]] | ||
+ | #** [https://drive.google.com/file/d/0BySJPpWnMYPZMnpjSFdST2R0eUE/edit?usp=sharing III praktikum N14], [[ITI0011:maxAxisSum#maxColSum|maxColSum koodinäide]] | ||
+ | # input-output, stdio, stream, wrpper, file, url, Exception intro, [https://drive.google.com/file/d/0BySJPpWnMYPZcFBTWWFlLUpaVFE/view?usp=sharing IV loeng] | ||
#* praktikumis I kodutöö kaitsmine | #* praktikumis I kodutöö kaitsmine | ||
− | # OOP | + | # OOP |
+ | #* [https://drive.google.com/file/d/0BySJPpWnMYPZZHFvV1Bwd0xYWms/view?usp=sharing V loeng] | ||
+ | #* praktikum | ||
+ | #** [[ITI0011:praktikum 5 T8]] | ||
+ | #** [https://drive.google.com/file/d/0BySJPpWnMYPZeHZKcGVnVmtDdU0/view?usp=sharing V praktikum (RUS)] | ||
+ | #** [[ITI0011:praktikum 5 N8]] | ||
+ | #** [[ITI0011:praktikum 5 N14]] | ||
# command-line arguments, exceptions | # command-line arguments, exceptions | ||
+ | #* praktikum: | ||
+ | #** [[ITI0011:praktikum 6 T8]] | ||
+ | #** [[ITI0011:praktikum 6 N8]] | ||
+ | #** [https://drive.google.com/file/d/0BySJPpWnMYPZY0pIM19xWGJGbVU/view?usp=sharing VI praktikum (RUS)] | ||
+ | #** [[ITI0011:praktikum 6 N14]] | ||
# OOP, II kodutöö | # OOP, II kodutöö | ||
− | # GUI, JavaFX, III kodutöö tutvustus | + | #* praktikum |
+ | #** [[ITI0011:praktikum 7 T8]] | ||
+ | #** [[ITI0011:praktikum 7 N8]] | ||
+ | #** [[ITI0011:praktikum 7 N14]] | ||
+ | # GUI, JavaFX, III kodutöö tutvustus, linke: [[ITI0011:JavaFX]], [[Meedia:ITI0011_Loeng-08.pdf|Loeng VIII]] | ||
#* praktikumis II kodutöö kaitsmine | #* praktikumis II kodutöö kaitsmine | ||
− | # GUI jätk | + | # GUI jätk, [[Meedia:ITI0011_Loeng-09.pdf|Loeng IX]] |
− | # Androidile arendamine | + | #* praktikum |
− | # III kodutöö näpunäiteid | + | #** [[ITI0011:praktikum 9 T8]] |
+ | #** [[ITI0011:praktikum 9 N8]] | ||
+ | #** [[ITI0011:praktikum 9 N14]] | ||
+ | # Androidile arendamine [[ITI0011:Android]] | ||
+ | #* praktikum | ||
+ | #** [[ITI0011:praktikum 10 T8]] | ||
+ | #** [[ITI0011:praktikum 10 N8]] | ||
+ | #** [[ITI0011:praktikum 10 N14]] | ||
+ | # III kodutöö näpunäiteid [[ITI0011:Loeng 11]], [[Meedia:ITI0011_Loeng-11.pdf|Loengu slaidid]] | ||
+ | #* praktikum | ||
+ | #** [[ITI0011:praktikum 11 T8]] | ||
+ | #** [[ITI0011:praktikum 11 N8]] | ||
+ | #** [[ITI0011:praktikum 11 N14]] | ||
# IV praktikumi tutvustus, Gomoku sissejuhatus | # IV praktikumi tutvustus, Gomoku sissejuhatus | ||
#* praktikumis III kodutöö kaitsmine | #* praktikumis III kodutöö kaitsmine | ||
# Rekursioon, puu, otsing, minimax algoritm | # Rekursioon, puu, otsing, minimax algoritm | ||
− | # IV kodutöö näpunäited, alpha-beta algoritm | + | #* [[ITI0011:praktikum 13]] |
− | # | + | #* [[Meedia:ITI0011_Praktikum_13_N8_(RUS).pdf|Praktikum (RUS)]] |
+ | # IV kodutöö näpunäited, alpha-beta algoritm, [[Meedia:ITI0011_Loeng-13-recursion_minimax.pdf|Loeng XIV]], [[Meedia:ITI0011_Tunnikontroll.pdf|Tunnikontroll]] | ||
+ | #* [[ITI0011:praktikum 14]] | ||
+ | # Tunnikontrolli tagasiside [[Meedia:ITI0011_Loeng-15-test.pdf|Loeng XV]] | ||
+ | #* Praktikumis rekursioon, [[ITI0011:praktikum 15]], codingbat | ||
# Kordamine eksamiks | # Kordamine eksamiks | ||
#* praktikumis IV kodutöö kaitsmine | #* praktikumis IV kodutöö kaitsmine | ||
+ | |||
+ | Konsultatsioonid | ||
+ | # [[ITI0011:Kordamine_eksamiks]] | ||
== Tööriistad == | == Tööriistad == | ||
− | + | * Jooksev punktiseis: https://docs.google.com/spreadsheets/d/1OOk-QKtWMG2XOVbgtPhDtxtlgkR6zFFqwcITsn5E60s/pubhtml?gid=816849096&single=true | |
* Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml | * Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml | ||
** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed | ** Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed | ||
** Selles konfiguratsioonis on need reeglid välja lülitatud | ** Selles konfiguratsioonis on need reeglid välja lülitatud | ||
− | * '''NB''' [ | + | * '''NB''' [[ITI0011:Checkstyle]] plugini seadistamine |
* Kursuse teated: http://groups.google.com/group/iti0011 | * Kursuse teated: http://groups.google.com/group/iti0011 | ||
* CodingBat (hea leht, kus harjutada väikeste ülesannete lahendamist): http://codingbat.com/java | * CodingBat (hea leht, kus harjutada väikeste ülesannete lahendamist): http://codingbat.com/java | ||
+ | * Juhend GIT-i kasutamiseks [[ITI0011:git]] | ||
+ | * Loengute ja praktikumide koodid: https://git.ttu.ee/kursused/iti0011/materjalid.git (veebist pole kättesaadav, saate tõmmata alla kasutades UNI ID-d). Loe ka: [[ITI0011:git#Kursuse_kood]] | ||
== Õpik == | == Õpik == |
Viimane redaktsioon: 27. jaanuar 2015, kell 08:50
Ainekood: ITI0011 Kursus varasematel aastatel: 2013, 2012 |
Teated
Lisaeksam toimub 27. jaanuaril (teisipäev) kell 10.00 ruumis U06A-229 (kuues korpus). Eelnev registreerimine ÕIS-is kohustuslik!
Konsultatsioon toimub 26. jaanuaril (esmaspäev) kell 10.00 ruumis ICT-411. Kui teil on huvi venekeelse konsultatsiooni vastu, palun märkige siia: http://doodle.com/rafs5s3qgr745b5n (vastavalt vastanutele korraldab Aleksandr Lenin konsultatsiooni).
Eksamid toimuvad:
- 8. jaanuar (neljapäev) ruumis U06A-201 (kuues korpus)
- 16. jaanuaril (reede) ruumis U06A-229 (kuues korpus)
Mõlemal päeval on kaks eksamit: algusega kell 10:00 ja algusega kell 13:00.
Te saate ise valida, kummal päeval tulete kirjutama, kellaaeg on määratud [1].
Kohustuslik on eksamile registreeruda ÕIS-i kaudu. Tähtaeg üks päev enne eksamit kell 12.00.
Konsultatsioonid enne eksamit: http://doodle.com/e8ytrvxay6aqcg5g
Venekeelsed konsultatsiooniajad:
- 7. jaanuar (kolmapäev) kell 09:00 ruumis ICT-401
- 15. jaanuar (neljapäev) kell 09:00 ruumis ICT-401
Palun märkige ära, kas olete plaaninud osaleda konsultatsioonis. Vastavalt inimeste arvule broneerin ruumi.
Vene rühma tundide muudatus
Tunnid on muudetud vastavalt:
- 6. Nov -> 19. Nov (Kolmapäev)
- 13. Nov -> 26. Nov (Kolmapäev)
Ruum ICT-501 10:15 - 11:45
Jooksev punktiseis: https://docs.google.com/spreadsheets/d/1OOk-QKtWMG2XOVbgtPhDtxtlgkR6zFFqwcITsn5E60s/pubhtml?gid=816849096&single=true
Lõpuks lähevad arvesse need punktid, mille taga on "OK". Ehk siis õige nimega kaust (HW1 jne) on gitis olemas. Küsimuste ja paranduste korral andke märku. Tabeli seisu proovime uuendada võimalikult tihti, aga lubage maksimaalselt nädal hilinemist (punktide märkimisel ja giti uuendamisel). Praegune tabeliseis vastab 27. oktoobri hommiku seisule.
Kõik teated pannakse üles ka ITI0011 Google Groups'is
Kuna paljudel on esinenud probleeme git'iga ja üldse 2. kodutööga, siis oleme teinud muudatused tähtaegades ja hindamises. See kehtib vaid 2. kodutöö kohta, 3. kodutöö puhul enam sellist muudatust ei tule.
- Sellel nädalal (21. ja 23. oktoober) saab kaitsmise eest tavapärased punktid. Oluline on, et kood oleks laetud git'i enne kaitsmist (ideaalsel juhul eelmise päeva õhtul). Ehk siis punkte ei võeta alla selle eest, kui kood polnud pühapäeva õhtul git'is.
- Kaitsta saab vaid oma praktikumi ajal. Kuna git'i esitamise tähtaega pikendasime kuni kaitsmiseni, siis tahavad tudengid kindlasti võimalikult hilja näidata. Kahjuks me ei jõua teid selliselt vastu võtta
- Järgmisel nädalal (28. ja 30. oktoober) saab ülesande esitamise eest -1 punkti (mitte pooled punktid, nagu tavapäraselt hilinemise eest).
- Ülejärgmisel nädalal (4. ja 6. november) ja sealt edasi saab ülesande esitamise eest pooled punktid.
- Kood peab enne kaitsmist olema laetud git'i
Kuna järgmisel nädalal on praktikumi ajal plaanis tegeleda JavaFX-iga, siis massilisi kaitsmisi me vastu võtta ei jõua. Vajadusel lepime mingi lisaaja (näiteks neljapäeval kell 10.00), kus võtame tööd vastu.
114 inimest (220st, seega natuke üle 50%) on I kodutöö laadinud reeglipäraselt git'i: tudengi repositooriumis on kaust "HW1" (mitte "homework1" ega "homeworks/HW1" ega "HMW1" ega "TicTacToe" jne). Palun vaadake üle, kas teil on sellise nimega kaust. Kui mitte, muutke kausta nimi ära. Koodi laadimine git'i on punktide saamise eeldus.
Tunni toimumisajad ja õppejõud
Lektor: Ago Luberg
Kontakt: ago.luberg ätt ttu.ee, TTÜ ICT-423
Loengu aeg: teisipäeviti 14:00 ruumis KYB-VEENUS
Praktikumide ajad: T8 (ICT-501), N8 (ICT-501), N8 (ICT-401, venekeelne), N14 (ICT-401)
Praktikumide õppejõud: Gert Kanter, Aleksandr Lenin (venekeelne praktikum)
Konsultatsiooniajad:
Ago Luberg: N10.00 (peale hommikust praktikumi), tuleb eelnevalt emaili teel kokku leppida (ago.luberg ätt ttu.ee)
Aleksandr Lenin: aeg tuleb eelnevalt emaili teel kokku leppida (aleksandr.lenin ätt ttu.ee)
Gert Kanter: aeg tuleb eelnevalt emaili teel kokku leppida (gert ätt cs.ttu.ee)
Kodused ülesanded ja tähtajad
- I kodutöö - ITI0011:Trips_Traps_Trull, tähtaeg 22. - 26. september 2014, täiendatud 4. sept (lisamaterjali link muudetud 8. sept, readInput täiendatud 10. sept)
- II kodutöö, - ITI0011:Säuts, tähtaeg 20. - 24. oktoober 2014
- III kodutöö - ITI0011:Kimp, ITI0011:Kimp homework (english version) või ITI0011:Kimp_(Android), tähtaeg 17. - 21. november 2014
- IV kodutöö, tähtaeg 15. - 19. detsember 2014 - ITI0011:Gomoku Work in progress, vaadake jooksvalt uut seisu!
Eksam
- Eksamile peab registreerima ÕIS-is (hiljemalt eelmisel päeval kl. 12)
- NB! Kaasa vaja võtta pildiga dokument.
Näite-eksamiülesanded 2013 aastast leiad siit:
Hindamispõhimõtted
- Iga kodune ülesanne annab kuni 10 punkti. Kokku on 4 kodust ülesannet.
- Koduse ülesande ettenäitamine vähemalt üks nädal enne tähtaega annab 1 lisapunkti.
- Tunnis tehtavad ülesanded annavad semestri peale kokku kuni 5 lisapunkti.
- Eksamile pääsemiseks peavad olema sooritatud vähemalt kolm neljast kodusest ülesandest.
- Eksamil saab 0 - 60 punkti.
- Eksami punktide arv alla 20 (60st) annab automaatselt lõpptulemuseks hinde "0".
- Eksamitulemusega vähemalt 20p liidetakse koduste ülesannete punktid, tunniülesannete punktid ja eksamipunktid kokku, hindevahemikud on 51-60 -> "1", 61-70 -> "2", …, 91 ja üle -> "5".
- Eksam on kirjalik, paberil, ja koosneb ainult väikestest programmeerimisülesannetest.
- Juhul, kui üks neljast ülesandest jääb realiseerimata, siis selle eest punkte ei saa. Aine maksimumpunktid on siis 93 (91p ja rohkem annab hindeks "5").
- Ülesannete esitamise tähtajad on rühmapõhised - vastavalt tunniplaanis märgitule.
- Iga hilinenud ülesande eest saab kuni pooled punktid (kui muidu saab ülesande eest näiteks 5 punkti, siis hilinenult saab ülesande eest 2 punkti).
- Hilinenud ülesannet saab ette näidata kuni 3 nädalat pärast tähtaega (4. nädalal ja edasi saab 0 punkti).
- Pärast auditoorse õppetöö lõppu (viimane praktikum) ei aktsepteerita enam ühtegi ülesannet.
- Iga ülesanne tuleb programmeerida iseseisvalt ja kaitsta praktikumi juhendajale praktikumi ajal ette. E-postiga saadetud lahendusi ei aktsepteerita!
- Töötav ülesanne, millest tudeng üldse aru ei saa (pole enda tehtud), saab 0 punkti.
- Plagiaadi esitamise eest on tulemus automaatselt 0 punkti.
- Ülesande arvestamiseks ütle juhendajale praktikumi ajal ise, kui soovid lahendatud ülesannet näidata.
Täpsustav info eelmisel kursusel tehtud praktikumitööde kohta: kui oled eelmine kord saanud punkte, siis saad neid sel semstril kasutada ainult juhul, kui said eksami edukalt sooritatud (hinne vähemalt 1). Vastasel korral pead praktikumitööd uuesti tegema.
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.
Materjalid
- java, eclipse, checktyle, hello-world
- variables, memory, control-structures
- classes and methods, no code cuplication, method signature, String, array
- input-output, stdio, stream, wrpper, file, url, Exception intro, IV loeng
- praktikumis I kodutöö kaitsmine
- OOP
- command-line arguments, exceptions
- OOP, II kodutöö
- GUI, JavaFX, III kodutöö tutvustus, linke: ITI0011:JavaFX, Loeng VIII
- praktikumis II kodutöö kaitsmine
- GUI jätk, Loeng IX
- Androidile arendamine ITI0011:Android
- III kodutöö näpunäiteid ITI0011:Loeng 11, Loengu slaidid
- IV praktikumi tutvustus, Gomoku sissejuhatus
- praktikumis III kodutöö kaitsmine
- Rekursioon, puu, otsing, minimax algoritm
- IV kodutöö näpunäited, alpha-beta algoritm, Loeng XIV, Tunnikontroll
- Tunnikontrolli tagasiside Loeng XV
- Praktikumis rekursioon, ITI0011:praktikum 15, codingbat
- Kordamine eksamiks
- praktikumis IV kodutöö kaitsmine
Konsultatsioonid
Tööriistad
- Jooksev punktiseis: https://docs.google.com/spreadsheets/d/1OOk-QKtWMG2XOVbgtPhDtxtlgkR6zFFqwcITsn5E60s/pubhtml?gid=816849096&single=true
- Checkstyle: http://iti0011.googlecode.com/git/2013/checkstyle/iti0011.xml
- Vaikeseadetes on veidi üleliigseid reegleid, mis ei ole (eriti käesoleva kursuse kontekstis) relevantsed
- Selles konfiguratsioonis on need reeglid välja lülitatud
- NB ITI0011:Checkstyle plugini seadistamine
- Kursuse teated: http://groups.google.com/group/iti0011
- CodingBat (hea leht, kus harjutada väikeste ülesannete lahendamist): http://codingbat.com/java
- Juhend GIT-i kasutamiseks ITI0011:git
- Loengute ja praktikumide koodid: https://git.ttu.ee/kursused/iti0011/materjalid.git (veebist pole kättesaadav, saate tõmmata alla kasutades UNI ID-d). Loe ka: ITI0011:git#Kursuse_kood
Õpik
Tasuta e-book: David Eck, Introduction to Programming Using Java , version 7.0, 2014
(http://math.hws.edu/javanotes/ vt ka http://math.hws.edu/eck/cs124/downloads/javanotes7.pdf)