Tietotekniikan toisen vuoden opiskelija Tuomas kertoo olio-ohjelmoinnin kurssin sisällöstä.
Perustiedot kurssista
- Koulutusohjelma: tietotekniikka
- Suoritusvuosi: 1. vuosi
- Kurssin kesto: 3.–4. periodi
- Opintopisteet: 6 op
- Arviointi: arvosana 0–5, joka perustuu tenttiin (30 %), harjoituksiin (25 %) ja harjoitustyöhön (45 %)
- Kurssin kuvaus opinto-oppaassa
”Kun ensimmäisen eli fuksivuoden peruskurssit on taputeltu ja pythonin sekä c-ohjelmoinnin perusteet hallussa, siirrytään tietotekniikan ohjelmassa opettelemaan olio-pohjaista ohjelmointia.
Kurssi on tietotekniikan opiskelijoille pakollinen, mutta se on myös niiden sivuaineopiskelijoiden suosiossa, jotka haluavat oppia koodaamista käytännössä.
Kurssilla on luentoja, viikoittaisia harjoituksia, tentti sekä suurempi harjoitustyö, jossa pääsimme koodaamaan oman pakettiseurantajärjestelmän Googlen karttapalveluita hyödyntämällä. Tehtävät kurssilla etenevät perusasioista suurempiin kokonaisuuksiin ja olio-ohjelmoinnin ominaisuuksien soveltamiseen.
Olio-ohjelmointi (object-oriented programming, OOP) on yleinen tapa mallintaa ja toteuttaa ohjelmistokokonaisuuksia, joita on helpompi ymmärtää, kuin perinteisellä proseduraalisella koodaamisella tehtyjä ohjelmistoja.
Jo opitut loogiset mallit olivat hyvä ja edelleen pätevä pohja osaamiselle, mutta suurempien kokonaisuuksien suunnittelu ja toteutus helpottuivat kurssin edetessä uusien oppien myötä merkittävästi. Olio-pohjainen ohjelmisto muodostaa ikään kuin simulaation ympäröivästä todellisuudesta. Sen perusajatus on kuvata koodin rakenteille todellista maailmaa.
Otetaan tähän pakettiseurantajärjestelmää hieman yksinkertaisempi esimerkki: koodilla luodaan olioita, esimerkiksi pullonpalautusautomaatti.
Perinteisessä proseduraalisessa koodissa pitäisi erotella eri tölkki- ja pullotyypit koodaamalla niille arvot ja käsitellä näitä vaihtoehtoja jonkinlaisessa while- tai if-rakenteessa. Tämä on maallikolle hieman vaikeaselkoinen ja teknistä osaamista vaativa kokonaisuus, eikä koodia lukemalla välttämättä suoraan pysty ymmärtämään, mitä siinä tapahtuu.
Olio-pohjainen koodi on aivan erilaista. Kuvassa on lyhyt esimerkki siitä, miltä olio-pohjainen koodi näyttää. Ensimmäinen kokonaisuus kertoo, mikä palautettava asia on (eli pullo) ja mikä ominaisuus yleisellä palautettavalla asialla on (eli pantti).
Jälkimmäisessä kokonaisuudessa esitetään automaatin perustoiminnot: pullon vastaanotto ja kuitin tulostus. Pullon vastaanottamisen yhteydessä kuitin arvoon lisätään syötetyn pullo-olion pantti ja tulostettavaan kuittiin määritetään tekstinpätkä: “Kuitin arvo on xx.xx”. Kun koodia lukee, sen toiminta on kuvattu lähes puhekielisesti.
Olen huomannut kurssin tärkeyden myös työelämässä. Uuden, aiemmin tuntemattoman ohjelmointikielen oppiminen oli nopeaa, sillä ajatusmalli ja perusperiaatteet ovat lukuisissa ohjelmointikielissä samat.
Kurssilla käytetyn javan opit kääntyivät helposti ceesharppiin, vb.net:iin tai vaikkapa javascriptin lukuisiin kirjastoihin. Tämä kurssi, etenkin yhdessä tietokantakurssien ja www-ohjelmoinnin kanssa ovatkin monille opiskelijoillemme avaimet ensimmäiseen oman alan työpaikkaan.”