Harjoitus 1
Ensimmäinen harjoitus arvioitiin hyvin rennolla otteella. Poikkeamat ohjelmointitehtävien esimerkkitulosteista eivät olleet ongelma, koska varsinainen automaattinen tarkistus alkaa vasta toisissa harjoituksissa. Näin esimerkiksi Pythonin aritmettisiin operaattoreihin johdatellut ohjelma sai puhua suomea.
3) oma vuokaavio, Rama
4) korin pisteytys, Albert
Ei erityistä palautetta. En nollia.
5) kastikkeen valmistus, Ilmari
Pisteeseen tarvittiin silmukka. Ei erityistä palautetta. En nollia.
8) aritmetiikkaa, Kimmo
Aika yksinkertainen tehtävä, joten vastaukset olivat aika samankaltaisia. Erot olivat lähinnä tulosteiden muotoilussa ja siinä oliko laskennassa käytetty apumuuttujia tulosten tallentamiseen ennen tulostuksia. Apumuuttujat summalle, erotukselle, tulolle ja osamäärälle selventävät koodia varsinkin, jos tulostaminen on tehty annetun mallin mukaan.
Harjoitus 2
Tarkistus oli nyt selvästi tiukempaa WETO:n taholta. Opettajat tarkistivat tehtäviä vielä melko rennosti.
2) bugeja, Kimmo
Eipä kummempaa, osalla oli jäänyt kommentoimatta muutokset, mutta pääasiassa omia kommentteja löytyi. Ohjelman rakenne oli pysynyt hyvin alkuperäisessä muodossaan: ei enempiä lauseiden poistoja tai lisäyksiä. Ei hylättyjä.
4) lasi, Rama
Tehtävänannossa pyydettiin if-else. Muutama ratkaisu hylättiin tästä syystä. Muuten näytti hyvältä, mutta aika monella oli vähänlaisesti kommentteja. Joissakin ratkaisuissa oli vain yksi näennäinen kommentti, ihan vain jotta Weto hyväksyisi palautuksen. ”# hip, hop, hipetihop”-tyyppisen kommentin kirjoittamiseen menee suurin piirtein sama aika kuin lyhyen ”oikean” kommentin tekemiseen, koska kerran kirjoitetun yleisen kommentin voi kopioida nopeasti seuraavaan tehtävään. Siksi edes yksi kunnon kommentti on hyvin tehtävissä. Onneksi monilla kommentointia oli paremmin eli tekijän tiedot, muttei toisaalta muuta. Ohjelman lauseita saa ja pitää kommentoda ainakin niissä vaikeimmissa paikoissa, jotta kommentointia tulee harjoiteltua.
6) vuodenajat, Albert
Tässä tehtävässä ei hylättyjä. Vain noin puolissa palautuksista oli käytetty tyyppimuunnosta syötteen luvun jälkeen, mikä ei onneksi ongelma tällä kertaa, koska valinta onnistui hyvin myös merkkijonomuotoisilla luvuilla.
7) jaollisuus, Ilmari
Harjoitus 3
4) Unicode-merkkien tulostus, Ilmari
5) lisäaritmetiikkaa, Albert
6) sahalaita, Rama
Hylätyissä ratkaisuissa harmillisen moni oli tehnyt turhan while-silmukan, joka suoritettiin aina vain kerran. Tämän silmukan sisällä tulostettiin kuvio käyttäen print-funktiota ja merkkijonon kertomista luvulla. Näissä tapauksissa while-silmukkaa ei käytetty oikeasti tulostukseen. Yleensä ottaen tasan kerran suoritettava silmukka on tapeeton ja oire ongelmasta ohjelman rakenteessa. Kommentteja oli kirjoiteltu paikoin valitettavan vähän, jos lainkaan.
Harjoitus 4
2) sulkeiden tunnistus, Rama
Pisteeseen tarvittiin vähintään yksi looginen operaattori parien tunnistuksessa. Monessa vastauksessa oli jokaista paria kohden oma print-lauseensa. Koska kaikilla pareilla tuloste oli saman mallinen, olisi vähempikin määrä printejä riittänyt ja näin vältytty turhalta koodilta. Jälleen kerran kommentointi oli monilla puutteellista. Kommentteja pitäisi muistakaa laittaa myös ohjelman sisälle eikä vain alkuun.
3) merkkijonojen vertailu, Ilmari
Tehtävä arvioitiin tehtävänannossa uhatulla tavalla: pisteeseen tarvittiin ”xyz”-merkkijonon vakiointi ja vakion myöhempi käyttö ohjelmassa. Vakiot ja niiden käyttö olivat onneksi pääosin hyvin hallussa. Ratkaisuissa ei ilmennyt mitään erityistä, mitä nyt muutamia turhan pitkiä silmukoita ja turhia if-else rakenteita.
7) riveille käärintä, Albert
Monessa palautuksessa kommentteja oli vain alussa (kuka on tehnyt ja mikä tehtävä). Lähes jokainen oli sisäistänyt for-silmukan ja range-sekvenssin yhteispelin sekä viipaloimisen käytön.
Harjoitus 5
1) rekisteritunnus, Kimmo
Tehtävässä annettiin armoa siten, että pisteen sai, vaikka merkkijonoluokan metodeja ei oltu käytetty. Tehtävän yksikertaisuus näkyi samankaltaisia vastauksina. Joissakin ratkaisuissa oli monimutkaisempaa if-else-rakennetta tai kaikki tarkistukset pakattuna yhteen riviin. Huomiona, että aika paljon tarkistettiin totuusarvoja vertaamalla niitä True-arvoihin, vaikka muuttujaa tai paluuarvoa itsessään voisi käyttää suoraan ehtolausekkeessa Esimerkiksi ….isalpha() == True on sama kuin ….isalpha(). Toinen huomio oli se, että ohjelmissa oli monesti turhia str-funktiolla tehtyjä tyyppimuunnoksia syötteen luvun ja tulostuksen yhteydessä. Input-funktio palauttaa aina merkkijonon, jota ei ole siten enää tarvetta muuntaa merkkijonoksi.
3) erisnimet, Albert
Pisteeseen tarvittiin molempien komentojen vakiointi ja vakioiden myöhempi käyttö ohjelmassa. Nollia tuli hieman yllättäen jonkin verran erityisesti siitä, että vakioita ei oltu määritelty. Muutamassa tapauksessa vakioiden tunnuksia ei oltu määritelty isoin kirjaimin, mutta koska idea oli ymmärretty oikein, pistettä ei otettu pois.
5) vuodenajat, Ilmari
Tehtävissä sai pisteen, jos siinä käytettiin tehtävänannon mukaista menetelmää eli sanakirjaa. Näin olikin tehty lähes kaikissa ratkaisuissa.
8) samat etumerkit, Rama
Harjoitus 6
1) samat etumerkit, Rama
Noin neljäsosa opettajan tarkistamista ratkaisuista hylättiin. Kaikissa hylätyissä ratkaisuissa funktiota oli kutsuttu tarpeettomasti useita kertoja ja/tai arvoa ei sijoitettu muuttujaan.
4) yksittäiset merkit, Kimmo
Palautuksissa oli jonkin verran turhan monimutkaisia ratkaisuja. Helpointa oli käydä sana läpi for-silmukalla ja laskea count-metodilla montako kertaa silmukkamuuttuja esiintyy sanassa. Funktiokutsut ja paluuarvon käyttö osattiin hyvin tässä tehtävässä. Näistä syistä tuli hyvin vähän nollia.
5) tunnusluvut, Albert
Tehtävä osattiin hyvin. Pari nollaa tuli toistuvista funktiokutsuista. Palautuksien rakenteessa suurin vaihtelu oli siinä käsitetltiinkö paluuarvoa tuplana vai otettiinko tuplan arvot omiksi muuttujiksi ja siten tulostuksen avuksi.
6) lukujono, Ilmari
Hylätyissä ratkaisuissa funktiokutsun paluuarvo jäi sijoittamatta muuttujaan. Tämäkin tehtävä oli osattu hyvin.