Objektorienteeritud programmeerimine LTAT.03.003 kevad 2019
Eesmärk
Kursuse eesmärgiks on anda alusteadmised objektorienteeritud programmeerimise eripärast, oskused programmide koostamiseks ning esmased rühmatööoskused.
Kursuse läbinud üliõpilane:
- on võimeline selgitama objektorienteeritud paradigma põhimõisteid (kapseldus, abstraktsioon, pärimine, polümorfism, üledefineerimine, ülekate) ning analüüsima vastavaid programme;
- on võimeline kirjeldama erinevaid andmestruktuure (massiiv, list, magasin, järjekord, kujutus) ja nende kasutusviise;
- oskab selgitada rakendusteekide väärtust ja olemust ning leida nendest vajalikku informatsiooni;
- oskab selgitada sündmuspõhise programmeerimise eripära ja erindite käitlemist ning tuua näiteid nende kasutamisest;
- oskab ühes objektorienteeritud programmeerimiskeeles kasutades integreeritud programmeerimiskeskkonda koostada, testida ja siluda programme, rakendades selleks eelmistes punktides loetletut;
- oskab kirjeldada isikliku kogemuse põhjal rühmaprojekti keskseid elemente.
Punktisüsteem
Kontrollivormid | Orienteeruv aeg | Maksimaalselt punkte | Sisu |
---|---|---|---|
1. rühmatöö | 6. ja 8. nädal | 5 | Moodustada 2-liikmelised (erandina 3-liikmelised) rühmad. Rühmaliikmed peavad kindlasti olema samast praktikumirühmast. Kui on vajadus ja võimalus, siis muuta praktikumirühma. Püstitada ja lahendada ülesanne vastavalt juhendile. |
1. kontrolltöö | 7. nädal | 16 | Praktikumid P1-P6. Eksamile pääsemiseks tuleb saada vähemalt 12 punkti. |
2. rühmatöö | 12. ja 14. nädal | 5 | Jätkata samade rühmadega või moodustada uued rühmad. Püstitada ja lahendada ülesanne vastavalt juhendile. Ülesanne võib olla järjeks 1. rühmatööle. |
2. kontrolltöö | 13. nädal | 16 | Praktikumid P7-P11. |
Rühmatööde esitlused | 15. nädal | 3 | Esitlused praktikumirühmas vastavalt juhendile. Tutvustavad veebilehed 2 päeva enne esitlust. |
Praktikumid | 1.-15. nädal | 12 | Praktikumid. Alates 2. praktikumist tuleb praktikumimaterjal läbi töötada ja nõutud ülesanded lahendada ning lahendused üles laadida enne praktikumi. Praktikumis tuleb lahendused esitada ning praktikumi tegevuses aktiivselt osaleda. |
Loengud | 1.-15. nädal | 12 | Loengud. Loengute eest saab punkte loenguvideote vaatamise ja koduülesannete eest. |
Eksamitöö | 16. nädalal. Sessi ajal juunis. | 33 | Eksamile pääsemiseks peab olema praktikumidest (praktikumid, kontrolltööd, rühmatööd) kogutud vähemalt 28 punkti, sealjuures 1. kontrolltööst vähemalt 12 punkti, loengutest vähemalt 6 punkti. Eksam on aine viimane tegevus, pärast seda läheb hinne protokolli (ei saa teha järeltöid jms). Eksamil peab positiivse hinde saamiseks koguma vähemalt 15 punkti. |
Hindeskaala "E" 51-60, "D" 61-70, "C" 71-80, "B" 81-90, "A" 91-.
Orienteeruv ajakava
Jrk. | Loeng | Arvutipraktikum | Tunniplaaniväline |
---|---|---|---|
1. | Sissejuhatus. Kursuse ülesehitus. Java programm, kompileerimine, käivitamine. Algtüübid. Avaldised. | P1 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. | P2 Java põhikonstruktsioonid: valikulaused, tsüklid. Staatilised meetodid. Signatuur. Java massiiv. | |
3. | Sõnetöötlus ja tekstiline I/O. Mähisklassid. | P3 Objektid ja klassid. Muutujate skoobid. Objektide edastamine meetoditele. | |
4. | Liidesed. | P4 Sõnetöötlus ja tekstiline I/O. Listid. Mähisklassid | |
5. | Pärimine ja polümorfism. Meetodite ülekatmine. Klass Object. Abstraktsed klassid. | P5 Liidesed. | |
6. | Graafika programmeerimine. | P6 Pärimine ja polümorfism. Meetodite ülekatmine. Klass Object. Abstraktsed klassid. | |
7. | Sündmuste töötlemine. Sündmused. Kuularid. | 1. kontrolltöö | |
8. | Kasutajaliidese loomine. | P7 Graafika programmeerimine. | |
9. | Vood. Binaarne I/O. Puhverdatud ja puhverdamata voogude töötlemine. Liides Serializable. | P8 Sündmuste töötlemine. Sündmused. Kuularid. Kasutajaliidese loomine. | |
10. | Erindite töötlemine. Erindite tüübid. | P9 Vood. Binaarne I/O. Puhverdatud ja puhverdamata voogude töötlemine. | 1. kontrolltöö järeltöö Tulemuseks arvestatakse viimane sooritus |
11. | Dünaamilised andmestruktuurid (list, magasin, järjekord). | P10 Erindite töötlemine. Erindite tüübid. | |
12. | Java andmestruktuurid. Liides Collection. Liides Comparable. Klassid Vector ja Stack. Liidesed List ja Map. | P11 Java andmestruktuurid. Liides Collection. Liides Comparable. Liidesed List, Deque ja Map. | |
13. | Lõimed. Lõime seisundid. Lõimede sünkroniseerimine. | 2. kontrolltöö | |
14. | Lokaliseerimine. Võrguprogrammeerimine. Pistik. Klient/server ühendus. Failide allalaadimine veebiserverist. | P12 Lõimed. Lõime seisundid. Lõimede sünkroniseerimine. | |
15. | Kordamine | Rühmatööde esitlused. | |
16. | Eksam | 2. kontrolltöö järeltöö Tulemuseks arvestatakse viimane sooritus |