1. Aloitus
  2. Suorittaminen
  3. Työkalut ja asentaminen
  4. Tuki ja palaute
  5. Harjoitustyö
  6. Tentti
  7. Luennot
  8. Java-kielen perusteet
    1. Hei, Java!
    2. Muuttujat ja tietotyypit
    3. Ohjausrakenteet
    4. Aliohjelmat
    5. Osan kaikki tehtävät
  9. Olio-ohjelmoinnin perusteet
    1. Kohti olio-ohjelmointia
    2. Luokka ja olio
    3. Kapselointi
    4. Osan kaikki tehtävät
  10. Perintä ja rajapinnat
    1. Perintä
    2. Rajapinnat ja abstraktit luokat
    3. Polymorfismi
    4. Perintä tai rajapinta?
    5. Osan kaikki tehtävät
  11. Hyödyllisiä menetelmiä olio-ohjelmoinnissa
    1. Geneeriset luokat
    2. Tyyppitarkistukset ja tyyppimuunnokset
    3. Muita hyödyllisiä rajapintoja Javassa
    4. Osan kaikki tehtävät
  12. Tietorakenteita ja algoritmeja
    1. Kokoelmarajapinnat
    2. Valmiit kokoelmat Javassa
    3. Esimerkki: oma ArrayList-toteutus
    4. Rekursio
    5. Osan kaikki tehtävät
  13. Hyödyllisiä menetelmiä Javassa
    1. Funktiorajapinnat ja lambda-lausekkeet
    2. Kokoelmien käsittely: Stream API
    3. Poikkeusten hallinta
    4. Ulkoiset kirjastot ja Java-projektien hallintatyökalut
    5. Tiedostojen käsittely
    6. Osan kaikki tehtävät
  14. Viikko 7 (WIP)
  15. Viikko 8 (WIP)
  16. Viikko 9 (WIP)
  17. Viikko 10 (WIP)
  18. Viikko 11 (WIP)
  19. Viikko 12 (WIP)