Harjoitustyössä syvennetään osaamistaan jollakin turvallisen ohjelmoinnin alueella. Harjoitustyön tekeminen koostuu yhteisistä kokoontumisista, harjoitustyöstä, tämän esittämisestä ja muiden töiden vertaisarvioinneista. Neljännen periodin kokoontumiset ovat pakollisia ja näiden ajat kysytään kurssilaisilta POP-ilmoituksena lähetettävällä kyselyllä. Kokoontumiset pidetään toistaiseksi etäopetuksena Teams-alustalla.

Ajat ovat viikoilla 10, 12, 14, 17 ja 20 seuraavasti

  • ma klo 14.15-16
  • to klo 14.15-16
  • pe klo 12.15-14

Näihin osallistuminen on pakollista (vähintään 3 kertaa + loppuesitys viikolla 20). Ryhmän voi valita joka viikko vapaasti. 

Harjoitustyö

Harjoitustyö voi olla vaihtoehtoisesti joko ohjelmointityö tai tieteellisen artikkelin luonnos. Harjoitustyön aiheen voi valita vapaasti kurssin aihepiiristä. Aiheen tulee liittyä turvalliseen ohjelmointiin ja aiheen rajaus sovitaan viimeistään ryhmätapaamisissa. Harjoitustyön viimeinen palautuspäivä on 22.5.2020.

Ohjelmointityö

Tässä harjoitustyön muodossa on tavoitteena tuottaa toimiva ohjelma, joka sopii kurssin aihepiiriin. Sinun tulee hallita ohjelmointi valitsemassasi ympäristössä sekä kyetä itsenäiseen työskentelyyn. Annan ohjausta pääasiassa periaatteellisella tasolla asettamalla ohjelman vaatimustason sovitun aiheen pohjalta. Ohjelmointikielen ja -ympäristön voi valita vapaasti. Ohjelmasta palautetaan lähdekoodi, toimiva ohjelma sekä ohjelman kuvaus. Arviointi perustuu ohjelman sekä kuvauksen tasoon. Ohjelmakoodin voi valinnan mukaan julkaista tai pitää suljettuna, mutta harjoitustyön arvioijan pitää saada koodi nähtäville.

Ohjelmointityön kuvauksessa käsiteltäviä asioita:

  • Ohjelman kuvaus
    • mihin ja miten ohjelmaa käytetään, käyttöliittymän kuvaus etenkin niiltä osin, jotka eivät ole itsestään selviä
  • Ohjelman rakenne
  • Toteutut turvallisen ohjelmoinnin ratkaisut
    • Miten ja mitä toteutettu
    • Tässä voi käyttää esim. OWASPin-listaa perusteluna
  • Jos työ perustuu aikaisempaan ohjelmaan, tehdyt muutokset.
  • Pienimuotoinen tietoturvatestaus on tarpeen toteuttaa. Laajankin testaukse saa toteuttaa. Testauksen löydökset ja tehdyt korjaukset on hyvä dokumentoida.
  • Mahdolliset toteuttamatta jääneet ratkaisut
    • Ominaisuudet
    • Jos on tiedossa haavoittuvuuksia tai vastaavia, myös ne kannattaa kuvata.
  • Jatkokehitys eli ehdotuksia siitä, miten ohjelmaa voisi kehittää eteenpäin.

Tieteellisen artikkelin luonnos

Tämä työskentelymuoto kannattaa valita, jos ohjelmointityö ei tunnu mielekkäältä. Tässä on tarkoituksena tuottaa pienimuotoinen tieteellinen teksti seminaarityön tapaan. Arvosteluun vaikuttavat tulokset, täsmällisyys, laajuus ja laatu. Tässä on hyvä tähdätä julkaisukelpoiseen tekstiin.

Ryhmätyö

Harjoitustyö voi olla kahden tai useamman opiskelijan yhteinen projekti. Tällöin myös työmäärän tulee kasvaa vastaavassa suhteessa ja harjoitustyöstä tulee yhteinen pisteytys, ellei harjoitustyöryhmä tuo esille jotakin, joka vaikuttaa arvosteluun eriävästi.

Harjoitustyön kieli

Harjoitustyön voi tehdä valinnan mukaan suomeksi tai englanniksi. Tieteellisen artikkelin luonnos on suositeltavaa (mutta ei pakollista) kirjoittaa englanniksi.

Mahdollinen aikaisempi työ

Harjoitustyö voi pohjautua aikaisemmin tekemääsi työhön (harjoitustyö, ohjelma, artikkeli tai sen luonnos jne.), jos harjoitustyö sopii luontevasti kurssin aihepiiriin. Aikaisemman työn käytöstä on kuitenkin sovittava erikseen ja aikaisempi työ sekä sen laajuus on mainittava harjoitustyössä. Jos harjoitustyö pohjautuu aikaisempaan työhön, tulee harjoitustyötä luonnollisesti jatkaa aikaisemman pohjalta ja arvostelu perustuu uuteen lisäarvoon.

Harjoitustyön palautus

Ohjelmointityöstä palautetaan koodi ja kuvaus. Joskus voi olla tarpeen myös palauttaa ajoympäristö. Tieteellisestä artikkelista palautetaan raportti

Harjoitustyön voi palauttaa seuraavilla tavoilla:

  • Suositeltavaa on laittaa wikiin sellaiset harjoitustyön osat, jotka voi jakaa muille osallistujille. Näitä voi olla kuvaus ja koodi (toinen tai molemmat) tai raportti (tieteellinen artikkeli). Tämä voi olla myös linkki ulkoiseen sivuun, GitHubiin tai vastaavaan.
  • Sellaiset osat, joita et halua jakaa muille voi toimittaa esim. sähköpostilla tai muistitikulla.

Huomaa laittaa palautuksesta joko tapauksessa sähköposti. Kun lähetät sähköpostia, huomaa laittaa otsikon alkuun TUOHI, jotta harjoitustyö löytyy sähköpostista. Muuten on vaarana, että viesti jää huomaamatta.