Objektorienteeritud programmeerimine MTAT.03.130 kevad 2013

Eesmärk

Kursuse eesmärgiks on anda alusteadmised objekt-orienteeritud programmeerimise eripärast, oskused programmide koostamiseks ning esmased rühmatööoskused

Kursuse läbinud üliõpilane:
Loengud ja arvutipraktikumid toimuvad akadeemilise kalendri 24.-39. nädalal (antud dokumendis 1.-16.).

Orienteeruv ajakava
Jrk.
Loeng Arvutipraktikum
Tunniplaaniväline
1. 
Sissejuhatus. Kursuse ülesehitus. Java programm, kompileerimine, käivitamine. Algtüübid. Avaldised.  Java programm, kompileerimine, käivitamine. Algtüübid. Avaldised.
2. 
Java põhikonstruktsioonid: valikulaused, tsüklid. 
OOP paradigma. Objektid ja klassid. Muutujate skoobid. Objektide edastamine meetoditele.
Eclipse. Java põhikonstruktsioonid: valikulaused, tsüklid. Staatilised meetodid. Signatuur. Java massiiv.
3. 
Sõnetöötlus ja tekstiline I/O. Objektid ja klassid. Muutujate skoobid. Objektide edastamine meetoditele.
4 Pärimine ja polümorfism. Meetodite ülekatmine. Klass Object. Sõnetöötlus ja tekstiline I/O.  
5.  Abstraktsed klassid ja liidesed. Mähisklassid. Pärimine ja polümorfism. Meetodite ülekatmine. Klass Object.
6. 
Graafika programmeerimine. Raamid, paneelid, paigutushaldurid. Klass Graphics. 1. kontrolltöö
7.  Sündmuste töötlemine. Sündmused. Kuularid. Abstraktsed klassid ja liidesed. Mähisklassid.
8.  Kasutajaliidese loomine. Graafilised komponendid. Graafika programmeerimine. Raamid, paneelid, paigutushaldurid. Klass Graphics.  
9.  Erindite töötlemine. Erindite tüübid. Sündmuste töötlemine. Sündmused. Kuularid.  Kasutajaliidese loomine. Graafilised komponendid. 1. kontrolltöö järeltöö
Tulemuseks arvestatakse viimane sooritus
10.  Vood. Binaarne I/O. Puhverdatud ja puhverdamata voogude töötlemine. Liides Serializable. Erindite töötlemine. Erindite tüübid.
11.  Dünaamilised andmestruktuurid (list, magasin, järjekord). Vood. Binaarne I/O. Puhverdatud ja puhverdamata voogude töötlemine. Liides Serializable.
12.  Java andmestruktuurid. Liides Collection. Liides Comparable. Klassid Vector ja Stack. Liidesed  List ja Map.  Java andmestruktuurid. Liides Collection. Liides Comparable. Klassid Vector ja Stack. Liidesed  List ja Map.
13.  Lõimed. Lõime seisundid. Lõimede sünkroniseerimine. 2. kontrolltöö  
14.  Lokaliseerimine. Lõimed. Lõime seisundid. Lõimede sünkroniseerimine.  
15.  Võrguprogrammeerimine. Pistik. Klient/server ühendus. Failide allalaadimine veebiserverist. Rühmatööde esitlused.  
16. Eksam Rühmatööde esitlused. 2. kontrolltöö järeltöö
Tulemuseks arvestatakse viimane sooritus


Punktisüsteem

Kontrolli-
vormid

Orienteeruv
 aeg
Maksi- maalselt punkte Sisu
1. rühmatöö
3.-4. nädal
5 Moodustada 2-3-liikmelised rühmad. Rühmaliikmed peavad olema samast praktikumirühmast. Püstitada ja lahendada ülesanne vastavalt juhendile.
1. kontrolltöö

6. nädal
14
Praktikumid 1-5.
2. rühmatöö
9.-10. nädal
5
Jätkata samade rühmadega või moodustada uued 2-3-liikmelised rühmad. Püstitada ja  lahendada ülesanne vastavalt juhendile (lihtne graafiline kasutajaliides). Ülesanne võib olla järjeks 1. rühmatööle.
2. kontrolltöö

13. nädal

14 Praktikumid 7-12.
3. rühmatöö 13.-15. nädal
5
Jätkata samade rühmadega või moodustada uued 2-3-liikmelised rühmad. Püstitada ja lahendada ülesanne vastavalt juhendile (andmestruktuuride kasutamine). Ülesanne võib olla järjeks 1. ja 2. rühmatööle. 
Rühmatööde esitlused 15.-16. nädal 5 Esitlused praktikumirühmas vastavalt juhendile.
Loengud 1.-15. nädal 10 Loengud ja lisamaterjalide läbitöötamine.
Praktikumid 1.-15. nädal 12 Praktikumid.
Eksamitöö
16. nädalal.
Sessi ajal juunis
35 Eksamile pääsemiseks peab olema praktikumidest (sh. rühmatööd) kogutud vähemalt 32 punkti, loengutest vähemalt 5 punkti.

Hindeskaala "E" 51-60, "D" 61-70, "C" 71-80, "B" 81-90, "A" 91-.