Tervetuloa Racket kurssin jaksolle 2
1. Opiskeltava sisältö
Racket-kurssin 2. jaksolla on käsitellään kaksi automatisointiajattelun keskeistä asiaa: A) funktiot sekä B) ehtolauseet.
A) Funktiot – osassa opettelemme suunnittelemaan, ohjelmoimaan sekä testaamaan omia funktioita. Funktioiden avulla voimme esittää sääntöjä yleisessä (abstraktissa) muodossa ja niiden toiminnan ymmärtäminen on erittäin tärkeää.
B) Ehtolauseet – osa käsittelee ehtolauseita ja sitä miten ne liittyvät funktioihin.
Tämän jakson materiaalit kannattaa opiskella osa kerrallaan, eli katso ensin funktioihin liittyvät videot (1 ja 2) ja tee sitten niihin liittyvät tehtävät. Katso tämän jälkeen ehtolauseisiin liittyvät videot (3 ja 4) ja tee niihin liittyvät tehtävät. Videoiden katsomisen ohella on hyvä itse koodata mukana niin saat paremman tuntuman siihen mistä on kyse.
Tällä viikolla on mukana myös animaatiovideoita, jotka selventävät funktion, ehtolauseen, evaluonnin sekä määrittelyjen toimintaa (animaatio kannattaa pistää pauselle, jos asiat tapahtuvat siinä liian nopeasti). Näiden animaatioiden tarkoitus on luoda ns. mentaalimalleja käsiteltävistä aiheista, jotta niiden ymmärtäminen helpottuisi.
Diasarjassa on tällä jaksolla paljon asiaa, täydentäviä esimerkkejä sekä vinkkejä palautettavaa jaksoharjoitusta ajatellen.
1. Funktiot (osa 1): Funktion määrittely (10:37min) | https://youtu.be/9zAuinXk63Y |
2. Funktiot (osa 2): Funktion suunnittelu ja testaaminen (9:21min) | https://youtu.be/5EQYQ94S-UI |
3. Totuusarvot, predikaatit ja vertailuoperaattorit (5:01min) | https://youtu.be/_SQ0DSQ0Vp8 |
4. Ehtolause (if) (8:35min) | https://youtu.be/g0lYnpwsc7o |
1. Ympyrä-funktio (0:34min) | https://youtu.be/p6KMl79rMb0 |
2. Pinta-ala-funktio (0:29min) | https://youtu.be/IK-I4dg6Gns |
3. Robottiauto-funktio ja ehtolause (0:27min) | https://youtu.be/ULGqPDqWC58 |
4. Evaluointi (0:22min) | https://youtu.be/_laT_CGR6M4 |
5. Määrittelyt (define) (0.46min) | https://youtu.be/VUNyOmKx-hw |
Videoita täydentävät diat:
2. Harjoitustehtävät
A) Funktiotehtävät
Harjoittele funktioiden määrittelemistä sekä testaamista valitsemalla 2-3 harjoitustehtävää Koodausta kouluun – oppilaan tehtäväsivustolta (funktiot). Ensimmäisissä tehtävissä jatkat puolivalmista koodia eteenpäin.
Huom! Kun lataat tehtävätiedoston ja avaat sen DrRacket:illä se on ”read only” tilassa etkä voi muokata sitä. Tallenna se ensin jonnekin (File->Save definitions as) niin saat muokkauksen käyttöön.
Yritä ensin itse, mutta jos seinä nousee vastaan, löydät esimerkkiratkaisut Koodausta kouluun – opettajan materiaalista (3A. Funktiot).
Perustehtävät
Lisätehtävät
B) Ehtolausetehtävät
Harjoittele ehtolauseita sisältävien funktioiden määrittelemistä valitsemalla 1-3 harjoitustehtävän Koodausta kouluun – oppilaan tehtäväsivustolta (ehtolauseet). Yritä ensin itse, mutta jos seinä nousee vastaan, löydät esimerkkiratkaisut Koodausta kouluun – opettajan materiaalista (4A. Ehtolauseet).
Perustehtävät
Lisätehtävät
Harjoittele materiaalin kanssa sen verran, että pystyt tekemään palautettavan koodaustehtävän.
3. Palautettava koodaustehtävä
Tehtävänäsi on suunnitella, määritellä ja testata funktio, jossa käytetään ehtolausetta. Funktio voi esim. tuottaa kuvia tai laskea jotakin, sinä päätät mitä se tekee.
Kun teet funktiotasi, aloita määrittelemällä sen tarkoitus sekä esittelemällä sen nimi sekä sen määrittely- ja arvojoukot (syötteen tyypit ja paluuarvon tyyppi). Valitse funktiolle kuvaavat parametrien nimet (muuttujanimet) ja kirjoita funktion toteutus (koodi) käyttämällä parametreja. Käytä koodissasi myös ehtolausetta. Voit joko valita sellaisen funktion, jossa on kaksi eri ”toimintavaihtoehtoa” tai testata, että funktion parametrit ovat oikean tyyppisiä. Pääasia että käytät ehtolausetta jollakin tavalla. Testaa funktiosi jokainen haara kirjoittamalla sille check-expect -lauseke.
Palauta koodi jaksotehtävän ohjeiden mukaisesti.
Tämän viikon palautuksessa on kaksi osiota:
- palauta koodi määräpäivään mennessä
- vertaisarvioi kolmen muun kurssilaisen koodi määräpäivään mennessä (pisteytä ne pisteytysohjeiden mukaisesti)
Huomaa, että vertaisarviointi tapahtuu nimettömästi, arvioijat ja arvioitavat pysyvät anonyymeinä.
4. Ideointitehtävä
Tällä jaksolla keräämme myös koodaus- ja opetusideoita funktion ja/tai ehtolauseen opettamiseen. Tämän idean ei tarvitse liittyä palauttamaasi koodiin. Näitä ideoita voi kirjoittaa seinälle koko kurssin ajan (seinä sulkeudu vasta kurssin lopussa).
5. Ongelmia?
Koska tehtävällä on määräpäivä, kysy rohkeasti apua heti kun jäät jossain kohtaa jumiin. Muista käyttä apuna myös Koodarin käsikirjaa. Jos tehtävän palauttamisessa tai vertaisarvioinnissa ilmenee teknisiä ongelmia, älä hermostu, ratkomme ne ja tarvittaessa jatkamme palautusaikaa.