1.1. Ülevaade keelest, keskkonna seadistamine.
1.2. Virtuaalmasin. Kompileerimine, mäluhaldus.
1.3. Konstandid, muutujad, literaalid. Andmete hoidmine virtuaalmasina mälus.
1.4. Java-elutsükkel. Klasside, objektide loomine, nende väärtused ja konstandid.
1.5. Süntaks: main object, primitiivsed andmetüübid.
1.6. Süntaks: objekti meetodid, meetodi loomise põhitõed (clean code, DRY, KISS jne)
1.7. Süntaks: laused, tingimuslaused, switch-käsud.
1.8. Süntaks: for- ja while-tsüklid
1.9. Süntaks: boolean loogika, loogilised operaatorid ja nende hierarhia.
1.10. Süntaks: calculations, aritmeetilised operaatorid ja nende hierarhia.
1.11. Süntaks: try .. catch, Exception class
1.12. Standardsed objektid. Primitiivsed vs mähitud objektid (wrapped objects): Long, Boolean. String
1.13. Standardsed objektid. Sisend-väljund: InputStream, OutputStream
1.14. Standardsed objektid. Date. Java 1.8: Clock, ZoneId, LocalTime, LocalDateTime
1.15. javadoc, annotations, coding conventions
2.Objektorienteeritud programmeerimine 1. osa. (22 ak t)
2.1. Objektide konstruktorid. Java 1.8: suppliers
2.2. Baasklass Object ja selle meetodid clone, equals, hash, toString
2.3. Kohandatud objektide loomine: class, enum
2.4. Klasside rühmitamine – package. Ligipääsupiirangud.
2.5. Java 1.8: lambda-avaldised. Ligipääs muutujatele lambda-avaldistes.
2.6. Pärilus. Ligipääs ülemklassi meetoditele.
2.7. Kapseldus. Private, package-private klassi väljad.
2.8. Polümorfism. Meetodi käitumise muutumine, tüüpide teisendamine.
2.9. Iteraator, Komparaator. Komparaatori võimalused Java 1.8
2.10. Java 1.8: vood. Voogude lõpp- ja vahemeetodid.
2.11. Graafika võimalused Javas, GUI.
3. Java baasalgoritmid (20 ak t)
3.1. rekursioon vs tsüklid. Katkestamise tingimus.
3.2. Sorteerimine, Java 1.8: parallelStream().sorted()
3.3. Andmestruktuurid: muutuva suurusega ja massiivid
3.4. Andmestruktuurid: Array vs List, Set
3.5. Andmestruktuurid: ahelad ja puud
3.6. Otsing, puu läbimine
3.7. Andmestruktuurid Maps, Multi-maps
3.8. Assotsiatiivsete struktuuride räsimine võtmetega, Java 1.8: putIfAbsent, getOrDefault
3.9. Algoritmi keerukus
3.10. Algoritmide optimeerimine
4. Objektorienteeritud programmeerimine 2. osa. (26 ak t)
4.1. abstraktsed klassid
4.2. liidesed + interface default (1.8)
4.3. geneerilised tüübid – generic types
4.4. Reflection API: getDeclaredField, setAccessible
4.5. Reflection API: decorators
4.6. Java 1.8: Funktsionaalsed liidesed
4.7. Java 1.8: Viited meetoditele ja konstruktoritele
4.8. Objektide koostoime süsteemis: Composition & Aggregation
4.9. Objektide koostoime süsteemis: Injection, sõltuvuse süstimise võimalused
4.10. Objektide koostoime süsteemis: Threads, Runnable
4.11. Objektide koostoime süsteemis: Voogude sünkroniseerimine
4.12. Objektide koostoime süsteemis: Networking. URL, HttpClient
4.13. Objektide koostoime süsteemis: Serialiseerimine ja deserialiseerimine. XML, Json. Endpoints.
5. Programmeerimise põhimustrid (20 ak t)
5.1. Objektide mustrid: Singleton
5.2. Objektide mustrid: Factories + Abstract Factory
5.3. Objektide mustrid: Prototype
5.4. Objektide mustrid: Builder
5.5. Struktuuri mustrid: Adapter
5.6. Struktuuri mustrid: Facade
5.7. Struktuuri mustrid: Composite
5.8. Struktuuri mustrid: Decorator
5.9. Struktuuri mustrid: Proxy, Bridge
5.10. Antimustrid.
Aadress ja kontaktinfo
+372 53957408
buseduc@buseduc.com
BTEducation, Peterburi tee 50D, 11415 Tallinn, Eesti