Viope ja oppimisen tukeminen

Ohjelmoinnin opetuksessa käytettävän suomalaisen Viope-ympäristön tekijöiden kanssa on käyty tänä talvena rikasta keskustelua, ohjelmoinnin opetuksen tulevaisuudesta. Viopea ollaan käytetty ohjelmointikursseillani alusta asti, ja suhde siihen on muodostunut suhteellisen intiimiksi. Rohkaisen kurssilla opiskelijoita lähettämään kauttani Viopesta palautetta. Materiaalista on välillä löytynyt jokunen virhe, mutta palaute on otettu hyvin vastaan, ja Viopelaiset ovat miettimässä useamman muunkin ehdotuksen … Lue lisää

Infrastruktuurista ja ohjelmoinnin opetuksen laajentamisesta

Tänä talvena olen laajentanut ohjelmistokehityksen opetuksen kenttää vähitellen ja yksi pieni keskustelu kerrallaan. PC osana mittausjärjestelmää (C, C++) -kurssi, joka lähenee ohjelmointia automaatiojärjestelmien näkökulmasta, on yksi tärkeä erikoistumisalue, jota ilmeisesti harva Metropoliassa hallitsee. (Ohjelmoinnin perusteiden eritasoisia opettajia taitaa Suomessa riittää.) Edellisen postauksen ajatukset tilakoneista ovat peräisin tältä opintojaksolta. Ensi syksynä tarkoitus on mennä syvemmälle myös … Lue lisää

Tilakoneiden oppimisesta

Olen tämän syksyn opettanut itselleni uutta PC osana mittausjärjestelmää -opintojaksoa, josta käsittelyssäni on tullut pitkälti ohjelmoinnin jatkokurssi. Hommassa kiintoisinta on ollut ohjelmistosuunnittelun välineiden tärkeyden hahmottaminen ja tämän välittäminen opiskelijoille. Tilakone on periaatteessa (peruskäyttöä tarkastellessa) hyvin yksinkertainen väline, tai formalismi. Se auttaa hahmottamaan ohjelmiston, no, tilojen rakennetta ja suhteita toisiinsa. Opettaminen laittaa aika pienelle paikalle, kun … Lue lisää

C-kielen opettamisen haasteet

(Kirjoittajat: Olli Savolainen ja Daniel Schildt)

Olli: Ohjelmoinnin perusteiden opetuksessa on minusta tärkeää pidättäytyä oleelliseen: Sen oppimiseen, minkä avulla pääsee liikkeelle nopeasti ja toteuttamaan omia ideoita.

Erityisesti C- ja C++-kielissä tämä on erityisen haastavaa. Kun kieli on kolme-neljäkymmentä vuotta vanha, voi olla varma siitä että siinä on rakenteita ja käytäntöjä, joiden opettelusta ei monissa uusissa sovelluksissa ole enää kovinkaan paljoa hyötyä. Käytännössä ne on kuitenkin usein opittava, jos aikoo ymmärtää muiden koodia.

Internetin myötä ohjelmistokehityksen maailman kehitystahti näyttää räjähtäneen entistä nopeammaksi. JavaScriptiä pidettiin ennen vain skriptikielenä, jollaisena sitä mainostetaan edelleen myös löytämässäni Metropolian tutkinnossa.

Näyttää kuitenkin siltä, että tulevaisuudessa aina vain suurempaa jalansijaa saavat web-ohjelmistokehykset rakentuvat enemmän ja enemmän JavaScriptin päälle. Siihen ei enää suhtauduta pelkkänä skriptausalustana, vaan täysimittaisena ohjelmointikielenä, jonka päälle rakennetaan alustoja kuten Node.js ja sen ympärille rakentunut ekosysteemi.

Nettiselain lähestyy universaalin ohjelmistoalustan asemaa, sillä koodataan tulevaisuudessa myös kovempaa suorituskykyä vaativaa koodia. Toisaalta tämä kaikki on vielä suhteellisen uutta – haasteena on osata kiinnittää huomiota oleelliseen. Ei vanhenneeseen, mutta ei toisaalta myöskään ohimenevään muotivillitykseen.

Rajapinnoista ja uudelleenkäytettävyydestä

Daniel: Rajapinnat ovat sekä menneisyyttä että tulevaisuutta. Tietyllä tasolla ne luovat (toivottavasti myös dokumentoidun) mahdollisuuden uusien työvälineiden käyttöönottoon. Samalla uusia rajapintoja ei aivan joka tilanteessa välttämättä tarvitsekaan itse rakentaa aikaisempiin taustajärjestelmiin, ja esimerkiksi mobiilisovellusten rakentaminen helpottuu merkittävästi – jos rajapinta vain on riittävän nopea suurille käyttömäärille.

Olli: Aloittelevan ohjelmoijan yksi tärkeimmistä oppitunneista on se, ettei kaikkea kannata tehdä itse. Tai edes useimpia asioita.

Lue lisää

Käytettävyyden haasteet: Mikä pielessä ohjelmistokehityksessä? (3/3)

(Olli Sulopuisto kirjoitti jonkin aikaa sitten vaikeuksistaan käyttää e-laskuja Osuuspankin verkkopalvelussa. Kommentoin aiemmin itse käytettävyysongelmaa osassa 1, ja keskustelukulttuuria osassa 2.) Miksi kyseisen käyttöliittymän suunnittelijat eivät sitten ole onnistuneet toimimaan näinä vastuullisina asiantuntijoina, vaikka tavallinen kuluttaja heidät helposti tällaiselle jalustalle nostaakin? Osuuspankin verkkopalvelu on täynnä tämänkaltaisia pieniä ongelmia. (Oma listani on tarvittaessa saatavilla.) Ajan myötä … Lue lisää

Käytettävyyden haasteet: keskustelun kulttuurista (2/3)

Sekä yhteiskunta että yritykset tarvitsisivat tervettä kriittistä kasvualustaa sähköisille palveluille. (Olli Sulopuisto kirjoitti jonkin aikaa sitten vaikeuksistaan käyttää e-laskuja Osuuspankin verkkopalvelussa. Kommentoin itse käytettävyysongelmaa osassa 1.) Jos käytettävyysongelmat ovat kerran niin tyypillisiä, niin miksi näistä ongelmista sitten puhutaan Suomessa niin vähän? Koneen edessä itsensä tyhmäksi tuntevan on Suomessa nykypäivänäkin pehmitettävä sanomansa rituaalisella ”Olen varmaan idiootti, … Lue lisää

Osuuspankin e-laskut: käytettävyyden haasteet (1/3)

“Käytettävyystestaus, anyone, sitä opetettiin softasuunnittelijoille jo 90-luvulla” — Jyrki Kasvi* Olli Sulopuisto kirjoitti jokin aikaa sitten vaikeuksistaan käyttää e-laskuja Osuuspankin verkkopalvelussa. Vaikka laskun oli löytänyt, sen sisältöä — vaikkapa laskutusperustetta — ei noin vain löytynytkään. Tieto oli piilotettu linkin taakse, josta oli vielä poistettu perinteinen visuaalinen vihje klikattavuudesta — alleviivaus. Keskustelu blogissa jatkuu, ja moni kiinnittää ensimmäisenä huomiota siihen, että linkki kaivattuihin tietoihin … Lue lisää

Miten tehdä oppimiselle tilaa?

Sekin on haaste, miten opiskelijat saa pysymään liikkeessä ohjelmointikurssin aikana. Innostuneina. En väitä hallitsevani tätä vielä hirvittävän hyvin. Eri opiskelijat oppivat eri tavoilla. Yksi nauttii yksinäisestä pakertamisesta Viope-ympäristössä. Toinen kaipaa luentoja, kun ei jaksa lukea teoriaa Viopessa, ja haluaisi oppia yhdessä, soveltaen teoriaa suoraan luennon jälkeen käytäntöön yhdessä. Kolmas ei jaksa kuunnella luentoakaan, mutta nauttii … Lue lisää

Yhteistyö ohjelmoinnin opintojen järjestämisessä Metropoliassa

Metropoliassa on paljon ohjelmoinnin oppimista eri opintojaksoilla. Minulle on talven aikana alkanut valjeta, kuinka paljon sitä todella on. Tänään löysin luentomateriaalin, josta osia voin (olisin voinut) käyttää sellaisenaan omalla C/C++ -kurssillani. Tämä löytyi hajagooglauksella, vahingossa. Resurssien käytön koordinoinnista olisi luultavasti hyötyä. Tai vaikka vain sen tarkastelusta, miten missäkin opintojaksojen järjestämistä hoidetaan. En minä ainakaan vielä … Lue lisää

Perusteet ensin, vai koko talo kerralla?

Tampereen yliopisto

Tämä kirjoitus edellyttää ohjelmointikäsitteiden ymmärtämistä! Esim. aiempi ei. (Taustatietoja vaativat kirjoitukset on merkitty näin, ovat ohjelmointi-kategoriassa) Opiskelijoiden tasoerot ja erilaiset oppimistyylit ovat mietityttäneet tänä keväänä. Viope on ympäristönä tässä melko mutkaton (sen ongelmista ehkä myöhemmin lisää). Sen sijaan Qt-tehtävät, jotka perin kurssin edelliseltä opettajalta, ovat mielenkiintoisempi yhtälö. Opiskelijat eivät vielä varsinaisesti ymmärrä olioteoriasta mitään kurssin … Lue lisää