» Luentojen aiheet ja luentotallenteet » Demotehtävät ja ratkaisut » Ohjaustehtävät » Harjoitustyön ohjeet

Ohjelmointi 1 (C#, Jypeli), syksy 2012

Ohjelmointi 1 Jyväskylän yliopiston Tietotekniikan laitoksen järjestämä ohjelmointikurssi, missä käytettävä kieli on C# ja harjoitustyö on peliaiheinen. Kurssi on suunnattu ensisijaisesti aloittaville tietotekniikan pääaineopiskelijoille. Kurssille voi ilmoittautua myös muidenkin aineiden opiskelijoita (silloin ei kuitenkaan saa marista kurssin sisällöstä :-). Kurssilla käytettävä alusta on Microsoft Windows, mielellään versio 7. Pelit tulevat toimimaan myös XBoxilla ja Nokian käyttämässä Windows Phone -käyttöjärjestelmässä. Muut alustat (Mac OS tai Linux) eivät toimi.

Mikäli joku erittäin (???) pakottavista syistä haluaa tehdä kurssin Javalla, pitää tämä tehdä itseopiskeluna syksyn 2010 materiaalien mukaan. Muuten kurssi suoritetaan etäopiskelunakin vuoden 2012 materiaaleilla.

Huomaathan, että materiaalissa voi olla puutteita. Ilmoita niistä luennoijalle. Asiat tarkentuvat kurssin edetessä.

Toisaalta muista, että materiaali on Wiki, eli voit itsekin suoraan korjata ilmiselviä puutteita. Ahkerimpia materiaaliin asiallisia päivityksiä tehneitä palkitaan lisädemopisteillä (kurssin lopussa erikseen pyydettävä tätä).

1. Tärkeät linkit

2. Ajankohtaista

3. Kurssilla käytettävät työkalut

4. Kurssin opiskelusta

4.1 Kurssikoodi

ITKP102. Huomaa, että tämä kurssi on ensisijaisesti tietotekniikan aloittaville pääaineopiskelijoille.

4.2 Ilmoittautuminen

4.3 Opettajat

  • Vesa Lappalainen (vesal@jyu.fi).
  • Pääte- ja harjoitustyöohjaukset myös
    • Mononen Tiina (tiina.m.mononen@student.jyu.fi)
    • Kinnunen Matti (matti.k.kinnunen@student.jyu.fi)
    • Natunen Teemu (teemu.h.natunen@student.jyu.fi)
    • Niiranen Sami (sami.i.niiranen a_t student.jyu.fi)
    • Potila Jouni (jouni.t.potila@student.jyu.fi)
    • Lehtinen Mika (mika.k.lehtinen@student.jyu.fi)
    • Haatainen Simo (simo.j.s.haatainen@jyu.fi)

4.4 Paikka ja aika

  • 10.9. ~ joulukuun alku
  • HUOM! Poikkeuksellisesti ti 11.9 luento klo 14:00-15:30 puutarhajuhlan takia
  • Sali pääsääntöisesti Ag Auditorio 3. Tarkista kurssin sivu Korpissa mahdollisten salimuutosten varalta.

4.5 Sisältö, esitiedot ja työmäärä

4.6 Harjoitustehtävät eli demot

  • Demotehtävät ja vastaukset
  • Maanantaisin kello 14-16 tai 16-18, ilmoittaudu Korpissa
  • NettiDemoWWW: Demotehtävien palautuspaikka. Demot tulee lähettää aina viimeistään klo 13:00 mennessä ennen demotilaisuuden alkua (saa lähettää monta päivää aikaisemminkin ja tehtäviä voi lisätä ja korjata määräaikaan mennessä).
  • Palautetuista demoista saa hyvityspisteitä. Itse tekeminen on olennainen osa oppimista.

4.7 Pääteohjaukset

  • ryhmiä ke-pe, ilmoittaudu Korpissa
  • Pääteohjausten aiheet
  • Pääteohjauksissa opetellaan käyttämään tarvittavia työkaluja ja niissä saa myös vinkkejä demojen tekoon.

4.8 Harjoitustyö

  • Kurssin harjoitustyön aiheena on peli, mutta muutoin aihe on vapaa.
  • Harjoitustyö esitellään ohjaajalle henkilökohtaisesti viimeistään ennen tenttiin tulemista. Harjoitustyön voi tehdä yksin tai parin kanssa.
  • Katso harjoitustyön ohjeet
  • Ohjausaikojen varaaminen Korpilla

4.9 Debuggausnäyte

4.10 Wikin päivitys

  • jos kurssin aikana päivittää "ahkerasti" kurssin Wiki-sivuja, saa tästä pisteitä
  • kurssin lopuksi pitää kertoa mitä päivityksiä on tehnyt ja ilmoittaa siitä opettajalle, niin pisteet lisätään Korppiin.

4.11 Tentti, kurssin suoritus

  • Loppukokeet
    • ?.?.2012 klo 12:00-16:00 Auditoriot 1-3
    • ?.?.2013 klo 12:00-16:00 Auditoriot 1-3
  • Suorituksen arviointi koostuu osista: demot, debuggausnäyte, harjoitustyö + loppukoe.
  • Demoista saa maksimissaan 6 pistettä hyvityksiä kurssin 1. loppukokeeseen (jos ei pysty osallistumaan 1. loppukokeeseen niin äärimmäisen hyvillä perusteilla voi saada pisteet 2. loppukokeeseen, uusintaan ei missään tapauksessa). Loppukoe arvostellaan 0-24 pistettä. Kurssin läpipääsyä varten on saatava vähintään 12 pistettä yhteensä ja harjoitustyön pitää olla valmis ja hyväksytty. Myös debuggausnäytteen tulee olla hyväksytty.
  • Tentissä saa olla mukana yksi A4-arkki molemmin puolin kirjoitettuna (kynällä tai tulostettuna).

4.12 Materiaali

4.13 Kirjallisuutta

  • Moghadampour: C#-ohjelmointi (Docendo)
  • Sphar, Davis: C# 2008 (Wiley)
  • Watson et al.: Beginning Microsoft Visual C# 2008 (Wrox)
  • Schildt: C# 2.0: The complete reference (McGraw-Hill)
  • Erityisesti Ohjelmointi 2 -kurssia yhtä aikaa tekeville: Kyppö, Vesterholm: Java-ohjelmointi (Talentum)
  • WP7 ohjelmointi - ilmainen PDF-kirja
  • Jon Skeet: C# in depth (Manning)
  • John Sharp: Microsoft Visual C# 2010 (Microsoft)
  • C# 2008 for dummies

4.14 Viestintä

  • Kurssin tiedotussähköpostilista: ohj1s12@korppi.jyu.fi. Arkisto.
  • Kurssin keskustelusähköpostilista: ohj1s12k@korppi.jyu.fi. Arkisto. Muista sähköpostikäyttäytyminen.
  • Ohjaajien sähköpostilista: ohj1s12c@korppi.jyu.fi
  • Henkilökohtaiset kysymykset suoraan luennoijalle/ohjaajille.

4.15 Suositeltava tapa opiskella

  • Ma luennolla jaetaan seuraavan viikon demotehtävät. Tehtäviin kannattaa tutustua jo heti samantien ja jopa yrittää niiden tekemistä ennen ti luentoa. Näin on paremmin motivaatiota luennolla, kun tietää mitä pitää oppia.
  • Pääteohjauksissa tehdään alkuvaiheessa erillisiä pääteohjaustehtäviä, joissa opiskellaan teknisiä asioita, jotka ovat hyödyksi demoja ja harjoitustyötä tehtäessä. Jos aikaa jää (tai voi käydä toisessakin pääteohjausryhmässä), voi tehdä demotehtäviä ja saada niihin alkuunpääsyohjeita. Loppukurssista pääteohjaukissa tehdään vain demoja.
  • Kun demot on palautettu, kannattaa käydä demonpalautuksissa katsomassa mitä "olisi pitänyt" tehdä. Kun jotakin on tosissaan yrittänyt, on vastaanottavaisempi sille, mitä muuta saman tehtävän tiimoilta olisi pitänyt miettiä. Se mikä itsestä tuntuu oikealta, ei välttämättä olekaan paras ratkaisu.
  • Ville-tehtäviä kannattaa tehdä jopa etukäteen ja näin taas nähdä luentoja varten mitä pitäisi oppia. Tehtäviä voi sitten tehdä uudelleen demoja varten.
  • Luentomonistetta kannattaa lukea itsenäisesti etupainotteisesti ja näin saada taas pohjaa luentojen asialle.
  • Harjoitustyötä kannattaa tehdä etupainotteisesti, niin että se olisi valmis joulukuun alussa. Liian myöhä aloitus johtaa kohtuuttomaan kuormaan. HT ei ole pikkujuttu aloittelijalle.
  • Kun on ongelmia pitää kysyä. Kanavia ovat kurssin postilistat, pääteohjaukset, suora kontakti johonkin kurssin opettajista sähköpostilla tai hihasta vetämällä. Ja tietysti luennolla kysymällä saman ongelman saa ratkaistuksi koko joukon puolesta.
  • Koe onnistumisen elämyksiä. Ole kuitenkin valmis oppimaan tekemään vielä paremmin!

5. Kurssi etäopiskeluna

Kurssin on mahdollista suorittaa etäopiskeluna:

  • Ilmoittaudutaan kurssille kuten muutkin Korpista. Poistetaan luentoryhmien ilmoittautuminen.
  • Luennot katsotaan videoinneista
  • Demot palautetaan kuten "tavalliset opiskelijat", käsittely katsotaan videoinneista. Ilmoittautuminen demoryhmään "vain netti".
  • Pääteohjaukset suoritetaan itsenäisesti. Korpissa ei ilmoittauduta pääteohjausryhmiin. Paitsi tietysti jos pääsee käymään paikalla.
  • Harjoitustyö laitetaan Wikiin kuten "lähiopiskelijoillakin". Harjoitustyön ohjausta pyydetään "apuohjaajilta" sähköpostilla sitten kun on aika tehdä harjoitustyötä. Ohjaus tarvittaessa Skype + TeamViewer.
  • Debuggausnäyte suoritetaan etäohjelman avulla.
  • Tentti suoritetaan muiden kanssa Jyväskylässä (ilmoittaudutaan Korpilla) tai opiskelija järjestää itse paikan, johon tenttikysymykset faksataan tenttipäivän aamuna ja josta vastaukset toimitetaan tentaattorille. Tästä pitää erikseen sopia Tietotekniikan laitoksen kanssa. Mahdolliset tenttimisestä muualla aiheutuvat lisäkustannukset maksaa opiskelija itse.

6. Ohjaajille

7. Opettajille muistinvirkistykseksi