- Ohjelmointi 1 (C#, Jypeli), syksy 2012
- 1. Tärkeät linkit
- 2. Ajankohtaista
- 3. Kurssilla käytettävät työkalut
-
4. Kurssin opiskelusta
- 4.1 Kurssikoodi
- 4.2 Ilmoittautuminen
- 4.3 Opettajat
- 4.4 Paikka ja aika
- 4.5 Sisältö, esitiedot ja työmäärä
- 4.6 Harjoitustehtävät eli demot
- 4.7 Pääteohjaukset
- 4.8 Harjoitustyö
- 4.9 Debuggausnäyte
- 4.10 Wikin päivitys
- 4.11 Tentti, kurssin suoritus
- 4.12 Materiaali
- 4.13 Kirjallisuutta
- 4.14 Viestintä
- 4.15 Suositeltava tapa opiskella
- 5. Kurssi etäopiskeluna
- 6. Ohjaajille
- 7. Opettajille muistinvirkistykseksi
WikiStart
k2012/demot/demo1
s2012/demot/demo1
s2012/ht-palautusohjeet-cs
s2012/luentojen-aiheet
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 ¶
- Luentojen aiheet ja luennolla jaettu materiaali
- Vastaa kurssin alkukyselyyn
- Luentomoniste pdf (ks. myös monisteen korjaukset)
- Ohjelmointi 1 c# wiki (ei aikaan sidottu)
- Kysymyksiä ja vastauksia
- Aliohjelmien kutsuminen
- Aliohjelmien kirjoittaminen
- 1-ulotteiset taulukot
- 2-ulotteiset taulukot
- Muuttujien näkyvyys
- Khan Academy - esimerkkejä JavaScriptillä (kannattaa tehdä oheisharjoituksina). Katso myös: perusteluja.
- Jypeli käyttöohjeita ja Jypeli-dokumentaatio
- Vinkkejä Visual Studion käytöstä
2. Ajankohtaista ¶
- Kurssi alkaa maanantaina 10.9.2012 kello 10:15 salissa Ag Auditorio 3, tervetuloa uudet tietotekniikan pääaineopiskelijat. Muistathan ilmoittautua kurssille.
- Harjoitustyöt
- Mobiili jatko-osa
3. Kurssilla käytettävät työkalut ¶
- Jokin hyvä tekstieditori
- Visual Studio, XNA ja Jypeli
- Jypeli-ohjelmointikirjasto, liitä tarvittaessa projektiin, käyttöohjeita, Jypeli-dokumentaatio.)
- TortoiseSVN, kurssin SVN-osoite on https://svn.cc.jyu.fi/srv/svn/ohj1s12
- ComTest
- Kuvankäsittely
- Ohjeita työkalujen asentamiseen (NPO wikissä)
- jokin Heksa-editori
- RegEx Coach - voi kokeilla regular expression lausekkeita
- Jos haluat tehdä pelejä Windows 7 -puhelimille, katso ohjeet täältä.
- Jos joku ei voi omassa koneessa käyttää työkaluja, tarjotaan mahdollisuutta mikroluokkien etäkäyttöön.
4. Kurssin opiskelusta ¶
4.1 Kurssikoodi ¶
ITKP102. Huomaa, että tämä kurssi on ensisijaisesti tietotekniikan aloittaville pääaineopiskelijoille.
4.2 Ilmoittautuminen ¶
- Korppiin.
- Mobiili- jatko-osaan 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ä ¶
- C#-kielen alkeet, rakenteisen ohjelmoinnin perusteet. Kurssin työmäärä 14.5 t/viikko.
- Faktat/mielipiteet? Alalla faktaa on oikeastaan vain käytetyn kielen syntaksi.
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 ¶
- jollakin kurssin loppupuolen pääteohjauskerralla on annettava ohjaajalle debuggausnäyte, eli osoitettava että osaa käyttää debuggeria.
- debuggerin käyttötaitoihin kuuluu
- ohjaaja merkitsee Korppiin näytteen annetuksi
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 ¶
- Hanki itsellesi mappi, johon laitat kurssilla jaettua materiaalia
- Ohjelmointi 1, C#-versio, HTML, MH&VL&AJL PDF. (ks. myös monisteen korjaukset)
- Nuorten peliohjelmointikurssi (etenkin Jypelin käyttöohjeet)
- Ohjelmointi 1, Java-versio, MH&VL 2009. [PDF -versio].
- Kurssin esimerkkiohjelmien hakeminen
- C#-koodauskäyntänteet kurssilla
- Ohjelmointi 2, vl,sv-12 (Ohj2-kurssin luentomoniste, ohjelmointikielenä Java. Luvut 3-7 ja 9-10 sopivat hyvin tälle kurssille. Eikä luku 8 tee lainkaan pahaa.
- Käsitekartta vastaavan Java-kurssin asioista, pätee suurimmalta osin myös tällä kurssilla.
- Ohjelmointiaiheisia linkkejä (VL)
- Vuoden 2002 C++-johdatuskurssin materiaali. Voi lukea monistetta ja verrata C#-monisteeseen.
- Ville - kertaus on opintojen äiti
- Javala - itseopiskelupaikka ja taitojen testaaminen Java-kielellä.
- Vinkkejä Visual Studion käytöstä
- Muut Wikit:
- JY: .net - tänne selkeästi yleiskäyttöiset .net -ohjelmointiin liittyvät asiat
- JY: Nuorten peliohjelmointi - kesäisin pidetyn peliohjelmointi-kurssin sivut
- C#-syntaksi
- Javan ja C#:in vertailu
- C# Java ohjelmoijille
- Wikin lukeminen puhelimella jossa ei ole sertifikaattia
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 ¶
- Opettajille muistinvirkistykseksi oppilaille hankalia asioita