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
-
ET23KMTietotekniikka
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
-
ETB22SPTietotekniikka
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
-
ETA22SPTietotekniikka
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