Siirry suoraan sisältöön

Ohjelmointi III - Olio-ohjelmointiLaajuus (5 op)

Tunnus: 4_ETA7300

Laajuus

5 op

Opetuskieli

  • suomi

Osaamistavoitteet

Tiedät mitä olioilla mallintamiseen sisältyy
Tiedät mikä luokka on
Osaat luoda luokan
Tiedät mikä olio on
Osaat luoda luokan instansseja
Tiedät mikä ominaisuus on
Osaat luoda ominaisuuksia luokkiin
Tiedät mikä metodi on
Osaat luoda oliokohtaisia metodeja
Osaat luoda luokkakohtaisia metodeja
Osaat mallintaa sovellusaluetta olioiden avulla
Osaat luoda luokkia sovellusalueen mallin mukaisesti
Tiedät mitä tiedon kätkentä merkitsee
Tiedät mikä aksessori on
Tiedät mikä mutaattori on
Tiedät mitä mutaattori tekee
Tiedät mitä aksessori tekee
Tiedät mitä suojausmääreet ovat
Osaat rajata ominaisuuksien näkyvyyttä
Osaat rajata metodien näkyvyyttä
Osaat kirjoittaa aksessoreita
Tiedät miksi luokan jakaminen useampaan tiedostoon on tarpeellista
Osaat osittaa luokan
Tiedät mitä perintä tarkoittaa
Tiedät miten perintä toimii
Osaat periä luokan toisesta
Osaat korvata metodin toiminnallisuuden aliluokassa
Osaat rajoittaa perittyjen ominaisuuksien näkyvyyttä aliluokissa
Osaat rajoittaa perittyjen metodien näkyvyyttä aliluokissa
Tiedät mitä metodin korvaus tarkoittaa
Tiedät mitä osasuhde tarkoittaa
Tiedät mitä käyttösuhde tarkoittaa
Osaat toteuttaa osasuhteen
Osaat toteuttaa käyttösuhteen
Osaat hyödyntää koodin uudelleenkäytettävyyttä laajemmassa projektissa
Tiedät mitä monimuotoisuus tarkoittaa perinnässä
Tiedät mitä monimuotoisuus tarkoittaa metodeissa
Tiedät mitä metodin ylikirjoitus tarkoittaa
Tiedät miten tyyppimuunnokset toimivat
Osaat luoda ylikirjoitettavan metodin
Osaat ylikirjoittaa metodin toiminnallisuuden
Osaat hyödyntää kantaluokan tyyppiä aliluokkien tallennukseen
Tiedät mitä poikkeukset ovat
Tiedät miten poikkeuksia käytetään
Osaat napata poikkeuksiin
Osaat valita poikkeusten käsittelylle oikean järjestyksen
Osaat heittää poikkeuksen
Osaat luoda oman poikkeusluokan
Tiedät mikä rajapinta on
Osaat luoda rajapintoja
Osaat toteuttaa rajapinnan
Osaat toteuttaa useita rajapintoja samaan luokkaan
Tiedät mikä on abstrakti luokka
Osaat luoda abstraktin luokan
Osaat luoda abstraktin metodin
Osaat toteuttaa abstraktin metodin
Osaat suunnitella olioiden avulla toteutusmallin sovellusalueelle
Osaat valita perinnän, käyttösuhteen ja osasuhteen sovellusalueen tarpeiden mukaan
Ymmärrät mitä säikeet ovat
Osaat käyttää säikeitä ohjelmassasi
Ymmärrät suorituksen rinnakkaistamisen säikeiden avulla
Tunnet keskeisimmät kielen kokoelmaluokkien tyypit
Osaat hyödyntää kokoelmaluokkien kirjastofunktioita

Sisältö

Olio-ajattelu ja mallintaminen
Luokat ja oliot
Tiedon kätkentä
Luokka- ja oliokohtaiset muuttujat
Luokka- ja oliokohtaiset metodit
Rakentaja ja tuhoaja
Periytyminen (on jotakin -suhde)
Monimuotoisuus
Abstraktit luokat
Rajapintaluokat
Osasuhde ja käyttösuhde (on jollakin -suhde)
Säikeet
Poikkeukset olioiden kannalta

Esitietovaatimukset

Ohjelmointi I – Ohjelmoinnin perusteet, Ohjelmointi II - Käyttöliittymäohjelmointi

Oppimateriaalit

Opintojakson alussa Moodlessa julkaistaan kurssin materiaali

Esitietovaatimukset

Ohjelmointi I – Ohjelmoinnin perusteet, Ohjelmointi II - Käyttöliittymäohjelmointi

Ilmoittautumisaika

01.08.2023 - 15.09.2023

Ajoitus

09.11.2023 - 09.12.2023

Laajuus

5 op

Virtuaaliosuus (op)

3 op

Toteutustapa

40 % Lähiopetus, 60 % Etäopetus

Yksikkö

Tietotekniikka - AMK

Toimipiste

Microkadun kampus

Opetuskielet
  • Suomi
Opettaja
  • Jukka Kinnunen
Ajoitusryhmät
  • Avoin_amk_CO (Koko: 400. Avoin AMK: 0.)
Opiskelijaryhmät
  • ET23KM
    Tietotekniikka
Koulutusryhmat
  • Avoin_amk_CO

Toteutuksen kuvaus

Toteutus etenee monimuoto-opiskelijoiden lukujärjestyksen mukaisesti.

- 1 x 6 h sessio
- 1 x 4 h sessio
- 3 x 2 h sessio

Esitietovaatimukset

Ohjelmointi I – Ohjelmoinnin perusteet, Ohjelmointi II - Käyttöliittymäohjelmointi

Oppimateriaali ja suositeltava kirjallisuus

Opintojakson alussa Moodlessa julkaistaan kurssin materiaali

Lisätietoja opiskelijoille

Lähiluennot nauhoitetaan, joten opintojakson voi suorittaa kokonaan verkossa.
Avoimen amk:n opiskelijoille opintomaksu on 75 euroa.

Ilmoittautumisaika

01.12.2022 - 15.01.2023

Ajoitus

09.01.2023 - 12.03.2023

Laajuus

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tietotekniikka - AMK

Toimipiste

Microkadun kampus

Opetuskielet
  • Suomi
Opettaja
  • Jukka Kinnunen
Opiskelijaryhmät
  • ETB22SP
    Tietotekniikka

Toteutuksen kuvaus

Toteutus etenee monimuoto-opiskelijoiden lukujärjestyksen mukaisesti.

- 1 x 6 h sessio
- 1 x 4 h sessio
- 3 x 2 h sessio

Esitietovaatimukset

Ohjelmointi I – Ohjelmoinnin perusteet, Ohjelmointi II - Käyttöliittymäohjelmointi

Oppimateriaali ja suositeltava kirjallisuus

Opintojakson alussa Moodlessa julkaistaan kurssin materiaali

Lisätietoja opiskelijoille

Opintojakso on maksuton CampusOnline -opiskelijoille.
Avoimen amk:n opiskelijoille opintomaksu on 75 euroa.

Ilmoittautumisaika

01.12.2022 - 15.01.2023

Ajoitus

01.01.2023 - 05.03.2023

Laajuus

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tietotekniikka - AMK

Toimipiste

Microkadun kampus

Opetuskielet
  • Suomi
Paikat

50 - 60

Opettaja
  • Jukka Kinnunen
Opiskelijaryhmät
  • ETA22SP
    Tietotekniikka

Toteutuksen kuvaus

Toteutus: luennot ja ja harjoitukset. Luennoilla tyypillisesti käydään lyhyesti teoria läpi, jonka jälkeen esimerkkien ja omatoimisten harjoitusten kautta teoria siirretään käytännöksi. Luennot ja harjoitukset nauhoitetaan ja tyypillisesti luennoille tarjotaan etäyhteys. Harjoitusten aikana opiskelijoita tuetaan ja ohjataan "kädestä pitäen"

Arviointi: Koostuu arvioitavista viikkotehtävistä, viikkokokeista ja tentistä. Tentti pitää suorittaa hyväksytysti.

Toteutuksen valinnaiset suoritustavat

Ota yhteys kurssin opettajaan

Opiskelijan ajankäyttö

Opiskelijan viikottainen työmäärä muodostuu seuraavasti:
- ohjatut luennot ja harjoitukset 42 h
- itsenäinen työskentely, 90h

Esitietovaatimukset

Ohjelmointi I – Ohjelmoinnin perusteet, Ohjelmointi II - Käyttöliittymäohjelmointi

Oppimateriaali ja suositeltava kirjallisuus

Kurssin opetusmateriaali julkaistaan moodlessa. Materiaali sisältää ppt-tiedostoja, videoita, tehtäviä ja esimerkkiratkaisuja.

Ohessa lisämateriaalia:
- Y.Daniel Liang: Introduction to Java programming
- Tony Gaddis: Starting Out with Java
- Horstman, Cornell: Core Java
- Silander, Ollikainen, Peltomäki: Java
- Juha Peltomäki: Pieni Java 8 kirja
- https://www.w3schools.com/java/default.asp
- https://www.tutorialspoint.com/java/
- https://docs.oracle.com/javase/tutorial/
- https://www.guru99.com/java-tutorial.html