Palaute

Julkaistu

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

Pisteeseen tarvittiin silmukka. Asia tuntui menneen hyvin perille ja useimmilla oli mielekkäitä kaavioita. Monilla oli toisaalta vastauksissaan tavallaan turhia silmukoita, jotka käytiin läpi vain kerran. Siis suoritettiin jokin osa vuokaaviota kokonaisuudessaan niin, että silmukan toista kierrosta ei ollut tarpeen suorittaa. Tämä ei vaikuttanut arvosteluun, mutta on hyvä tuoda esiin, koska aina vain yhden kerran suoritettava silmukka on käytännössä tarpeeton. Todella monelta puuttuivat kokonaan oletukset, mutta toisaalta algoritmit olivat melko itsestäänselviä.

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

Monella oli if-elif-else rakenteen idea hieman hukassa ja samoja ehtoja tarkistettiin useasti samassa koodissa. Myöskin moni tarkasti turhaan onko jaettava nolla vai ei. WETOn automaattitarkastajan hylkäämissä vastauksissa ongelma oli tarkistusten järjestys. Hylätyt ohjelmat tarkastivat onko jakaja nolla vasta koodin lopussa, joka johti koodin kaatumiseen nollalla jakavissa testeissä.

Harjoitus 3

4) Unicode-merkkien tulostus, Ilmari

Ratkaisuissa ei ollut mitään suurempia ongelmia. Muutamassa tapauksessa silmukan rakenne oli tarpeettoman monimutkainen. Muutamasta ratkaisusta löytyi unicodedata moduulin import, joka ei ollut tarpeen. Tehtävänannossa kerrotaan aina, jos kielen ytimen lisäksi tarvitaan lisäpalveluja.

5) lisäaritmetiikkaa, Albert

Kaikki tehtävän nollat tulivat unohtuneesta lippumuuttujasta. Hylätyissä ratkaisuissa silmukan jatkamisen määritti lippumuuttujan asemasta tai merkkijono. Muutamassa palautuksessa jatkovalinta tarkistettiin silmukassa. Tästä ei valitettavasti saa lisäpisteitä, mutta toki hyvää harjoitusta parempien ohjelmien tekoon.

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

Palautukset olivat hyvin samanlaisia, eikä juuri mitään virheitä esiintynyt. Mitään erityistä kommentoitavaa ei tällä kertaa ole. Kaikki palautukset hyyäksyttiin.

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.