wiki:k2012/ht-palautusohjeet-cs
Last modified 6 years ago Last modified on 2012-03-08 13:24:46

Pages linking to k2012/ht-palautusohjeet-cs:
k2012
k2012/ohjaus5
k2012/ohjaus4
k2012/luentojen-aiheet

Ohjelmointi 1 » Harjoitustyön ohjeet

k2012 Takaisin kurssin pääsivulle.?

1. Tärkeimmät asiat

2. Aluksi

  • Harjoitustyö on osa kurssisuoritusta. Arvosteluasteikko on hyväksytty/hylätty, ja harjoitustyö pitää olla hyväksytty ennen kuin kurssista voi saada arvosanan.
  • Harjoitustyö tehdään mielellään parityönä, mutta jos haluaa tehdä yksin niin sekin onnistuu. Paria voi kysellä esim kurssin postilistalta (katso wikin etusivu).
  • Harjoitustyömäärä opiskelijaa kohti on noin 30 tuntia (ks. kurssin työmäärä). Parityönä tehtävän työn määrä on siis keskimäärin 60 tuntia.

3. Pelin suunnittelu

  • Mieti minkä tyylisen pelin haluaisit tehdä. Jotain osviittaa antaa tieto siitä, millaisia pelejä Jypelillä voi tehdä.
  • Ennen pelin toteuttamista tehdään suunnitelma. Suunnitelma tulee hyväksyttää ohjaajilla ennen varsinaisen työn aloittamista. Varaa aika Korpista.
  • Simo ja Ville majailevat sovittuina aikoina huoneessa AgC 224.1, Juho huoneessa AgC 417.1 ja Antti-Jussi AgC 414.2. Kysy virastomestareilta apua jos et löydä perille!
  • Suunnittelemattomia harjoitustöitä ei hyväksytä.
  • Ohjeet suunnitelman palauttamiseksi Wikiin
  • Suunnitelmassa pitää olla ainakin seuraavat asiat:
    1. Tekijöiden nimet
    2. Pelin nimi
    3. Pelaajien lukumäärä (1-4)
    4. Pelin taustatarina tai kuvaus pelin teemasta
    5. Pelin idea ja tavoitteet
    6. Hahmotelma pelistä (kuva tai kuvia paperilla käsin tai tietokoneella piirrettynä)
    7. Jonkinlainen kuvaus siitä, miten peli etenee
    8. Pelissä olevat oliot, niiden toiminnot ja missä suhteessa ne ovat toisiinsa
    9. Toteutuksen suunnitelma: mitä tekisin ja missä järjestyksessä? Millä aikataululla?
  • Esimerkkisuunnitelma LunarLander-pelistä
  • Suunnitelma esitellään ohjaajille deadlineen mennessä (ks. tämän sivun yläosa)

4. Vaatimukset

4.1 Sisältö

  • Harjoitustyön aihe on siis peli.
  • Pelissä oltava alku ja loppu (loppu voidaan jättää pois perustellusta syystä, esim. roolipelit)
  • Pelissä pitää voida edetä, oltava jokin havaittava "muutos"
  • Pelistä pitää saada tulos (esim. pisteet), jota voi vertailla (esim. topten)
  • Pelissä olevat hahmot pitää pystyä tunnistamaan, pelaajan on tiedettävä oma hahmonsa ja mikä niiden yhteys on muihin olioihin
  • Erittäin suotavaa on että pelaaja on "kartalla" mitä seuraavaksi tapahtuu (tai voi tapahtua)
  • Yksityiskohdista päättää jokainen itse.
  • Huomaa, että harjoitustyön pääpaino ei kuitenkaan ole hienossa ulkoasussa.

4.2 Tekniset vaatimukset

  • Vähintään muutama aliohjelma Main():n ja Begin():n lisäksi
  • joillekin aliohjelmille on vietävä parametrejä ja joidenkin on palautettava arvoja
  • taulukko/taulukoita/listoja
  • taulukkoja pitää vipeltää läpi
  • Luokka ja aliohjelmat kommentoitu standardien mukaisesti
    • Aliohjelmien dokumenteissa kuvataan sitä, mitä aliohjelmat tekevät, ensisijaisesti ei sitä miten, se kommentoidaan itse koodin sisään jos tarvitsee
    • palauta työ myös NettiDemoWWW:llä demoksi numero 15. Paina Päivitä index.html ja katso sitten minkälainen dokumentti syntyi työstäsi. Mieti kommentteja sen mukaan.
  • Nimeäminen loogista ja kuvaavaa
    • Luokkien nimet aina isolla kirjaimella ja muutenkin järkevästi nimetty, mm. Harkka.cs ei ole hyvä nimi
    • Aliohjelmilla ja muuttujilla kuvaavat nimet
    • katso koodauskäytänteet
  • Tarkastettavien osa-alueiden muistilista:
    • koodissa tekijän nimi ja versio (@author, @version)
    • kaikki aliohjelmat ovat kommentoituja
    • nimeäminen oikein ja loogista
    • aliohjelmia loppu } jälkeen vähintään 2 tyhjää riviä
    • ei turhia attribuutteja
    • ei globaaleja muuttujia
    • ei turhaa toistoa joka olisi voitu tehdä silmukoilla tai apualiohjelmilla
    • käytetään ainakin jotakin taulukkoa
    • ainakin yksi silmukka
    • työ toimii ainakin merkittävältä osin (kaikkia suunnitelman osia ei tarvitse olla tehtynä).

5. Työn esittely ja hyväksyttäminen

  • Koko harkkatyön Solution viedään versionhallintapalvelimelle esimerkiksi TortoiseSVN:n (NPO wikissä) avulla.
  • Töiden esittely tapahtuu pienissä ryhmissä (pääteohjaus ryhmät). Jokainen (pari) esittelee harjoitustyönsä oman ryhmänsä tapaamisessa. Harjoitustyön ei tarvitse vielä olla 100% valmis esittelytilaisuudessa - tarkoitus on antaa ja saada palautetta jotta vielä viimeisiä pikku viilauksia voidaan tehdä.
  • Varaa (parisi kanssa) aika ohjaajalle, ja esittele harjoitustyösi. Näin voidaan varmistua että olet/olette todella itse tehneet pelin. Voit(te) esitellä pelisi myös ohjauksissa.
  • Työ on hyväksytettävä ohjaajilla viimeistään ennen deadlinea (ks. tämän sivun yläosa).

6. Näyttötilaisuus

  1. Laita työsi versionhallintaan ohjeiden mukaisesti
  2. Näyttötilaisuudessa kunkin ryhmän työ otetaan opettajan koneelle ja "pelataan" valkokankaalla. Tarkoitus on että kaikki paikalla olevat katsovat vuorotellen toistensa töitä. Jokainen sanoo myös muutaman sanan työstään ja siinä olevista ratkaisuista. Eli tämä on tavallaan "miniseminaari" (jossa esiintymistä ei arvostella :-).