Jaa jotain- tapahtuma: Tuntisuunnitelmia koodauksen alkeisiin alakoulussa

Nyt on meneillään Open Education Week 13vk/2017.
Datasepän koodikoulu haluaa osallistua viikkoon antamalla muiden käyttöön muutamia tuntisuunitelmiaan CC BY-SA lisenssillä.

Tässä tuntisuunnitelmat 1-4, joilla pääsee alkuun ohjelmoinnin alkeiden opettamisessa sellainenkin henkilö, jolla ei kokemusta ohjelmoinnin opettamisesta tai ohjelmoinnista yleensä. Nämä on käytännön tasolla kokeiltuja ja hyväksi havaittuja.

Ohjelmoinnin alkeita peruskoulussa:
https://drive.google.com/file/d/0B9NBzNK8wX3jemRsWHYwYVhJUFU/view?usp=sharing

Mainokset

Tietotekniikan perusteita leikinomaisesti koodauksen opettelun ohessa?

Mitä tarkoitan otsikolla?
Ohjelmoijan tulee tietää jotakin myös tietokoneista, jotta osaa käskyttää tietokoneita. Tässä yksinkertaisia esimerkkejä siitä, miten koodaus ja tietotekniikan perusasiat limittyvät yhteen:

  1. Tietokone on tyhmä.
  2. Tietokone ymmärtää vain nollia ja ykkösiä (=binääriluvut).
  3. Ihmisen on kerrottava koodaamalla tietokoneelle, miten sen pitää toimia (=ohjelmakoodi)
  4. Koodi tallennetaan tietokoneen muistiin (=tiedosto, kansio, tallennus tiedostoon ja kansioon).
  5. Tietokonekone suorittaa koodia prosessorilla (=prosessori).
  6. Ihminen komentaa tietokonetta eli käynnistää koodin esim. näppäimistöllä tai hiirellä tai koskeusnäytöllä (=näyttö, hiiri, näppäimistö).

Näinpä on luontevaa yhdistää koodaustunteihin tietotekniikan perusasioiden opiskelua jossain määrin. Tietotekniikan perusteisiin voi nykyää katsoa kuuluvan myös internetin toiminnan ymmärtämisen. Muutamalla kivasti toteutetulla harjoituksella opetusvuoden aikana voidaan innostaa oppilaita tietotekniikan pariin.

Kivoja esimerkkejä tarkoitukseen löytyy mm. Computer Science Fundamentals plugged sivustolta, joka tarjoaa valmiiksi suunniteltuja oppitunteja eri ikäisille. Kannaa tutustua, tekniikka ei ole aina tylsää!
Näitä tehtäviä tehdään ympäri maailman peruskoulussa, ja tehtäviä voi tehdä oli luokassa tietokoneet käytössä tai ei.

Pari esimerkkiä, jota olen onnistuneesti kokeillut 4.-6. luokkalaisten kanssa:

  • Sivustolla on mm. Internetin sanaston opiskeluun kiva esimerkki leikki. Se havainnollista sitä, miten viestit internetissä liikkuvat käyttäjältä toiselle ja ainahan viestit eivät edes mene perille 🙂
  • Toinen mielestäni hyvin oivallettu esimerkki on kertoa binääriluvuista kuvien avulla, kuten tämä linkin esimerkki.


Miten opettaa ohjelmoinnin peruskäsitteitä peruskoululaisille?

Jo useita vuosia on ollut olemassa oppimisympäristöjä, joilla ohjelmoinnin peruskäsitteet voi opetella pelaajaoppimalla ja leikinomaisesti. Mitä se tarkoittaa?
Se tarkoittaa, että opettaja ei esittele käsitteitä etukäteen, vaan osallistujat oppivat ne käytännön kautta tekemällä. Toki on varmasti hyvä, että opettajan avustuksella kerrataan käsitteet, jotka tuli opittua tehtävässä.

Jos en olisi käytännössä näitä asioita lasten kanssa kokeillut, niin en kyllä uskoisi. Mutta monen ryhmän kanssa asioita kokeiltuani täytyy tunnustaa tosiasia – pelaajaoppiminen toimii lasten kanssa.

Esimerkkejä tehtävistä ohjelmoinnin peruskäsitteiden opiskeluun:

Tässä pieni esimerkki Silent teacher tehtävästä, jossa lähestytään mielestäni nerokkaasti muuttuja- käsitettä. Lähestytään sen kautta, mitä oppija jo osaa: