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 | |
| Praks 16 (07.04) | Lugeda Testing with JUnit; Mock objects, constructor injection | Ülesanded: materjalist | |
| Praks 17 (09.04) | Inner classes, lambdas, method references Lugeda Introduction ning Stream API, harjutused | Hacking lambda expressions | Ülesanded: materjalist |
| Praks 18 (14.04) | Jätkame Stream-idega ja ülesannetega: | Ülesanded: Stream API, harjutused | |
| Praks 19 (16.04) | Lugeda JDBC: H2 embedded, prepared statement, transactions | JDBC: H2 embedded, prepared statement, transactions, SQL | Ülesanded: materjalist |
| Praks 20 (21.04) | Lugeda JPA, Hibernate ORM | JPA, ORM | Ülesanded: materjalist |
| Praks 21 (23.04) | Lugeda Crypto basics | Ülesanded: materjalist | |
| Praks 22 (28.04) | Lugeda Annotations + reflection | Java Reflection API | Ülesanded: materjalist |
| Praks 23 (30.04) | Lugeda Visitor pattern | Visitor pattern, GOF patterns | Ülesanded: materjalist |
| Praks 24 (05.05) | KT2 kordamine | text vs binary streams, Files.readAllLines/write, list vs map vs set, File.exists vs Files.exists, exceptioni subclass loomine | Ülesanded: Voogude harjutustest ülesanne 6 Erindite harjutustest ülesanded 2, 7 veel üks KT näidisülesanne |
| Praks 25 (07.05) | KT2. 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 26 (12.05) | Lugeda Protsessidest | Protsessid | Ülesanded: materjalist |
| Praks 27 (14.05) | Lugeda Profileerimisest | Profiling with VisualVM; Garbage collection | Ülesanded: materjalist |
| Praks 28 (19.05) | Eksamiks kordamine | ||
| Praks 29 (21.05) | Rühmatööde esitlused | Praktikumis on rühmatöö esitluseks aega 7-8 minutit Esitluses võiksid osaleda kõik meeskonnaliikmed Lisaks õppejõule on hindamises oma roll ka teistel rühmadel. Valmistame praktikumiks küsitluse, kus oleks kõikide rühmade info. Kõik esinenud rühmaliikmed saavad esitluse eest võrdse hinde. Hindamise ankeet |