Programmeerimise põhikursus Javas (2014)
Ainekood: ITI0011 Kursus varasematel aastatel: 2013, 2012 |
Teated
Kõik teated pannakse üles ka ITI0011 Google Groups'is
Palun märkige ära, millistes keeltes olete te nõus loengut kuulama. Need, kes ei vasta, lähevad arvesse kui tudengid, kes on nõus loengut kuulama ükskõik mis keeles. Loe lähemalt
Palun vastake siin: http://doodle.com/rkhdz37aixwnnxq2
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öö, tähtaeg 17. - 21. november 2014
- IV kodutöö, tähtaeg 15. - 19. detsember 2014
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
- praktikumis II kodutöö kaitsmine
- GUI jätk
- Androidile arendamine
- III kodutöö näpunäiteid
- IV praktikumi tutvustus, Gomoku sissejuhatus
- praktikumis III kodutöö kaitsmine
- Rekursioon, puu, otsing, minimax algoritm
- IV kodutöö näpunäited, alpha-beta algoritm
- Data structures, linked list, stack, queue, binary tree, (hash table)
- Kordamine eksamiks
- praktikumis IV kodutöö kaitsmine
Tööriistad
Täpsustub esimese nädala jooksul!
- 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
Õ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)