Prakside kava
Tavarühmade materjal
| Praktikum | Kodus | Praktikumis | Harjutused |
|---|---|---|---|
| Praks 1 (10.02) | Lugeda Sissejuhatus (alates "Esimene Java programm") Lugeda Java põhikonstruktsioonid Abiks on ka 1. ja 2. loengu slaidid ja videod IDEA setup + run application | Aine korraldus Tutvumisring IDE tricks: psvm, sout | Ülesanded: * (soovituslik) praktikumi materjalist P5, P7 lisalugemist |
| Praks 2 (12.02) | Lugeda Objektid. Klassid. | koduste tööde esitamisest IDE tricks: alt+insert, rename symbol, ctrl+q, reformat code, reading javadoc, /**, reading source class imports, Arrays.toString, cli-args | Ülesanded: praktikumi materjalist P6 harjutustest H2, H4 lisalugemist |
| Praks 3 (17.02) | Lugeda Sõned. Failid. Listid. | code style: muutujate ja meetodite nimed oracle-i poolt soovitused google-ilt value vs reference IDEA advanced: iter, fori, debugging | Ülesanded: praktikumi materjalist P1, P8 ning harjutustest H3 silumisest |
| Praks 4 (19.02) | Lugeda Polümorfism. Liidesed. | Praktikumi ei toimu, teema on iseseisvaks harjutamiseks.List vs ArrayList? List.of, Arrays.asList, Collections.emptyList IDE tricks: extract method/var, ctrl+b/ctrl+alt+b, show usages, ctrl+alt+left/right, debugger eval expression | Ülesanded praktikumi materjalist P* Võib alustada harjutustega, need tuleb kodus lõpetada ja esitada osana kodutööst. |
| Praks 5 (26.02) | Lugeda Ülemklassid. Alamklassid. Abstraktsed klassid. Loe üldist git sissejuhatust (algusest kuni "How GitHub fits in") Huvilisetele, kuidas git toimib | IDE tricks: ctrl+i, ctrl+o dynamic dispatch, super.m() vs this.m() git intro, kodus lahenda ülesandekomplekt | Ülesanded praktikumi materjalist P* välja arvatud 4,5 |
| Praks 6 (03.03) | Lugeda Vood. Lisaks lugeda primitiividest ja nende mälukasutusest | flatten datastreamide kirjutamine, writeUTF seletus IDE tricks: thread dump, Files.readAllBytes, Files.readString rühmatööde tutvustus | Ülesanded praktikumi materjalist P4, P8 ning harjutustest H5 tcp/ip, network protocols https://github.com/mbakhoff/sockets-template |
| Praks 7 (05.03) | Lugeda Lõimed. | final fields deadlock näide, thread dump https://gist.github.com/mbakhoff/0fd51bfd653b778fcabc Executors fixedpool näide Item 66: Synchronize access to shared mutable data | Ülesanded praktikumi materjalist 2, 3, 4, 5, 6 |
| Praks 8 (10.03) | Lugeda Veahaldus. | rethrow, runtime exceptionisse wrapimine IDE tricks: conditional breakpoint, exception breakpoint, ctrl+tab/ctrl+e/ctrl+n | Ülesanded praktikumi materjalist P3, P6, P9 ning harjutustest H4, H8 |
| Praks 9 (12.03) | Lugeda Graafika. Sündmused. | awt vs swing vs javafx (link) scene graph, layouts Observer pattern, event driven programming | Ülesanded graafikast: P3, P6 ning harjutustest H2 Sündmustest P1, P4 ning harjutustest H1, H3 |
| Praks 10 (17.03) | Lugeda Andmestruktuurid. | koduste ülesannete analüüs (bugid) eksamil peab teadma: ArrayList, LinkedList, HashSet, TreeSet, LinkedHashSet, ArrayDeque, HashMap, TreeMap, LinkedHashMap natural ordering. "How does a hashmap work?" (link) Collections framework (link) ja analoogid (link) | Ülesanded praktikumi materjalist P1, P2, P4, P5, P7 |
| Praks 11 (19.03) | KT1 kordamine | fori vs iter, extract variable/parameter, täisarvudega jagamine, static fields, string equals vs ==, generics / raw types, instance vs static methods, dynamic dispatch, this.m() vs super.m(), twr, catch algoritm, Files.readAllLines, Files.write | Voogude harjutustest ülesanded 1, 3, 4 Üks KT näidisülesanne |
Süvendusrühma materjalid
| Praktikum | Kodus | Praktikumis | Harjutused |
|---|---|---|---|
| Praks 12 (24.03) | Lugeda Packaging + maven | maven plugin creation guide useful maven plugins multimodule projects with maven useful maven commands artefacts repository | Ülesanded: materjalist loome maven plugina juhendi järgi |
| Praks 13 (26.03) | KT1. Tutvuge enne kontrolltööd ka KT reeglitega | Ülesanded avalikustatakse moodle-is. Esitada tuleb moodlisse! ja igaks juhuks meiliga juhendaja aadressile. Ärge unustage esitada ka lahenduse logid Moodle'i kaudu. | |
| Praks 14 (31.03) | Lugeda Classpath, resource loading | Ülesanded: materjalist | |
| Praks 15 (02.04) | Lugeda Serialization, JSON, XML | Ülesanded: materjalist |