Täällä on esimerkit vuodelta 2019 ja sen uudempia ei ole. Löytyy myös Gitlabista:
TIEP111 Ohjelmointi 2 (Java), kevät 2019
Kurssin vaatima työmäärä:
t/vko Viikkoa tun.yht
-----------------------------------------
Luennot 4 13 52
Demojen palautus 2 12 24
Demoja kotona 5 12 60
Pääteohjaukset 2 4 8
Harjoitustyö 56
-----------------------------------------
Yhteensä: 15.5 13 200
Otsikko: Hyvää uutta vuotta! Asentakaa ja kokeilkaa, saako ohjeilla tehtyä käyttöliittymän
No niin, Hyvää Uutta Vuotta Ohj2 kurssille keväällä 2019 ilmoittautuneet!
Asennusurakka
Kannattaa jo hiljalleen aloitella kurssin työkalujen asennusurakka:
Viimevuoteen nähden tuonne on lisätty ruksitaulukko, jossa voi pitää kirjaa mitkä työkalut on jo saanut asennettua ja lisäksi myös videot asennuksista. Eli ei pitäisi olla enää mahdoton tehtävä, kun tekee huolella. Muutaman tunnin se helposti ottaa.
Vapaaehtoinen tehtävä
Tosin tämä on joka tapauksessa tehtävä viimeistään pääteohjauksessa 2, joten nyt voi hieman pyrkiä etuaikaan.
Jos joku haluaa kokeilla, niin voisi testata noita ohjeita:
https://tim.jyu.fi/view/kurssit/tie/ohj2/tyokalut/JavaFX/SceneBuilder
että saako niillä tehtyä mallin mukaisen (tai oman harjoitustyön vastaavan) käyttöliittymän noilla työkaluilla.
Jos jossakin kohti on epäselvyyksiä, niin niihin voisi lisätä julkisia kommentteja, niin ehdimme vielä korjata ennen kurssin alkua. Kurssihan alkaa sillä, että aluksi suunnitellaan oman harjoitustyön käyttöliittymän ulkoasu.
Tästä voi lukea lisää kurssin monisteesta:
Jokaisen TIM-sivun yläosassa on linkki HT linkit: Ohje, josta voi lukea lisää itse harjoitustyön vaatimuksista.
Kaikki mitä tuohon harjoitustyöhön ehtii kokeilla ja pohtia ennen kurssin alkua, keventää kurssin alun viikoittaista tuntimäärää vastaavasti :-) Esim. ekan demokerran tehtävät 1-4 ovat juuri tuo harjoitustyön suunnittelu.
Erityisesti jos tuo em. onnistuu, on tarvittavista työkaluista suuri osa jo asennettuna.
Tervetuloa
Vesa
Huomaa että Ohjaus == Pääteohjaus
.
Ohjelmointi 2 on Jyväskylän yliopiston Tietotekniikan pääaineen 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 JDK (12.0.1).
Huomaathan, että kurssi vaatii paljon työtä ja sen suorittamisen tukena on runsaasti apumateriaaleja. Nyt olet TIM-ympäristössä, jonne lähes kaikki materiaali on siirretty, hyvin pieni osa voi vielä olla vanhan Tracin puolella. Kerro jos on jossakin vielä linkkejä trackin puolelle.
Ä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ä yleisissä 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) on Wikimäistä, 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ä, saat aikanaan näistä demopisteitä
- 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.
- pääteohjauksiin ilmoittautuminen, ilmoittaudu niihin ryhmiin, joissa aiot käydä parin ekan viikon aikana. Sitten jos et käy, poista ilmoittautumisia tarpeen mukaan!
2. Tärkeät linkit
- Luentojen aiheet ja luennolla jaettu materiaali (luennot)
- Kurssin Luentomoniste TIMissä - sisältää paljon interaktiivisia esimerkkejä
- Nimeäminen - kurssin nimeämiskäytänteet
- Java-pikasyntaksi - lyhyesti Javan syntaksia
- Sanastoa - täydennä ihmessä kun huomaat puutteita
- Javan ja C#:in erojen vertailua varten:
- Kysymyksiä ja vastauksia
- Ohjelmointi 2-kurssin lisämateriaali (hakemisto)
- Ohjelmointi 1-kurssin lisämateriaali (mm. taulukot, aliohjelmat yms.)
- Harjoitustyö:
- kurssin jatko-osat (3 x 1p)
- 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
- Korpissa: Ohjelmointi 2, kevät 2019.
- Java ja Tietokannat -jatko-osaan ilmoittautuminen, kurssin omia sivuja
- C++ -jatko-osaan ilmoittautuminen, kurssin omia sivuja
- JSP -jatko-osaan ilmoittautuminen, kurssin omia sivuja
4.4 Paikka ja aika
- ma 7.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 (demot)
- Demotehtävät ja vastaukset
- Tähtitehtävät ovat pakollisia joka kerta
- 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 (ohjaukset)
- 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.
- etäpääteohjauksista keskustelusivulla
4.8 Harjoitustyö (HT)
- 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, ja poista ilmoittautuminen 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 15.3.2019 klo 12:00 - 16:00 Ag Auditorio 1 (
vk=max 24 p, min 6p
), kokeessa monta tehtävää, joista 4 pitää tehdä, mm. pöytätesti. - demot kahdessa jaksossa (
1-7 dh1, 8-12 dh2
)
- harjoitustyö aikataulussa
- kurssin lopputulos =
3/5*vk + dh1 + 2*dh2
(max=32, josta 12p = 1/5, 27p = 5/5, dhn
= demohyvitykset 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!)
- jos välikokeesta tulee alle 6 p, niin HT7 vaihetta näyttäessä suullinen tentti ja arvolause määräytyy em. kaavasta.
- Välikoe pe 15.3.2019 klo 12:00 - 16:00 Ag Auditorio 1 (
- 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 piste bonus- tai guru-tehtävävillä.
- 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 + dh1 + 2*dh2
(max=28, josta 12p = 1/5, 27p = 5/5
)
- Loppukoe + HT ilman aikataulua
- Loppukoe pe 12.4.2019 tai ke 22.5.2018 (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 TIMissä tehty ja tulostettu 2-puoleinen A4 lunttilappu
- välikoe ja loppukokeet ovat kynä/paperi-kokeita (ellei erikseen muuta sovita jonkun tietyn oppilaan kanssa)
- jos on sellaisia, joilta on vanhalta kurssilta muut suoritukset kasassa, paitsi harjoitustyö, tekevät he aloittamansa harjoitustyön loppuun alkukevään aikana ja suoritus merkitään vanhalle kurssille
- etäopiskelu samoin periaattein kuin Ohjelmointi 1 -kurssissa. Etäopiskelusta on erilliset ohjeet.
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
- Kuva: Kurssin käsitekartta
- Javan dokumentaatio (Oraclen sivut)
- Itseopiskeluohjelma Villen avulla kannattaa kertailla
- Kurssin malliohjelmia:
- Kurssin malliohjelma
- [Kurssin .jar-paketteja] (näillä helpotetaan elämää, ohjeita tulee kurssin edetessä)
- 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 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
- Java-ohjelmointi / Jukka Harju, Jukka Juslin
4.13 Viestintä
- Kurssin keskustelualue TIMissä
- Kysymyksiä ja vastauksia - tänne kannattaa laittaa kysymyset jotka eivät riipu vuodesta
- Kurssin tiedotussähköpostilista:
ohj19@korppi.jyu.fi
. Arkisto. - Kurssin keskustelusähköpostilista: ohj19k@korppi.jyu.fi. Arkisto. Poistuminen
- Kurssin pulinapostilista: ohj19p@korppi.jyu.fi. Arkisto. Poistuminen
- Muista sähköpostikäyttäytyminen.
- Ohjaajien sähköpostilista: ohj19c.group@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
6. Välikoekysymykset
- Välikoekysymykset ja vastaukset 2018
- Välikoekysymykset ja vastaukset 2017
- Välikoekysymykset ja vastaukset 2016
- Välikoekysymykset ja vastaukset 2014
- Välikoekysymykset ja vastaukset 2012 (mallivastauksissa ei käsitelty vielä this viitettä omana parametrina, tätä ei kannata katsoa)
7. Kurssipalaute
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.