Koodiaapiskukon matkassa

tähdet, neliöt
kolmiot ja ympyrät
koodi tanssittaa

Racketilla koodattuja ympyröitä.
Racketilla koodattuja ympyröitä.

Ohjelmointi tulee kouluun OPS 2016:n myötä. IT-kouluttajien Koodiaapinen-MOOCissa tuhannet peruskoulun opettajat ja muut peruskoulun opetuksesta kiinnostuneet ovat vajaan parin kuukauden aikana opetelleet yhdessä algoritmista ajattelua (Computational Thinking) ja sen soveltamista peruskoulun eri aineiden opetukseen. Samalla olemme opetelleet ala-asteelle soveltuvaa visuaalista (ScratchJr tai Scratch) tai yläasteelle soveltuvaa lausekielistä ohjelmointia (Racket).
Kurssin Racket-linjan ”diplomityöksi” valitsin vaihtoehdon B, uuden harjoituksen luomisen.
Pedagogisesti hyvä ohjelmointiharjoitus synnyttää ahaa-elämyksiä ja innostaa kokeilemaan lisää.
Algoritmista ajattelua oppii parhaiten yhdessä kokeilemalla ja keskustelemalla. Yhdessä tutustutaan erilaisiin ohjelmakoodeihin, kokeillaan, mitä ne tekevät ja selvitetään yhdessä, miksi koodit toimivat niin kuin ne toimivat. Koodataan yhdessä ja katsotaan, toimiiko koodi niin kuin sen oli tarkoitus toimia. Jos koodi yllättää eli toimii, mutta tuottaa odottamattoman tuloksen, niin selvitetään, mistä odottamaton tulos johtuu.
Alla oleva harjoitus tähtää listojen ja silmukoiden opettamiseen. Siinä muokattavassa koodissa ei ole turhaa toistoa. Kun oppilaat muokkaavat kyseistä koodia, he oivaltavat nopeasti, miten eri parametrien muuttaminen vaikuttaa lopputulokseen.
Tehtävä
Muokatkaa yhdessä seuraavaa koodia:
Tehtävässä muokattava Racket-koodi
Tehtävässä muokattava Racket-koodi

 
 
 
 
 
 
 
Racketilla koodattuja tähtiä.
Racketilla koodattuja tähtiä.

Kokeilkaa, mitä tapahtuu, kun vaihdatte

  • circle -> square
  • circle -> triangle
  • circle -> star.

Kokeilkaa myös, mitä tapahtuu, kun muutatte range-funktion parametreja (range 200 5 -5). Huomaatteko, että jos ajatte (run) saman koodin moneen kertaan, niin saatte erivärisiä tuloksia? Mistä se voi johtua?
Tehtävä tarjoaa oppilaille pohdintaa ja ahaa-elämyksiä. Tehtävää voisi täydentää ehdottamalla, että oppilaat kokeilisivat, mitä tapahtuu, jos he muuttavat make-color-funktion parametreja. Ei kuitenkaan viedä oivaltamisen iloa; innokkaat oppilaat keksivät sen itse.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *