Google haku TIMin sisältä - Kun pääset jollekin sivulle jatka Ctrl-F:llä.
TIEP111 Ohjelmointi 2 (Java), kevät 2017
Alla pieni pelillistämiskokeilu. Paina Show map
ja näet tilanteesi kartalla. Kullakin demokerralla rakennat linnaa ja mitä enemmän teet demoja, sitä valmiimmaksi saat linnan. Kun klikkaat linnaa tai taloa hiirellä, näet sen kerran demopisteesi ja kokonaisdemopistemääräsi.
Ohjelmointi 2 on Jyväskylän yliopiston Tietotekniikan laitoksen järjestämä ohjelmointikurssi. Kurssilla käytetään ohjelmointikielenä Javaa ja kurssin harjoitustyönä tehdään graafisella käyttöliittymällä varustettu "rekisteriohjelma". Kurssin suorittamiseen liittyy myös viikottaisia demotehtäviä.
Kurssi on suunnattu ensisijaisesti tietotekniikan pääaineopiskelijoille. Mutta kurssille voi ilmoittautua myös muidenkin aineiden opiskelijoita (silloin ei kuitenkaan saa marista kurssin sisällöstä :-)). Kurssilla käytettäväksi alustaksi kelpaa kaikki käyttöjärjestelmät, missä toimii Java 1.8.
Huomaathan, että kurssi vaatii paljon työtä ja sen suorittamisen tukena on runsaasti apumateriaaleja. Nyt olet TIM-ympäristössä, jonne kurssin materiaaleja siirretään, mutta osa voi vielä olla vanhan Tracin puolella.
Älä hätäänny, vaan varaa aikaa materiaaleihin tutustumiseen ja käy ne läpi rauhassa, osaan ohjeista sinun kannattaa tarttua heti ja osaan kurssin edetessä. Ohjelmoimaan opetteleminen vaatii kykyä etsiä ja omaksua hieman levälläänkin olevaa dokumentaatiota. Halutessasi saat apua henkilökohtaisissa ohjauksissa sekä yleissä pääteohjauksissa.
Osallistu kurssin parantamiseen: Osassa materiaalissa voi olla puutteita tai asia voi olla ilmaistuna hieman vieraalla tavalla - monet asiat selviävät kurssin edetessä, mutta törmätessäsi mahdollisiin virheisiin tai epäselvyyksiin, voit vaikuttaa asiaan seuraavasti:
- Ilmoittamalla luennoitsijalle: Vesa Lappalainen
- muokkaamalla itse: materiaali (TIM ja TracWiki) ovat Wikimäisiä, eli voit itsekin korjata ilmiselviä puutteita. Ahkerimpia materiaaliin asiallisia päivityksiä tehneitä palkitaan lisädemopisteillä (kurssin lopussa erikseen pyydettävä tätä).
- Voit myös lisätä huomioita, kysymyksiä ja kommentteja TIM-dokumentin marginaaliin.
- Jos mieleesi juolahtaa parannusehdotuksia TIM:iin, niin kerro kaikki
1. Ajankohtaista
- Tietokanta -jatko-osa (+1 op) * TIM-tehtävät tietokantoihin liittyen * Harjoitustyön 6 vaihe toteutettu myös käyttäen tietokantaa * kurssin omia sivuja
- Materiaalin kehittäminen -jatko-osa (+ 1 op) * Ohj1/Ohj2 TIM-materiaalin parantaminen/kehittäminen * suoritus: omat parannukset materiaaliin * kurssin omia sivuja
- C++ -jatko-osa (+1 op) * demot ja pääteohjaukset ylälinkistä * suoritus: demot vähintään 60%, min 50% / kerta. * kurssin omia sivuja * C ja C++
- JSP -jatko-osa (+1 op) * luentojen aiheet ja pääteohjaukset ylälinkistä * suoritus: pääteohjaukset + HT * kurssin omia sivuja
- Vastaa kyselyihin * ohjelmointikysely kurssin jälkeen = kysely siitä, mitä MIELESTÄSI ohjelmointi on. * yliopiston virallinen kurssikysely.
2. Tärkeät linkit
- Luentojen aiheet ja luennolla jaettu materiaali
- Kurssin Luentomoniste TIMissä - sisältää paljon interaktiivisia esimerkkejä
- Nimeäminen - kurssin nimeämiskäytänteet
- Sanastoa - täydennä ihmessä kun huomaat puutteita
- Javan ja C#:in erojen vertailua varten:
- Kysymyksiä ja vastauksia
- Ohjelmointi 1-kurssin pikavinkki-sivuja (mm. taulukot, aliohjelmat yms.)
- Harjoitustyö: * Harjoitustyön ohjeet * Harjoitustöiden suunnitelmat * Malliharjoitustyö * harjoitustöiden selailu * harjoitustöiden SVN
- C++ -jatko-osa * demot ja pääteohjaukset ylälinkistä * suoritus: demot vähintään 60%, min 50% / kerta. * kurssin omia sivuja * C ja C++
- JSP -jatko-osa * luentojen aiheet ja pääteohjaukset ylälinkistä * suoritus: pääteohjaukset + HT * kurssin omia sivuja
- Tietokanta -jatko-osa * TIM-tehtävät tietokantoihin liittyen * Harjoitustyön 6 vaihe toteutettu myös käyttäen tietokantaa * kurssin omia sivuja
3. Kurssilla käytettävät työkalut
Kurssilla käytetetään lukuisia eri työkaluja, katso koottu listaus ja linkit asennusohjeisiin kurssin työkalusivulta, muista että saat tukea käyttöönottoon pääteohjauksissa!
4. Hallinnolliset asiat
4.1 Kurssikoodi
- TIEP111. Huomaa, että tämä kurssi on ensisijaisesti tietotekniikan pääaineopiskelijoille. Kaikki saavat toki osallistua ja mahdollisuuksien mukaan muidenkin mielipiteitä voidaan ehkä ottaa huomioon.
4.2 Ilmoittautuminen
- Korppiin.
- Java ja Tietokannat -jatko-osaan ilmoittautuminen
- C++ -jatko-osaan ilmoittautuminen, kurssin omia sivuja
- JSP -jatko-osaan ilmoittautuminen
4.3 Opettajat
- Vesa Lappalainen (
vesal@jyu.fi
). - Tuntiopettajat:
- Teemu Natunen (teemu.h.natunen(at)jyu.fi)
- Mikko Homanen (mikko.a.homanen(at)student.jyu.fi)
- Petri Monola (petri.k.monola(at)student.jyu.fi)
- Erkka Nurmi (erkka.s.nurmi(at)student.jyu.fi)
- Laura Nurmi (laura.k.nurmi(at)student.jyu.fi)
- Tero Paavolainen (tero.s.t.paavolainen(at)student.jyu.fi)
- Johanna Rantala (johanna.k.m.rantala(at)student.jyu.fi)
- Riikka Vilavaara (riikka.k.vilavaara(at)student.jyu.fi)
- Leevi Annala (leevi.a.annala@student.jyu.fi)
4.4 Paikka ja aika
- 9.1. ~ huhtikuu
- Sali pääsääntöisesti Ag Auditorio 3. Tarkista kurssin sivu Korpissa mahdollisten salimuutosten varalta.
4.5 Sisältö, esitiedot ja työmäärä
- esitiedot: C#- tai Java-kielen perusteet
- tavoitteet: olio-ohjelmoinnin alkeet, tietorakenteiden toteuttaminen, yksikkötestaus. Kurssin työmäärä 15.5 t/viikko (ei ole takeita, etteikö joskus aikaa pala enemmänkin, aikatauluta hyvin)
4.6 Harjoitustehtävät eli demot
- Demotehtävät ja vastaukset
- Tähtitehtävät ovat pakollisia joka kerta (v.2018 eteenpäin)
- Demot tulee palauttaa maanantaisin klo 13:00 mennessä, siis ennen demotilaisuuden alkua (saa lähettää monta päivää aikaisemminkin ja lähetyksiä voi täydentää tuohon ma klo 13 asti).
- Demotehtävät käydään läpi maanantaisin kello 14-16 tai 16-18, ilmoittaudu Korpissa
- Palautetuista demoista saa hyvityspisteitä. Itse tekeminen on olennainen osa oppimista.
- Myös aktiivisesta Tim- ja Wiki-sivujen päivityksestä saa demopisteitä (pidä kirjaa päivityksistäsi, ne tilitetään kurssin lopussa)
- Katso miten on käynyt niille, jotka merkinneet paljon demoja tekemättä niitä itse,(=kiinni jäävät)
4.7 Pääteohjaukset
- Ryhmiä on Agoran ATK-luokissa ke-pe, ilmoittaudu Korpissa
- Pääteohjausten aiheet
- Pääteohjauksissa opetellaan aluksi käyttämään tarvittavia työkaluja ja niissä saa myös vinkkejä demojen ja harjoitustyön tekoon.
4.8 Harjoitustyö
- Lue harjoitustyöstä lisää harjoitustyön sivulta
- Harjoitustyön aiheena jonkinlainen "rekisteri" (esim. eri pelien pistelaskut voivat toimia myös aiheina), malliohjelmana tehdään Kerhon jäsenrekisteri.
- Harjoitustyö esitellään ohjaajalle henkilökohtaisesti erikseen varattavina aikoina.
- seuraavan viikon ajat tulevat näkyville su 18:00 mennessä
- to 8-10 pääteohjausryhmässä voi näyttää harjoitustyötä, ilmoittaudu ryhmään jos tulet, poista ilmo jos et tule
- Harjoitustyön voi tehdä yksin tai parin kanssa (käytännössä useamman henkilön ryhmät epäonnistuvat usein). Samoin tuntematon pari voi olla enemmän työtä hidastava kuin edistävä.
- Ohjausaikojen varaaminen Korpilla
- Harjoitustyöhön liittyvät sivut kootusti:
4.9 Debuggausnäyte
- syksyn Ohjelmointi 1 kurssin suorittaneet ovat antaneet osana kurssin suoritusta debuggausnäytteen
- muille suosittelen vahvasti debuggerin kertausta viimeistään kurssin alussa
4.10 Tentti, kurssin suoritus
- Kurssilla on kolme eri suoritustapaa
- Välikoe, demot + HT aikataulussa (ei loppukoetta)
- Välikoe pe 17.3.2017 klo 12:00 - 16:00 Ag Auditorio 3 (
vk=max 24 p, min 6p
), kokeessa monta tehtävää, joista 4 pitää tehdä, mm. pöytätesti. - demot kahdessa jaksossa (
1-7 dp1, 8-12 dp2
)
- harjoitustyö aikataulussa
- kurssin lopputulos =
3/5*vk + dp1 + 2*dp2
(max=32, josta 12p = 1/5, 27p = 5/5, dpn
= demopisteet jaksostan
, ei prosentit) - Katso esimerkki pisteiden vaikutuksesta
- välikoetta ei uusita (voi olla mahdollisuus aloittaa välikoe saman päivänä eri aikaan kuin muut jos on päällekkäisiä tenttejä tms. ylipääsemättömiä esteitä).
- tehdään kynällä ja paperilla (ei koneella!)
- Välikoe pe 17.3.2017 klo 12:00 - 16:00 Ag Auditorio 3 (
- Demot + HT aikataulussa + suullinen tenttaus HT palautuksessa
(ei väli- tai loppukoetta)- demot tehtävä vähintään 105 % 1. jaksolta (ja tämän suoritustapa valittava Korpista etukäteen). Joka demokerta 1. jaksossa vähintään 1 bonus tai guru-tehtävä.
- harjoitustyö aikataulussa, HT5 vaiheen kohdalla suullinen tentti omasta harjoitustyöstä ja saadaan lupa olla poissa välikokeesta (käytännössä katsotaan että HT on itse tehty ja ymmärretty "täysin")
- aika varattava ohjaajalta AJOISSA
- vain niille jotka ovat 1. kertaa kurssilla
- kurssin lopputulos =
3/5*17 + dp1 + 2*dp2
(max=28, josta 12p = 1/5, 27p = 5/5
)
- Loppukoe + HT ilman aikataulua
- Loppukoe pe 21.4.2017 tai pe 25.5.2017 (kokeessa vain yksi kysymys tyyliin: suunnittele ja toteuta ohjelma, aihe vaihtelee, oma tietorakenne pitää kyetä tekemään unissaankin)
- harjoitustyö tehtynä ja hyväksyttynä ennen kokeeseen tulemista
- muutama vuodessa selviää tällä tavalla :-)
- Välikoe, demot + HT aikataulussa (ei loppukoetta)
- välikokeessa ja lopputentissä saa olla mukana yksi A4-arkki molemmin puolin kirjoitettuna (kynällä tai tulostettuna, sisältöä ei ole rajoitettu).
- välikoe ja loppukokeet ovat kynä/paperi-kokeita (ellei erikseen muuta sovita jonkun tietyn oppilaan kanssa)
4.11 Materiaali
Alkuun on tärkeintä, että pääset kiinni luentojen ja demojen rytmiin eli luentomoniste kouraan. Ei myöskään kannata viivytellä ohjelmien asentamisessa (jos käytät omaa konetta) ja/tai niihin tutustumisessa.
- Luentojen aiheet ja luentotallenteet (mp4 & mp3)
- Luentomoniste: TIM-versio, (vanha html pdf )
- Kurssin työkalut
- SVN-käyttö Ohjelmointi 2 -kurssilla * Sovellusprojektien SVN-luennon materiaalit * Tamperelaisten svn-ohjeita
- Kuva: Kurssin käsitekartta
- Javan dokumentaatio (Oraclen sivut) * Java 1.8 dokumentaatio * Haku Java 1.8 dokumentaatiosta
- Itseopiskeluohjelma Villen avulla kannattaa kertailla
- Kurssin malliohjelmia: * Kurssin malliohjelma * Kurssin .jar-paketteja (näillä helpotetaan elämää, ohjeita tulee kurssin edetessä) * Ali.jar - aliohjelmia merkkijonojen ja tiedostojen käsittelyyn doc * gui.jar - komponentteja harjoitustyön helpottamiseksi (Swing, ei vielä JavaFX) * ComTest - paketti yksikkötestaamisen helpottamiseksi * lift.jar - paketti Gui-testaamiseen (Swing) * Graphics.jar - kirjasto piirtämiseen doc * music.jar - kirjasto Midi-soittamiseen doc * Kurssin esimerkkiohjelmien hakeminen * kurssin esimerkkejä Haskell-kielellä
- Muut monisteet: * Olio-ohjelmointi ja C++, vl&rl-97 * Ohjelmointi 2, vl-05 (Ohj2-kurssin vanha luentomoniste, komentorivikäyttöliittymällä) * Ohjelmointi ++, vl-02 vastaavan C++ -kurssin moniste * Vuoden 2002 C++-johdatuskurssin materiaali. Voi lukea monistetta ja verrata Java/C#-monisteeseen.
- Java vs C# * Ohjelmointi 1, Java-versio MH&VL: HTML, PDF. * Ohjelmointi 1, C#-versio: MH&VL&AJL: TIM
* Javan ja C#:in vertailu * C# Java ohjelmoijille (voinee lukea toisinkin päin) - Ohjelmointiaiheisia linkkejä (VL)
- Muut Wikit/linkit: - Java-linkkejä - Java 8 ja lambdat - Kalvot Java 8 Lambdat - Java CheatSheet - JY: Ohjelmointi 1 kurssin Wiki - JY: .net - tänne selkeästi yleiskäyttöiset .net -ohjelmointiin liittyvät asiat - JY: Nuorten peliohjelmointi - kesäisin pidetyn peliohjelmointi-kurssin sivut - Vanhempia Ohj2-kursseja - HUT:in Java-videoita, ks ainakin säikeet. - Lappeenrannan Java-materiaalit: kalvot, moniste osa 1, moniste osa 2, videot
4.12 Kirjallisuutta
- Java-ohjelmointi / Mika Vesterholm, Jorma Kyppö
- Ilmaisia eKirjoja: * Javan spesifikaatio (html ja pdf) * Bruce Eckel's Free Electronic Books - tälle kurssille tuo Thinking in Java * Introduction to Programming Using Java, 2014 (html, pdf) * Java Tutorial (html) * Lasse Koskela: Test Driven (pdf)
- katso: kirjallisuutta
- Pieni Java 8 -kirja Juha Peltomäki
4.13 Viestintä
- Kurssin keskustelualue TIMissä
- Kurssin tiedotussähköpostilista:
ohj17@korppi.jyu.fi
. Arkisto. - Kurssin keskustelusähköpostilista:
ohj17k@korppi.jyu.fi
. Arkisto. Poistuminen - Kurssin pulinapostilista:
ohj17p@korppi.jyu.fi
. Arkisto. Poistuminen - Muista sähköpostikäyttäytyminen.
- Ohjaajien sähköpostilista:
ohj17c@korppi.jyu.fi
- Henkilökohtaiset kysymykset suoraan luennoijalle/ohjaajille.
5. Ohjaajille
- Ohjaajan tehtävälista kurssille
- Opettajille muistinvirkistykseksi oppilaille hankalia asioita
- Päivitä mikroluokkien ohjelmisto -sivua
7. Kurssipalaute
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.