JSP-kurssi: | TIEP113
Google haku TIMin sisältä - Hakusanaksi kannattaa ehkä lisätä myös ohj2. Kun pääset jollekin sivulle jatka Ctrl-F:llä.
TIEP111 Ohjelmointi 2 (Java), kevät 2016
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
- Kehitysehdotuksia TIMistä
- Kysymyksiä ja vastauksia vuoden 2015 demoista 2
- Huomaa että rinnalla suositellaan suoritettavaksi kurssi
TJTA104 Ihmisen ja teknologian välinen vuorovaikutus - Kurssin alkuosan aikataulut
- Viesti Ohj1-opiskelijalta: Tekeminen ja etenkin tekemiensä virheiden tajuaminen oli opettavaista! Lisäksi tuo mainitsemasi kynä- ja paperityyli sekä perusasioiden ääreen palaaminen auttavat useimmiten paljon enemmän kuin koneen avulla ratkaisun ymmärtäminen.
- Vastaa kurssin alkukyselyyn käsitykseesi ohjelmoinnista
- (syksyn 2015 Ohj1 kurssilaisilla homma voi olla jo hoidettu)
- Kiireellisesti asennettavat ohjelmat
- jokin tekstieditori (esim
Notepad++
,SublimeText
tms.) - Java
- Eclipse ja JavaFX
- jokin tekstieditori (esim
- Täytä myös kurssin materiaali, esi- yms. tiedot Korpissa
- pääteohjauksiin ilmoittautuminen, ilmoittaudu niihin ryhmiin, joissa aiot käydä parin ekan viikon aikana.
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.
- C++ -jatko-osaan ilmoittautuminen, kurssin omia sivuja
- JSP -jatko-osaan ilmoittautuminen
4.3 Opettajat
- Vesa Lappalainen (
vesal@jyu.fi
). - Pääte- ja harjoitustyöohjaukset myös
- Otto Juntunen (otto.j.juntunen(at)student.jyu.fi)
- Anna Kolehmainen (anna.a-k.kolehmainen(at)student.jyu.fi)
- Mika Lehtinen (mika.k.lehtinen(at)student.jyu.fi)
- Teemu Natunen (teemu.h.natunen(at)student.jyu.fi)
- Tero Paavolainen (tero.s.t.paavolainen(at)student.jyu.fi)
- Johanna Rantala (johanna.k.m.rantala(at)student.jyu.fi)
4.4 Paikka ja aika
- 11.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
- 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 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.
- 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 18.3.2016 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ä).
- Välikoe pe 18.3.2016 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 vähintään 1 bonus tai guru-tehtävä.
- harjoitustyö aikataulussa, HT5 vaiheen kohdalla suullinen tentti ja saadaan lupa olla poissa välikokeesta (käytännössä katsotaan että HT on itse tehty ja ymmärretty "täysin")
- 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 22.4.2016 tai pe 18.5.2016 (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).
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 tiedotussähköpostilista:
ohj16@korppi.jyu.fi
. Arkisto. - Kurssin keskustelusähköpostilista:
ohj16k@korppi.jyu.fi
. Arkisto. Poistuminen - Kurssin pulinapostilista:
ohj16p@korppi.jyu.fi
. Arkisto. Poistuminen - Muista sähköpostikäyttäytyminen.
- Ohjaajien sähköpostilista:
ohj16c@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.