Siirry suoraan sisältöön

Advanced Java Programming Features (3 op)

Toteutuksen tunnus: TX00FI95-3001

Toteutuksen perustiedot


Ilmoittautumisaika
02.05.2023 - 07.08.2023
Ilmoittautuminen toteutukselle on päättynyt.
Ajoitus
07.08.2023 - 11.08.2023
Toteutus on päättynyt.
Opintopistemäärä
3 op
Toteutustapa
Lähiopetus
Yksikkö
(2019-2024) ICT ja tuotantotalous
Toimipiste
Leiritie 1
Opetuskielet
englanti
Paikat
0 - 30
Koulutus
Degree Programme in Information Technology
Opettajat
Reinhard Schiedermeier
Ryhmät
ICTSUMMER
ICT Summer School
Opintojakso
TX00FI95

Toteutuksella on 5 opetustapahtumaa joiden yhteenlaskettu kesto on 20 t 0 min.

Aika Aihe Tila
Ma 07.08.2023 klo 09:00 - 13:00
(4 t 0 min)
Advanced Java Programming Features TX00FI95-3001
MMC312 Oppimistila
Ti 08.08.2023 klo 09:00 - 13:00
(4 t 0 min)
Advanced Java Programming Features TX00FI95-3001
MMC312 Oppimistila
Ke 09.08.2023 klo 09:00 - 13:00
(4 t 0 min)
Advanced Java Programming Features TX00FI95-3001
MMC312 Oppimistila
To 10.08.2023 klo 09:00 - 13:00
(4 t 0 min)
Advanced Java Programming Features TX00FI95-3001
MMC312 Oppimistila
Pe 11.08.2023 klo 09:00 - 13:00
(4 t 0 min)
Advanced Java Programming Features TX00FI95-3001
MMC312 Oppimistila
Muutokset varauksiin voivat olla mahdollisia.

Tavoitteet

The Java programming language steadily integrates new language features, to adjust with evolving requirements. These features render Java a more expressive, more effective, and safer language.

This course covers a selection of advanced features that are commonly underused. Students learn how to make best use of them, to solve real-world problems, and learn about these features' respective advantages and limitations.

Sisältö

Topics discussed are:
* Records, immutability and mutability, delegation and inheritance.
* Nested types, their application for factories and object pooling;
Inner classes for tightly coupled objects;
Local and anonymous types for one-shot use.
* Functional interfaces, Lambdas and method references.
* Streams and their application of lambdas;
Streams as an alternative to loops, and Optional vs null.
* Generic types and methods, Wildcard types and type variances,
the Java compiler's type inference.
* Enhanced Switch statements and Type patterns, deconstruction of records.

Lisätietoja opiskelijoille

Students need to bring their own laptop.

Participants require a computer with an installation of
* Java JDK (version 19),
* IDE IntelliJ/Idea (community edition)

Both are freely available for Windows, MacOS and Linux.
Simple tests to validate the environment setup are provided prior to course beginning.

Arviointiasteikko

0-5

Arviointimenetelmät ja arvioinnin perusteet

Each topic includes hands-on programming assignments, at various and selectable levels of difficulty. Successful solutions of exercises correspond to assessment levels.

Esitietovaatimukset

Moderate Java programming proficiency is required, as well as an understanding of object oriented key concepts, like classes, inheritance and interfaces.

Siirry alkuun