Helsingin yliopisto / Tietojenkäsittelytieteen laitos / 582309 Ohjelmointitekniikka (Java)
© 2006 Arto Wikla. Tämän oppimateriaalin käyttö on sallittu vain yksityishenkilöille opiskelutarkoituksissa. Materiaalin käyttö muihin tarkoituksiin, kuten kaupallisilla tai muilla kursseilla, on kielletty.

Ohjelmointitekniikka (Java): 2. jakson erikoisharjoitustehtävä

(Viimeisin päivitys 26.1.2006)

Tämän tehtävän tarkoitus on (ihan aidosti!) kerätä ideoita laitoksen opetuksen kehittämiseen. Ja rehellisesti sanoen kurssin opiskelijoiden asiantuntemusta yritetään häpeämättömästi käyttää hyväksi!

Hyvistä ja toteuttamiskelpoiselta vaikuttavista vastauksista voi saada enimmillään kolme lisäpistettä kurssin arvosanan määräävään pistepottiin; kurssin kokonaispistemaksimiksi siis tulee 63. Läpipääsyraja ei silti nouse. Pisteet annetaan opintopiirin kaikille jäsenille, jotka aktiivisesti osallistuvat vastauksen laatimiseen. Aktiivisuus ilmaistaan kirjoituksen tekijöiden nimiluettelona, ts. aktiivisuuden määrittelee opintopiiri itse.

Vastaukset toimitetaan sähköpostitse kurssin vastuuhenkilölle viimeistään perjantaina 10.2.2006. Osoite on Arto.Wikla ättä cs.helsinki.fi.

Graafiset käyttöliittymät ohjelmoinnin peruskursseilla

Taustaa:

Ohjelmoinnin perusopetuksessa (kurssit Ohjelmoinnin perusteet ja Java-ohjelmointi) alkaisi olla aika oppia perinteisen ohjelmointityylin rinnalla nykyaikaisemman tapahtumaohjatun ja graafista käyttöliittymää hyödyntävän ohjelmointityylin perusideat.

"Perinteisellä tyylillä" tässä tarkoitetaan ohjelman sellaista toimintalogiikkaa, jossa pääohjelma kutsuu aliohjelmia, jotka kutsuvat aliohjelmia, ..., logiikkaa jossa ohjelma itse päättää, mitä tehdään ja milloin. Mielestäni tämän tavan oppimisen on ainakin vielä useita vuosia kuuluttava ohjelmoinnin peruskursseille. Toisaalta nykyään "tosimaailmassa" ohjelmointi yhä useammin on tapahtumaohjattua ohjelmointia, algoritmien laatimista tapahtumiin reagoinniksi - ja yleensä nimenomaan graafisen käyttöliittymän komponenttien tapahtumiin reagoinniksi.

Ohjelmointikursseilla on jo nykyään melko paljon sisältöä: ajattelutapoja, tekniikoita ja ohjelmointikielen rakenteita. Siksi uusien asioiden lisääminen on ongelmallista - kovin paljon ei saada mahtumaan, jotakin nykyistä pitäisi myös uskaltaa jättää pois. Nykyisestä kurssimateriaalista voi tarkistaa vallitsevan tilanteen. Peruskurssi sisältää luvut 1 ja 2, Java-kurssi luvut 3-5. Java-kurssin lopuksi luvussa 6 kurkistetaan GUI-asioihin, mutta koealueeseen ne eivät kuulu.

Peruskursseilla ei voida olettaa mitään aloittajien ohjelmointitaustasta; myös täysin tyhjältä pöydältä lähtevän opiskelijan pitää pystyä kurssit suorittamaan.

Tehtävä:

Laatikaa perusteltu ehdotus, miten ja millaisena graafisen käyttöliittymän laatiminen ja tapahtumaohjattu ohjelmointi voitaisiin sisällyttää ohjelmoinnin perusopetukseen. Millaiset Java-kielen valmiit välineet tai laitoksella toteutettavat omat välineet soveltuisivat ohjelmoinnin aloittelijoille? Oleellista on, ettei välineiden monimutkaisuus peitä varsinaista ideaa alleen. Voitaisiinko jotakin kurssien nykysisältöä jättää pois? Toisin sanoen olisivatko jotkin nykyisen sisällön osat vähemmän tärkeitä kuin yksinkertainen GUI ja tapahtumat? Mihin kohtaan kurssia nämä uutuudet parhaiten sopisivat?


[Pääsivulle] Takaisin harjoitusten pääsivulle.