| path |
/learning-objectives |
| title |
Learning Objectives |
| hidden |
true |
| information_page |
true |
TODO: rewrite
Ohjelmoinnin MOOCissa opit perustaidot ohjelmoinnista Java-kielellä. Ohjelmoinnin MOOC sisältää kurssit Ohjelmoinnin perusteet (materiaalin osat 1-7) ja Ohjelmoinnin jatkokurssi (materiaalin osat 8-14). Osakohtaiset osaamistavoitteet ovat seuraavat.
| Osa |
Osaamistavoitteet |
| 1 |
Osaat kirjoittaa ohjelmia, jotka lukevat käyttäjältä syötettä ja
tekevät laskentaa syötteen perusteella. Tunnet käsitteet
muuttuja, ehtolause ja toistolause, ja osaat käyttää näitä
ohjelmissasi.
|
| 2 |
Tunnet muutamia osaongelmia sekä niihin liittyviä
ratkaisumalleja. Tunnet loogiset operaatiot ja, tai ja ei ja
osaat käyttää niitä ehto- ja toistolauseissa. Tunnet käsitteet
metodi, metodin parametri, metodin palautusarvo ja ohjelman
kutsupino. Osaat luoda metodeja ja ymmärrät miten ohjelman
suoritus etenee kun metodia kutsutaan ja toisaalta kun
metodikutsusta palataan.
|
| 3 |
Tiedät lähdekoodin kommentointitapoja ja ymmärrät miten
muuttujien ja metodien nimentä vaikuttaa ohjelman
ymmärrettävyyteen. Tunnet lista- ja taulukkorakenteen ja osaat
käyttää niitä osana ohjelmia. Osaat käydä listan ja taulukon
läpi while-toistolausetta ja indeksimuuttujaa käyttäen sekä
for-each -toistolausetta käyttäen. Tunnet merkkijonoon liittyviä
metodeja ja osaat pilkkoa merkkijonon pienempiin osiin.
Harjoittelet ohjelmien testaamista syötteitä ja tulosteita
vertailemalla.
|
| 4 |
Tunnet käsitteet tiedosto ja tiedostojärjestelmä ja osaat lukea
merkkijonomuotoista tietoa tiedostosta. Tiedät mitä
olio-ohjelmointi tarkoittaa. Tunnet olio-ohjelmointiin liittyvät
keskeiset käsitteet kuten luokka ja olio. Osaat luoda luokkia ja
olioita sekä käyttää niitä osana toteuttamiasi ohjelmia.
|
| 5 |
Tiedät mitä alkeis- ja viittaustyyppiset muuttujat ovat ja
ymmärrät miten niiden toiminta eroaa toisistaan (muuttujan arvon
asetus, metodin parametrina käyttö). Osaat luoda luokkaan useita
konstruktoreja sekä useita samannimisiä metodeja. Osaat
vertailla olioiden samankaltaisuutta sekä määritellä
samankaltaisuuden vertailuun käytettävän metodin. Osaat
määritellä luokkaan viittaustyyppisiä oliomuuttujia, käyttää
olioita metodin paluuarvona, sekä käyttää listoja
oliomuuttujina.
|
| 6 |
Ymmärrät staattisten ja ei-staattisten metodien erot. Tunnet
hajautustaulun ja osaat käsitellä hajautustaulussa olevaa
tietoa. Osaat käyttää olioita hajautustaulun arvona ja tiedät
miten oliot toimivat hajautustaulun avaimena. Osaat ryhmitellä
tietoa hajautustaulun avulla ja osaat käyttää listaa
hajautustaulun arvona. Osaat käyttää olioita sekä tiedon
esittämiseen että ohjelman jakamiseen useampaan vastuualueeseen
(tekstikäyttöliittymä, sovelluslogiikka).
|
| 7 |
Osaat kertoa proseduraalisen ohjelmoinnin ja olio-ohjelmoinnin
eroista ja toteuttaa ohjelmia kumpaakin ohjelmointiparadigmaa
noudattaen. Tiedät mitä käsite algoritmi tarkoittaa ja osaat
kuvailla muutamien järjestämis- ja hakualgoritmien toimintaa.
Osaat kirjoittaa yksikkötestejä ja tiedät testivetoisen
ohjelmistokehityksen perusaskeleet.
|
Ohjelmoinnin jatkokurssi
| Osa |
Osaamistavoitteet |
| 8 |
Tunnet käsitteet perintä ja rajapinta. Osaat luoda luokkia,
jotka periytyvät toisesta luokasta ja osaat luoda luokkia, jotka
toteuttavat yhden tai useamman rajapinnan. Tiedät miten
abstraktit luokat toimivat. Ymmärrät että olio voidaan esittää
kaikkien sen todellisten tyyppien avulla.
|
| 9 |
Osaat käsitellä tietokokoelmia virran avulla. Osaat rajata
virran arvoja (filter) sekä muuntaa virran arvojen tyyppiä
(map). Tunnet käsitteen lambda-lauseke. Osaat järjestää olioita
Javan valmista Comparable-rajapintaa hyödyntäen. Tunnet
käsitteet säännöllinen lauseke, lueteltu tyyppi, ja iteraattori,
ja osaat hyödyntää näitä ohjelmissasi.
|
| 10 |
Tunnet luokkakaaviot ja osaat tulkita ja rakentaa ohjelmia
luokkakaavioiden perusteella. Osaat käyttää Javan pakkauksia ja
tiedät mistä import-lauseen osat muodostuvat. Tunnet Javan
erilaisia poikkeuksia ja osaat käsitellä sekä heittää niitä
eteenpäin. Osaat kirjoittaa tietoa tiedostoon ohjelmallisesti.
|
| 11 |
Tiedät mitä geneeriset tyyppiparametrit ovat ja osaat luoda
luokkia jotka käyttävät niitä. Tiedät pääpiirteittäin
ArrayListin ja HashMapin sisäisen toteutuksen ja osaat luoda
niistä yksinkertaistetut omat versiot. Tiedät miten
satunnaislukuja luodaan ja osaat käyttää Javan valmiita
välineitä satunnaislukujen luomiseen. Tunnet menetelmiä
moniulotteisen tiedon esittämiseen ja osaat luoda sekä käsitellä
moniulotteisia taulukoita.
|
| 12 |
Tutustut graafisten käyttöliittymien ohjelmointiin. Tunnet
muutamia käyttöliittymäkomponentteja,
käyttöliittymäkomponenttien asettelun mekanismeja, sekä osaat
käsitellä käyttöliittymän tapahtumia. Osaat tehdä
käyttöliittymiä, jotka sisältävät useamman näkymän.
|
| 13 |
Tunnet menetelmiä tiedon visualisointiin ja osaat käyttää Javan
valmiiksi tarjoamia kaavioita (viivakaavio, pylväskaavio). Osaat
käyttää Javan tarjoamia välineitä yksinkertaisten piirrosten
luomiseen. Osaat näyttää kuvia sekä soittaa äänitiedostoja. Luot
suuremman ohjelman esimerkkiä noudattaen.
|
| 14 |
Tunnet menetelmiä simulaatioiden luomiseen ja kertaat
kaksiulotteisten taulukkojen käyttöä. Tiedät, että muiden
kirjoittamia kirjastoja voi käyttää osana omia ohjelmia. Kertaat
käsitettä yksikkötestaus ja tunnet pääpiirteittäin käsitteen
testikattavuus.
|