OHJEITA C-OHJELMOINNIN HARJOITUSTYÖTÄ VARTEN (Syksy 2007)

YLEISTÄ

C-ohjelmointikurssin suoritus edellyttää harjoitustyön tekemistä. Vain harjoitustyön palauttanut saa osallistua erilliskuulusteluun. Syksyn 2007 kurssikokeeseen voi osallistua vaikka ei olisi vielä palauttanut harjoitustyötä. Kurssista ei kuitenkaan voi saada suoritusta, jos ei tee harjoitustyötä. Harjoitustyö on palautettava ma 5.11.2007 mennessä.

YKSILÖTYÖ

Harjoitustyö on yksilötyö eli jokainen tekee työn itsenäisesti. Keskustella toki voi muiden kurssilla olevien kanssa erilaisista ratkaisuista ym., mutta töiden tulee olla itsenäisesti tehtyjä eikä kopioituja.

TYÖN ALOITUS JA TYÖNOHJAUSTILAISUUDET

Valitse yksi tehtävälistan ohjelmointitehtävä ja toteuta se ANSI-C -kielellä.
Ilmoita valitsemasi ohjelmointyön aihe Päivi Kuupppelomäelle (paivi.kuuppelomaki@cs.helsinki.fi) pe 12.10 mennessä. Tiedot valituista aiheista tulevat kurssin sivulle.

Työnohjaustilaisuuksia järjestetään neljä kertaa. Ohjausta antaa Tomi Jylhä-Ollila.

Vastuu sopivasta aikataulusta on sinulla itselläsi.

VAATIMUKSIA

Käytettävät piirteet (nämä täytyy löytyä ohjelmakoodista): Muita ominaisuuksia voi sitten käyttää tarpeen mukaan. Voit tehdä työsi millä tahansa koneella, mutta tuloksen on kuitenkin ehdottomasti toimittava myös laitoksen Linux-ympäristössä (muista siis siirrettävyys). Ohjelman pitää kääntyä gcc:n parameteilla -ansi -pedantic ja -Wall ilman varoituksia. Käännösyksikköjä on oltava vähintään kaksi. Lisäksi tehdään makefile, jonka avulla tehdään suorituskelpoinen ohjelma.

HYVIN SUUNNITELTU PUOLIKSI TEHTY

Hahmottele ongelmakenttää ja lyö lukkoon toiminnallinen määrittely, käytettävät tietorakenteet sekä ratkaisujen päälinjat. Esittele valintojasi ja ratkaisujasi työohjaustilaisuuksissa. Voit säästää koodinkirjoitusvaivojasi jo hyvillä tietorakenteilla.

POIS TURHA HIENOSTELU: Eli tee se ja vain se mitä pyydetään ja tee lisävirittelysi vain omaan versioosi!

Sopiva ohjelman pituus on 200-500 riviä koodia (plus kommentit). Pituutta tärkeämpää on kuitenkin, että ohjelma tekee mitä pyydetään.

Älä aliarvioi suunnittelun merkitystä toimintapainotteisessakaan lähestymistavassa.

HYVÄT OHJELMAT EIVÄT KASVA ITSESTÄÄN - NE TEHDÄÄN

Arvioi tehdyn suunnitelman toteuttamiskelpoisuutta: Sijoita funktioiden esittelyt, tietorakenteiden tyyppimäärittelyt ym. yhteiset esittelyt .h -loppuisiin määrittelytiedostoihin. Varsinainen suoritettava koodi ja muuttujamäärittelyt tulevat .c -loppuisiin lähdekooditiedostoihin.

Laadi aina erillinen pääohjelma ja sijoita yhteenkuuluvat, jonkin selkeän osatehtävän suorittavat funktiot omiin lähdekooditiedostoihinsa

Tee työsi hyvällä maulla (AINA):

Testausta kannattaa tehdä järjestelmällisesti heti alusta alkaen. Voit etsiä yksinkertaisia virheitä ja 'epäilyttäviä' kohtia gcc-kääntäjän optioilla -ansi -pedantic -Wall

DOKUMENTOINTI: TARPEELLINEN OSA

Tiedostoon ohje kirjattu 2-4 sivuinen lyhyt rakennedokumentti ja ohjelman käyttöohje sekä huolellisesti tehty kommentointi ja lyhyt selitys testauksesta riittää tällä kertaa.

Ohjelman kommentoinnissa pätevät seuraavat yksinkertaiset säännöt:

HARJOITUSTYÖN PALAUTUS

Työ on jätettävä tarkastettavaksi viimeistään ma 5.11. Työt jätetään tarkastettavaksi sähköpostitse Päivi Kuuppelomäelle (Paivi.Kuuppelomaki@cs.helsinki.fi) ja Tomi Jylhä-Ollilalle (tomi.jylha-ollila@helsinki.fi) Sanalaskuri palautetaan Tomi Jylhä-Ollilalle ja muut työt Päivi Kuuppelomäelle.

Tarkastettavaksi jätetään yksi tar-tiedosto, johon on koottu kaikki työhön liittyvä materiaali:

Tar-tiedosto talletetaan omalle kotisivulle. Halutessaan tar-tiedoston voi myös lähettää pakattuna tgz-tai gz-tiedostona. (Ohjeita tar-tiedoston tekemiseen ja pakkaamiseen)

Tarkastajalle lähetetään sähköpostitse vain linkki talletettuun tar-tiedostoon.

HARJOITUSTYÖN ARVOSTELUSTA

Työn arvostelussa otetaan huomioon seuraavat asiat:

Pistemäärät ovat ohjeellisia. Erityyppisissä töissä voidaan niistä hieman poiketa.

Ohjelma palautetaan korjattavaksi, jos

  1. ohjelma ei käänny
  2. ohjelma toiminta katkeaa vakavaan suoritusaikaiseen virheeseen
  3. ohjelma ei lainkaan suorita sitä, mitä sen pitäisi tehdä
  4. dokumentointi puuttuu kokonaan
  5. ohjelman testikuvaus puuttuu kokonaan
  6. ohjelmassa ei ole lainkaan funktioita
  7. ohjelman arvostelussa sen yhteispistemäärä on pienempi kuin 3. (Harjoitustyöstä vaaditaan 3 pistettä kurssin läpipääsyyn.)
  8. Ohjelmasta puuttuu jokin vaadittu piirre: linkitetty tietorakenne, tiedostoston käsittely tai komentoriviparametrin käyttö.
  9. Ohjelmaa ei ole jaettu käännösyksiköihin
  10. Makefile puuttuu
Palaute harjoitustyöstä

Palaute harjoitustyöstä annetaan normaalisti sähköpostitse, tarvittaessa voidaan myös käyttää tapaamista ja suullista palautetta, etenkin, jos lisäohjaus on tarpeen.
Tarkastukseen jätetty C-harjoitustyö annetaan korjattavaksi korkeintaan yhden kerran. Korjausaikaa on 1-2 viikkoa. Korjauksen jälkeen työ joko hyväksytään tai lopullisesti hylätään. Jos työ joudutaan hylkäämään, niin myös kokeessa saadut pisteet mitätöityvät.

Onnea työlle!