Objektorienteeritud programmeerimine LTAT.03.003 kevad 2023
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. NB! Kontrolltööd toimuvad kõigil (k.a. veebirühmades osalejatel) auditooriumis! |
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. NB! Kontrolltööd toimuvad kõigil (k.a. veebirühmades osalejatel) auditooriumis! |
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, hiljemalt kolmapäeva õhtul kella 23.59ks (0,5 punkti). Punkti saamiseks tuleb praktikumis aktiivselt osaleda (0,5 punkti). Kui ei ole võimalik kohal olla, saab vajadusel osaleda veebirühmas (ja saada 0,5 punkti), aga sellest on vaja teavitada oma rühma juhendajat. |
Lisaülesanded | 1.-15. nädal | 5 | Lisaülesande eest punkti saamiseks tuleb oma lahendust praktikumijuhendajale seletada. |
Loengud | 1.-15. nädal | 12 | Loengud. Loengute eest saab punkte loenguvideote vaatamise ja testi lahendamise eest. |
Eksamitöö | 16. nädalal. Sessi ajal juunis. | 33 | Eksamile pääsemiseks peab olema praktikumidest (praktikumid, kontrolltööd, rühmatööd, lisaülesanded) 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. NB! Eksamit saab teha ainult auditooriumis! |
Hindeskaala "E" [51-60], "D" (60-70], "C" (70-80], "B" (80-90], "A" (90-.
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. | P2 Java põhikonstruktsioonid: valikulaused, tsüklid. Staatilised meetodid. Signatuur. Java massiiv. | |
3. | OOP paradigma. Objektid ja klassid. Konstruktorid, isendid. Muutujate skoobid. Objektide edastamine meetoditele. | P3 Objektid ja klassid. Muutujate skoobid. Objektide edastamine meetoditele. | |
4. | Sõnetöötlus ja tekstiline I/O. Mähisklassid. Listid. | P4 Sõnetöötlus ja tekstiline I/O. Listid. Mähisklassid | |
5. | Liidesed. | P5 Liidesed. | |
6. | Pärimine ja polümorfism. Meetodite ülekatmine. Klass Object. Abstraktsed klassid. | P6 Pärimine ja polümorfism. Meetodite ülekatmine. Klass Object. Abstraktsed klassid. | |
7. | Kordamine kontrolltööks | 1. kontrolltöö | |
8. | Kasutajaliidese loomine. Java FX. Stseenigraaf. Tipud | P7 Graafika programmeerimine. | |
9. | Sündmuste töötlemine. Sündmused. Kuularid. | P8 Sündmuste töötlemine. Sündmused. Kuularid. Kasutajaliidese loomine. | |
10. | Vood. Binaarne I/O. Puhverdatud ja puhverdamata voogude töötlemine. Liides Serializable. | P9 Vood. Binaarne I/O. Puhverdatud ja puhverdamata voogude töötlemine. | 1. kontrolltöö järeltöö Tulemuseks arvestatakse viimane sooritus |
11. | Erindite töötlemine. Erindite tüübid. | P10 Erindite töötlemine. Erindite tüübid. | |
12. | Dünaamilised andmestruktuurid (list, magasin, järjekord). | P11 Java andmestruktuurid. Liides Collection. Liides Comparable. Liidesed List, Deque ja Map. | |
13. | Kordamine kontrolltööks | 2. kontrolltöö | |
14. | Lõimed. Lõime seisundid. Lõimede sünkroniseerimine. | P12 Lõimed. Lõime seisundid. Lõimede sünkroniseerimine. | |
15. | Kordamine | Rühmatööde esitlused. | |
15. | Eksam | 2. kontrolltöö järeltöö Tulemuseks arvestatakse viimane sooritus |