Tervetuloa Racket-kurssin jaksolle 5
1. Opiskeltava sisältö
Racket-kurssin jaksolla 5. ja 6. opimme käsittelemään tietoa listojen muodossa. Listat mahdollistavat tehokkaan tavan käsitellä isoa määrää tietoa pienellä määrällä koodia. Listoja voidaan käsitellä kahdella eri tavalla: rekursiivisten funktioiden avulla (jakso 5.) tai Higher Order – funktioiden avulla (jakso 6.). Jaksossa 5. opitaan lisäämään kuvia koodin sekaan ja jaksossa 6. opitaan piirtämään Turtle – grafiikkakuvia.
Voit tehdä joko molemmat jaksot (5. ja 6.) tai valita vain toisen. Koska molemmat jaksot käsittelevät listoja, riittää että tutustut listoihin yhden jakson puitteissa (kurssi on suunniteltu niin, että yhden jakson voi halutessaan jättää väliin).
Tämän jakson tehtävät voidaan tehdä kahdessa eri osassa:
- videot 1-3 ja tehtävät A
- video 4 ja tehtävät B
Kuuntele videot ja koodaa itse samalla esimerkkejä niin asiat avautuvat paremmin.
1. Listat (6:19 min) | https://youtu.be/fDkCXReFpOk |
2. Listan käsittely rekursiivinen (osa 1) (5:52 min) | https://youtu.be/kU0gT9uNIgY |
3. Listan käsittely rekursiivisesti (osa 2) (7:38 min) | https://youtu.be/ysYOO4w472c |
4. Tietokilpailupeli listan avulla (12:01 min) | https://youtu.be/iXJuAiZu5cg |
Videoita täydentävät diat
2. Harjoitustehtävät
A) Listat ja rekursio
Harjoittelemme listan ”syömistä” rekursiivisesti:
Perustehtävät:
- Keskiarvo tai Hinnan alennus/korotus (samat kuin videolla)
- Uusien työparien arpomisohjelma
Lisätehtävät:
Yritä ensin itse mutta jos ei onnistu, katso esimerkkiratkaisut täältä.
B) Interaktiiviset ohjelmat
Tässä osiossa tutustutaan siihen miten listoja voi käyttää interaktiivisten ohjelmien kanssa.
Perustehtävät:
Lisätehtävät:
Jos tuntuu, että pelitehtävien tekeminen on liian haastavaa voit tutustua malliratkaisuihin suoraan ja lähteä muokkaamaan niiden pohjalta palautettavaa koodaustehtävää.
3. Palautettava koodaustehtävä
Tämän jakson palautettava harjoitustyö on jonkinlainen tietokilpailupeli (tunnistuspeli, valintapeli) tai muu ohjelma, jossa käytetään listoja, kuvia sekä rekursiota. Voit myös tehdä sellaisen pelin, jossa on molempia kysymystyyppejä sekaisin (haastavampi!). Jaa ohjelmasi WeScheme:n kautta (katso ohje kuvien siirtämiseen Google-driveen viimeiseltä videolta).
4. Ongelmia
Kysy rohkeasti apua kurssin keskustelufoorumilla.