Programmeerimise põhikursus Javas (2014)
Ainekood: ITI0011 Lektor: Ago Luberg Praktikumide ajad: T8 (ICT-501), N8 (ICT-501), N8 (ICT-637, venekeelne), N14 (ICT-401) Konsultatsiooniajad: Kursus varasematel aastatel: 2013, 2012 |
Kodused ülesanded ja tähtajad
- I kodutöö - ITI0011:Trips_Traps_Trull, tähtaeg 22. - 26. september 2014
- II kodutöö, 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 2004 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.
Loengu/praktikumi materjalid
- java, eclipse, checktyle, hello-world
- variables, memy, control-structures
- classes and methods, no code cuplication, method signature, String, array
- input-output, stdio, stream, wrpper, file, url, Exception intro, Unit testing
- praktikumis I kodutöö kaitsmine
- OOP, Karel the Robot
- 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 Checkstyle plugini seadistamine
- Kursuse teated: http://groups.google.com/group/iti0011
- CodingBat (hea leht, kus harjutada väikeste ülesannete lahendamist): http://codingbat.com/java
Õ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)