- TIE-0240x
- 1. Kurssin käytännönasiat
- 1.4 Harjoitustyö
Harjoitustyö¶
Kurssin harjoitustyö tehdään kahden hengen ryhmissä, ja se tekeminen on tarkoitus aloittaa ensimmäisen periodin lopussa. Sitä ennen työhön on mahdollista tutustua ja opetella siihen liittyviä asioita esimerkiksi viikkoharjoituksissa.
Kurssilla tehdään vain yksi “suurempi” (mutta silti toivottavasti opintopistemäärän huomioon ottaen järjellinen) harjoitustyö. Syynä tähän on se, että monien tekniikoiden hyödyt tulevat esiin vasta, kun ohjelman koko kasvaa. Lisäksi keskeisenä osaamistavoitteena on ohjelmistotiimissä työskentely ja siitä saa kokemusta riittävän suuren ohjelmistoprojektin osana työskentelemällä.
Deadlinet:
- Palautuksen määräaika: 19.4.2021 klo 23:59
- Armon aika eli ns. sanktiopalautuksen määräaika: 26.4.2021 klo 23:59
Harjoitustyöryhmien rekisteröinti tehdään Moodlessa. Aikaa löytää ja rekisteröidä harjoitustyöryhmä on 8.2.saakka. Parinhaussa voit käyttää apunasi Moodlen keskustelualuetta.
Harjoitustyön läpäisyn vaatimukset¶
Jotta harjoitustyö voidaan hyväksyä, kaikki alla olevat asiat täytyy olla hoidettuna:
- Raakilepalautuksia on tehty ajoissa vähintään yksi ja palautettu koodi toimii vaaditusti
- Harjoitustyön varsinainen palautus on tehty ajoissa ja täyttää minimivaatimukset
- Toisen ryhmän työn vertaisarviointi on tehty ja palautettu ajoissa
Harjoitustyön tekoympäristö¶
Harjoitustyön ympäristöä (QtCreator ja Git/GitLab) on harjoiteltu Viikkoharjoituksissa (ja Ohjelmointi 2: perusteilla).
Kurssin harjoitustöiden tekoon on tarjolla etätyöpöytäyhteys linux-desktop.tuni.fi
, johon kirjaudutaan intra-tunnuksilla. Etätyöpöytäyhteyden käytöstä löytyy ohjesivu.
Harjoitustyö koodataan käyttäen Git-versionhallintaohjelmistoa. Työ koodataan kurssin ryhmälle perustamaan tietovarastoon, jonka kautta myös palautus tehdään. Versionhallinnan ansiosta myös työparin keskinäinen koodin ajan tasalla pito ja varmuuskopiointi helpottuvat.
Huom! Harjoitustyö on tarkoitus tehdä ryhmässä ja Git antaa tähän mahdollisuudet. Pitäkää huoli siitä, että kaikki osapuolet tekevät osuutensa ja myös pushaavat koodia säännöllisesti keskustietovarastoon. Näin ei tule epäselvyyksiä sen suhteen, että jokainen on osallistunut harjoitustyön tekemiseen ja tiedonvälitys ryhmässä toimii sujuvammin.
Ryhmien tietovarastoista tulee tietoa lisää myöhemmin. Jokaiselle ryhmälle perustetaan oma tietovarasto ja kurssin puolen koodit ovat sitä kautta saatavissa.
Harjoitustyössä on kahdenlaisia palautuksia:
- Raakilepalautuksia tehdään pitkin matkaa. Niiden avulla varmistutaan siitä, että harjoitustyön koodaus on saatu onnistuneesti alkuun (työ saa olla vielä kesken) sekä siitä, että ryhmällä on suuntaviivat seuraavien viikkojen työlle selkeinä.
- Lopullisessa palautuksessa sitten palautetaan loppuun tehty ja arvosteltava työ.
Ohjeita kysymyksien esittämiseen¶
Koska kurssin harjoitustyötä kehitetään joka tapauksessa Git-versionhallintaa käyttäen, kannattaa järjestelmää ja GitLabia hyödyntää myös ongelmatilanteiden sattuessa. Harjoitustyöassistentit pystyvät lukemaan ryhmien tietovarastoja, joten assistentti voi tarvittaessa tarkastella ryhmän harjoitustyötä varten tekemää lähdekoodia ongelmaa setvittäessä. Tällöin on kuitenkin kysymyksiä esitettäessä huomioitava muutama asia.
Tärkein näistä asioista on git push
. Jotta harjoitustyöassistentti voi katsoa ongelmallista tilannetta keskustietovarastosta, täytyy ongelmallisen koodin jo olla pushilla tyrkättynä ryhmän keskustietovarastoon. Lisäksi itse kysymyksen tarvitsee luonnollisesti sisältää mahdollisimman tarkka kuvaus ongelmasta sekä kuvaus siitä, miten ongelmaa on mahdollisesti itse yritetty ratkaista.
Ongelmatilanteissa pääasiallinen kysymyskanava on kurssin sähköposti prog3@tuni.fi johon lähetetään mahdollisimman selkeä kuvaus ongelmasta. Lisäksi, etenkin, jos kyseessä on kurssin puolen koodiin liittyvä kysymys, kannattaa tehdä issue GitLabissa template_projectiin. Issueen kirjoitetaan mahdollisimman selkeä kuvaus ongelmasta. Lisäksi mukaan kannattaa tagata kurssihenkilökunnasta ne, joiden ensisijaisesti toivoo vastaavan kysymykseen.
Omaa koodia koskevat kysymykset voi vastaavasti kuvata tarkemmin GitLabissa ryhmän omassa tietovarastossa issueina. Näihin on keskeistä muistaa tagata kurssin assareita, jotta kysymys huomataan GitLabissa. Ryhmäsi projektin tietovarastoa voit käyttää myös työn toteutuksen suunnitteluun.
Armonaika ja lisäajan pyytäminen¶
Harjoitustyölle myönnetään automaattisesti deadlinen jälkeen viikko lisäaikaa eli ns. armonaika alkaa virallisen deadlinen jälkeen. Tämän käytöstä kuitenkin seuraa sanktioita arvostelussa. Tänä vuonna armonajan sisällä on itsenäisyyspäivä. Tämän vuoksi armonaika on muutamaa päivää normaalia pidempi. Tämä ei vaikuta siihen, miten armonajan käyttäminen vaikuttaa arvosanaan.
Harjoitustyön palautuksen ehdoton deadline on 26.4. klo 23.59. Armonajallakin palautus kannattaa kuitenkin tehdä mahdollisimman aikaisin, koska arvostelu kiristyy koko ajan lisäajan kuluessa (kts. alla).
Lisäajan vaikutus arvosteluun¶
Lisäajalla palautettu harjoitustyö saa sanktioita. Sanktiot kovenevat ajan myötä. Harjoitustyön arvostelurajoja muutetaan seuraavasti:
- Ykkösen raja pysyy samana lisäajasta huolimatta.
- Muita arvosanarajoja nostetaan heti lisäajalle siirryttäessä puolella arvosanalla. Esimerkiksi jos harjoitustyö on palautettu heti normaalin takarajan jälkeen, sen on arvosanan 4 saadakseen saatava arvosanan “4.5” edestä pisteitä, arvosanan 3 uusi raja on arvosanan “3.5” raja jne.
- Rajoja nostetaan lisäajan kuluessa edelleen niin, että lisäajan lopussa (viikon kuluttua) arvosanan 4 raja on alkuperäisen arvosanan 5 tasolla. Muut arvosanat on skaalattu vastaavasti. Rangaistusvaikutus ei ole hyppäyksittäinen, vaan kovenee liukuvasti koko ajan.
Lisäajan hakeminen harjoitustyön tekemiseen perustellusta syystä¶
Sanktiotonta lisäaikaa on mahdollista saada perustellusta syystä. Lisäksi palautusaikataulua voidaan mukauttaa yli kurssin normaalin harjoitustyöaikataulun painavista syistä. Perusteltuja syitä voi olla monenlaisia, joten jos kokee olevansa estynyt työskentelemään harjoitustyön kanssa, tulee ottaa yhteyttä kurssin vastuuhenkilöön. Sairastumisesta tulee olla lääkärin/sairaanhoitajan todistus. Koska harjoitustyötä oletetaan tehtävän viimeistään ensimmäisen periodin lopusta saakka jatkuvasti, perusnuhaflunssa ei ole riittävä peruste saada lisäaikajärjestelyä vaan se putoaa sanktiollisen lisäajan piiriin. Huomaa, että parityössä yhden ryhmän jäsenen työskentelyeste vaikuttaa myös pariin eli aikataulumuutokset on sovittava ryhmäkohtaisesti.