Java Programming IILaajuus (3 ECTS)
Course unit code: T0120
General information
- Credits
- 3 ECTS
Objective
Opintojakson suoritettuaan opiskelija ymmärtää rajapintojen ja kerrosarkkitehtuurin merkityksen edistyneessä olio-ohjelmoinnissa ja tuntee rinnakkaisohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää monipuolisesti itse ohjelmoimiaan luokkia ja rajapintoja. Opiskelija osaa toteuttaa kerrosarkkitehtuurin (MVC, DAO) mukaisia ohjelmia. Opiskelija osaa hyödyntää Javan eri luokkakirjastoja (Collections framework, JDBC). Opiskelija hallitsee yksinkertaisen www-järjestelmän ohjelmoinnin ilman kehikoita.
Content
Rajapinnat ja kerrosarkkitehtuuri. Kokoelmaluokkien kehys (Collections Framework). Rinnakkaisohjelmointi (säikeet). Verkko-ohjelmointi.
Qualifications
Java-ohjelmoinnin peruskurssi.
Assessment criteria, satisfactory (1)
Rajapinnat ja kerrosarkkitehtuuri:
- Opiskelija osaa määritellä rajapintoja ja niille toteutukset.
- Opiskelija osaa selittää MVC-, DAO- ja DTO-mallien merkitykset.
Kokoelmaluokkien kehys (Collections Framework):
- Opiskelija osaa luetella erilaisia Javan Collection- ja Map-rakenteita ja esittää niille sovellusalueita.
- Opiskelija osaa käyttää Collection- ja Map-rakenteita sellaisille olioille, joille yhtäsuuruus ja luonnollinen järjestys on määritelty.
Rinnakkaisohjelmointi (säikeet).
- Opiskelija osaa ohjelmoida säikeitä.
Assessment criteria, excellent (5)
Rajapinnat ja kerrosarkkitehtuuri:
- Opiskelija osaa hyödyntää Java Reflection APIa ohjelman dynaamiseen konfigurointiin (esim. kerroksen toteutuksen valinta properties-tiedoston avulla).
- Opiskelija osaa toteuttaa monipuolisen SQL-injektioturvallisen DAO-kerroksen.
Kokoelmaluokkien kehys (Collections Framework):
- Opiskelija osaa sujuvasti hyödyntää erilaisia rakenteita annetuissa ongelmatilanteissa.
- Opiskelija osaa myös vähemmän tunnetut rakenteet (esim EnumMap).
Rinnakkaisohjelmointi (säikeet):
- Opiskelija osaa toteuttaa säikeen pysäyttämisen lisäksi myös muut säikeen elinkaareen liittyvät toimenpiteet (keskeytys, jatkaminen).