Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Suorittaminen

Voit valita kolmesta suoritustavasta itsellesi sopivimman. Kaikki suoritustavat sisältävät harjoitustyön tekemisen.

Suoritustapojen yksityiskohdat eroavat aikaisemmista toteutuksista jonkin verran, joten jos olet aiemmin yrittänyt suorittaa kurssia, lue tämä osio huolellisesti läpi.

Suoritustapa 1

Harjoitustehtävät, harjoitustyö aikataulussa sekä tentti

Suoritus koostuu seuraavista osasuorituksista (kaikista on saatava hyväksytty):

  1. Keräät jokaisesta osasta vähintään 50% siitä pistemäärästä mitä harjoitustehtävien perustehtävistä voi saada1
  2. Teet harjoitustyön aikataulussa
  3. Teet tentin hyväksytysti

1 Harjoitustehtävät muodostuvat perustehtävistä ja lisätehtävistä. "100%" tarkoittaa tässä yhteydessä sitä pistemäärää, mitä perustehtävistä voi saada. Voit kuitenkin tehdä myös lisätehtäviä kartuttaaksesi prosenttiosuuttasi ja siten tehdä jopa >= 100% pisteistä.

Arvosana muodostuu harjoitustehtävien ja tentin painotettuna keskiarvona (40/60). Tarkempi kuvaus on alla.

Harjoitustehtävien pisterajat:

Kerättyjä pisteitä enintäänHarjoitustehtävien arvosana
<50%0
50%1
60%2
70%3
80%4
>=90%5

Ensimmäisen kuuden osan kohdalla on mahdollista saada myös ns. DL-BONUS-pisteitä: Jos teet osasta vähintään 50%2 osan takarajaan mennessä, lisätään kyseisen osan harjoitustehtävien pistemäärään 0,5 pistettä. Niinpä DL-BONUS-pisteitä voi saada maksimissaan 6 * 0,5 = 3 pistettä. Karkeasti ottaen, kun teet yhden osan takarajaan mennessä, se vaikuttaa noin 1%-yksikön verran kokonaisprosenttiisi.

2 Edelleen, "50%" tarkoittaa tässä yhteydessä puolet siitä pistemäärästä, mitä kyseisen osan perustehtävistä voi saada.

Osien takarajat DL-BONUS-pisteiden saamiseksi ovat seuraavat:

OsaTakaraja DL-BONUS-pisteille
1ma 19.1.2026 klo 11:59 (keskipäivä)
2ma 26.1.2026 klo 11:59 (keskipäivä)
3ma 2.2.2026 klo 11:59 (keskipäivä)
4ma 9.2.2026 klo 11:59 (keskipäivä)
5ma 16.2.2026 klo 11:59 (keskipäivä)
6ma 23.2.2026 klo 11:59 (keskipäivä)

Näet etenemissivulla kerättyjen tehtäväpisteidän määrän ja prosenttiosuuden sekä DL-BONUS-pisteet erikseen.

Lopullinen arvosana muodostuu harjoitustehtävien arvosanan ja tentin arvosanan painotettuna keskiarvona, pyöristäen lähimpään kokonaislukuun. Harjoitustehtävistä saatua arvosanaa painotetaan 40% ja tentistä saatua arvosanaa painotetaan 60%. Sekä harjoitustehtävistä että tentistä täytyy saada vähintään arvosana 1, jotta kurssista voi saada hyväksytyn arvosanan.

Esim1Esim2Esim3
Osuus harjoitustehtävistä (sis DL-BONUS)70%90%70%
Harjoitustehtävien arvosana353
Tentin arvosana145
Painotettu keskiarvo1.84.44.6
Pyöristetty arvosana245

Harjoitustehtävistä saatu arvosana otetaan lukuun kolmeen ensimmäiseen tenttiin, jotka opiskelija suorittaa, ja enintään yhden vuoden sisällä opintojakson viimeisestä suorituspäivästä.

Suoritustapa 2

105% harjoitustehtävistä, suullinen kuulustelu harjoitustyöstä, harjoitustyö aikataulussa

  1. Keräät vähintään 100% pistettä harjoitustehtävistä (kaikista osista yhteensä) JA keräät kaikki DL-BONUS-pisteet (6 * 0.5 = 3 pistettä)
  2. Teet harjoitustyön aikataulussa
  3. Osallistut suulliseen kuulusteluun, jossa ohjaaja arvioi harjoitustyösi

Arvosanasi on tällöin 1, jota voit vapaaehtoisesti korottaa tentillä.

Suoritustapa 3

Harjoitustyö ja loppukoe.

  1. Teet harjoitustyön
  2. Teet tasokokeen tapaisen loppukokeen (tämä on eri asia kuin tentti)

Arvosana muodostuu loppukokeen arvosanasta.

Eettiset ohjeet

Olet vastuussa kaikista palauttamistasi töistä. Kopioiminen tai toisen henkilön työn esittäminen omanaan on kiellettyä. Ryhmätyö on sallittua, mutta jokaisen ryhmän jäsenen tulee antaa panoksensa työhön, ymmärtää tekemänsä asiat ja osata selittää ne tarvittaessa. Ryhmätyönä tehty osa tulee aina merkitä selvästi palautettuun työhön, esimerkiksi koodin kommenttien avulla.

Noudatamme Jyväskylän yliopiston ohjeita ja linjauksia tekoälypohjaisten sovellusten käytössä opiskelussa. Lue nämä ohjeet ja linjaukset huolellisesti, jos aiot käyttää tekoälytyökaluja opiskelussasi. Alla olevat ohjeet täydentävät näitä linjauksia.

Generatiivisten tekoälytyökalujen käyttö valmiiden vastausten luomiseksi on kiellettyä.

Generatiivista tekoälyä voi käyttää apuvälineenä esimerkiksi käsitteiden selittämiseen, tehtävänantojen ymmärtämiseen, virheilmoitusten tulkintaan, materiaalissa annettujen esimerkkien selittämiseen tai uusien esimerkkien luomiseen. Tekoälytyökalulle annettavassa kehotteessa tulee huomioida, että työkalut ovat hyvin herkkiä tuottamaan suoria vastauksia tehtäviin. Tästä syystä kehotteessa tulee tyypillisesti ilmaista selkeästi, että haluat ymmärtää asian etkä halua suoraa ratkaisua.

Jos käytät tekoälyä, Microsoft 365 Copilot lienee tässä suositeltavin työkalu, koska JY:llä on sopimus sen käyttämiseksi. Toinen mahdollinen työkalu on GitHub Copilot, joka kuuluu GitHub Education -pakettiin, jota opiskelijat voivat anoa ilmaiseksi.

Esimerkkejä sopivista kehotteista
  • Mitä tarkoitetaan kapseloinnilla ja miten se liittyy olio-ohjelmointiin?
  • Saan koodissani virheilmoituksen 'X'. Mitä se tarkoittaa? Selitä mitä virheilmoitus tarkoittaa ja mistä se voisi johtua.
  • Kurssillani on tällainen tehtävänanto: 'Kirjoita funktio, joka laskee Fibonacci-lukujonon n:nteen termiin asti.' Miten voisin lähestyä sen ratkaisemista?
Esimerkkejä kielletyistä kehotteista
  • Kirjoita funktio, joka laskee Fibonacci-lukujonon n:nteen termiin asti.
  • Mikä on oikea koodi tehtävään X?
  • Tee minulle JavaFX-sovellus, jonka avulla voin laskea menoja ja tuloja.
  • Tee JavaFX-sovellukseeni uusi ominaisuus, joka tekee X.
Esimerkki M365 Copilotin käyttämisestä harjoitustyön tekemisessä

Alla on kuvattu ongelma, joka liittyy harjoitustyön tekemiseen, ja esimerkki siitä, miten M365 Copilotia voisi käyttää apuna ongelman ratkaisemisessa.

Annan oheisen kehotteen M365 Copilotille.

Haluaisin, että ostostapahtumien TableView täyttäisi tilan alas saakka, kun ostostapahtuman yksityiskohtaisen tarkastelun näkymä ei ole auki. Anna vinkki, miten voisin jatkaa tästä eteenpäin.

Liitän oheen myös kontrollerin koodin, joka ei näy tässä. Erittäin oleellista kuitenkin on, että olen määritellyt TableView-komponentit, niihin liittyvät tapahtumankäsittelijät, ja ymmärrän lähtökohtaisesti, miten sovellukseni toimii. Kysymykseni koskee siis yksityiskohtaa, joka liittyy siihen, miten TableView-komponentin piilotus kannattaa tehdä JavaFX:ssä.

Vastaus on varsin pitkä, ja etenee seuraavasti. Copilot...

  • kuvailee ongelman ja sen syyn,
  • ehdottaa ratkaisuksi managedProperty()-ominaisuuden käyttämistä selittäen ensin, mitä se on ja miten se toimii,
  • antaa esimerkkikoodia, jossa yksittäisen ostostapahtuman tietojen näyttämisen managedProperty()-ominaisuuden arvo kytketään (bind) siihen, onko yksityiskohtaisen tarkastelun näkymä auki vai ei,
  • selittää, miten esimerkkikoodi toimii ja miten sitä voisi soveltaa omaan koodiini,
  • antaa vinkkejä, mitä muuta parannettavaa kontrollerini koodissa olisi, ja miten voisin jatkaa siitä eteenpäin. Esimerkiksi taulukoiden skaalauksessa oli ongelma (VBox.setVgrow()-metodin käyttö), ja Copilot ehdotti siihen ratkaisua.

Tässä tapauksessa palaute on erittäin hyödyllistä, ja auttaa konkreettisesti eteenpäin ongelman ratkaisemisessa. Joskus palaute on vähemmän hyödyllistä, ja joskus se voi jopa ohjata aivan väärään suuntaan. Tällaisissa tilanteissa onkin ensiarvoisen tärkeää, että osaan arvioida saamaani palautetta kriittisesti, ja että ymmärrän, miksi ehdotettu ratkaisu toimii tai miksi se ei toimi.

Tentissä, näyttökokeessa, suullisessa kuulustelussa ja vastaavissa näyttötilanteissa kaikenlaisten tekoälytyökalujen käyttö on ehdottomasti kiellettyä.

Menettely vilppiepäilytilanteessa on kuvattu Jyväskylän yliopiston opintoja ohjaavissa säädöksissä ja määräyksissä.