Viikkotehtävät
Kurssi suoritetaan tekemällä pakolliset viikkotehtävät.
Vuosien 2025-2026 aikana saadut viikkotehtäväpisteet ovat voimassa ainakin 31.7.2027 saakka.
Kaikista tehtävistä on ylläpidettävä ei-julkista (private) tehtäväkohtaista versionhallintaa git-työkalun avulla gitlab.jyu.fi-palvelussa.
- Tee itsellesi oma yksityinen klooni taí fork valmiista projektipohjasta kullekin viikkotehtävälle annetusta pohjasta. Jokaisesta viikkotehtävästä on oltava oma repo. Luo siis gitlab.jyu.fi-palvelussa uusi projekti.
- Muista valita projektin asetuksista Private. Reposi ei missään tapauksessa saa olla julkinen.
- Jos tulee valittavaksi useampia namespaceja (ryhmiä), valitse omaa tunnustasi vastaava
- Lisää projektin jäseneksi (väh. reporter- tai developer-roolissa) käyttäjä tjlahton (kurssi opettaja). Lisääminen onnistuu gitlabissa valinnalla Manage|Members|Invite members. Guest-rooli ei riitä vaan rooliksi on annettava mielellään developer.
- Ota pois myös suojaus projektin main-haarasta Settings|Repository|Protected branches|Unprotect
-
Siirry omalle koneelle ja kloonaa viikkotehtävälle annettu valmis projektipohja.
Tämä kannattaa usein sijoittaa W:-asemalle (sama kuin users.jyu.fi:n tiedostot), jolloin
sovellustasi on helpointa myös testata. Lokaalilta levyltä esim. javascript-sovellusten testaaminen ei onnistu ilman omaa www-palvelinta.
Huom! gitlab.jyu.fi ei enää salli kirjautumista salasanalla vaan pitää käyttää erikseen luotua tokenia. Token luodaan valitsemalla Gitlabin web-käyttöliittymän oikeasta ylänurkasta oman tunnuksen preferences ja sen jälkeen Access|Personal access tokens. Uuden tokenin voi luoda nyt oikeasta laidasta löytyvällä Generate token -toiminnolla, josta valitaan Legacy Token. Tokenille voi keksiä haluamansa nimen. Expiration Dateksi kannattaa valita ainakin vuosi eteenpäin. Select Scopes -kohtaan pitää valita ainakin write_repository. Komentoriviltä repoa gitlabiin pushatessa pitää nyt salasanaksi syöttää edellisen jälkeen saatu pitkä token.
Tässä esimerkki TIEA2120-kurssilta:[omatunnus@charra tiea2120]$ git clone https://gitlab.jyu.fi/tiea2120/vt1 Cloning into 'vt1' remote: Enumerating objects: 11, done. remote: Counting objects: 100% (11/11), done. remote: Compressing objects: 100% (9/9), done. remote: Total 11 (delta 2), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (11/11), 7.53 KiB | 1.08 MiB/s, done. Resolving deltas: 100% (2/2), done. [omatunnus@charra tiea2120]$ cd vt1/ [omatunnus@charra vt1]$ git remote remove origin [omatunnus@charra vt1]$ git remote add origin https://gitlab.jyu.fi/omatunnus/vt1.git [omatunnus@charra vt1]$ git add pohja.xhtml README.md tyylit.css vt1.js muokkaa tiedostoja... [omatunnus@charra vt1]$ git commit -a [omatunnus@charra vt1]$ git push -uf origin main Username for 'https://gitlab.jyu.fi': omatunnus Password for 'https://omatunnus@gitlab.jyu.fi': Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 2 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 287 bytes | 143.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 To https://gitlab.jyu.fi/omatunnus/vt1.git 64e7a00..95821af main -> main branch 'main' set up to track 'origin/main'. [omatunnus@charra vt1]$ - Jos saat windows-koneella virheilmoituksen fatal: detected dubious ownership in repository, niin aja gitin ehdottama komento asian korjaamiseksi: git config --global --add safe.directory .... Tarvittaessa voi kansiopolkuna käyttää *-merkkiä, jolloin git ei herjaile mistään poluista.
- Jos saat valituksen: remote repository ... is incompatible with fsmonitor aja komento: git config --global --add fsmonitor.allowRemote true
- Gitin oletuseditorin voi vaihtaa esim. nanoksi komennolla: git config --global core.editor "nano"
- Päivitä repoasi jokaisen olennaisen muutoksen jälkeen. Päivityshistoriastasi on oltava nähtävissä, että sovellus on itse tehty.
- Toimivan sovelluksesi on löydyttävä main-haarasta.
- Jokaisella viikkotehtävällä on oltava oma repo. Repon on oltava yksityinen (private). Julkiseksi laitettu repo ei kelpaa.
- Gitlabissa voit käyttää myös ssh-avainta, niin vältyt salasanan syöttämiseltä. Valitettavasti tämä ei toimi halavassa/jalavassa.
- Lisätietoja: Ohjelmointi 2 ja Git
Versionhallintaa on ylläpidettävä niin usein, että siitä selkeästi näkee ohjelmakoodin olevan itse tuotettua. Päivitä repoa selvästi useammin kuin kerran päivässä. Liian harvakseltaan päivitettyjä repoja ei hyväksytä.
Tekoälyä saa käyttää apuvälineenä, mutta kokonaisten tehtävien tekeminen tekoälyllä on kielletty. Voit kysyä tekoälyltä vinkkejä ja ideoita yksittäisiin kohtiin. Ohjelmakoodiin on kommenteilla merkittävä kaikki osiot, jotka olet tuottanut tekoälyllä. Liian laajalti tekoälyllä tuotettuja vastauksia ei hyväksytä.
Uudet tehtävät julkaistaan syyskuussa 2026. Syksyn 2026 tehtävät on palautettava viimeistään 7.12.2026.
Tehtävät
- Viikkotehtävä 1: Python 3, PythonAnywhere ja Flask-perusteet.
- Viikkotehtävä 2: HTTP-protokollan tilattomuus ja lomakkeet
- Viikkotehtävä 3: Sessiot, autentikointi, relaatiotietokannat ja SQL
- Viikkotehtävä 4: Cloud run ja Firestore
- Viikkotehtävä 5: Firestore, Fetch API ja JSON/XML
- Viikkotehtävä 6: Postgresql, Open Data
Palautusohje
- Palauta tehtäväsi Viikkotehtävähärvelillä, jolle annetaan toimivan sovelluksesi osoite ja gitlabissa sijaitsevan reposi osoite.
- Palautettua tehtävää ei voi enää jälkikäteen muokata. Viikkotehtävähärveli kopioi palautushetkellä git-reposi sisällön eikä päivitä sitä jälkikäteen
- Viikkotehtävän palauttamisen jälkeen sinun on vertaisarvioitava jonkun toisen opiskelijan palauttama tehtävä. Et välttämättä saa vertaisarvioitavaa tehtävää heti oman tehtäväsi palauttamisen jälkeen. Vertaisarviointi on tehtävä viikon kuluessa vertaisarvioitavan tehtävän saamisesta. Vertaisarvioinnin tekeminen on pakollista. Hyvin tehdyistä arvioinneista saat lisäpisteitä. Jos jätät vertaisarviointeja tekemättä saat pienemmän arvosanan.
- Älä palauta kaikkia tehtäviä kerralla vaan palauta tehtävät järjestyksessä ja heti kun olet kunkin tehtävän toteuttanut. Tällöin ehdit saada palautetta tekemistäsi tehtävistä etkä tee samoja virheitä kaikissa tehtävissä. Pääset myös itse vertaisarvioimaan muiden tehtäviä ja voit oppia niistä. Tehtävien könttäpalautus (palautat kaikki tehtävät samana päivänä kerralla) ei ole suositeltavaa.
Arviointi
- Tehtävät on toteutettava itsenäisesti. Jokaisen on toteutettava oma itsenäinen ja uniikki ratkaisu tehtävään. Plagiointi on ehdottomasti kiellettyä! Identtisistä vastauksista tulee 0 pistettä kaikille samanlaisen ratkaisun palauttaneille.
- Viikkotehtävän voi valita kolmesta eritasoisesta tehtävästä, joista saa 1, 3 tai 5 pistettä.
- Asianmukaisesta vastauksesta saa tason mukaiset pisteet.
- Toimivasta, mutta pieniä puutteita sisältävästä vastauksesta vähennetään yksi (1) piste. Isompia puutteita sisältävästä tehtävästä voidaan vähentää useitakin pisteitä.
- Tehtäväviikkoja on kuusi kappaletta.
- Halutessaan voi tehdä viikon kaikki kolme eri tehtävätasoa. Korkein pistemäärä jää voimaan.
- Toimimattomasta tai selvästi keskeneräisestä vastauksesta saa nolla (0) pistettä.
- Hyvin tehdyistä vertaisarvioinneista voi saada enintään 12 bonuspistettä. Hyväksytty suoritus eli arvosana 1 on saavutettava ilman vertaisarviointilisäpisteitä..
- Puuttuvia tai huonosti menneitä tehtäviä voi uusia ja korvata seuraavalla kurssilla eli aina kun tehtävistä julkaistaan uudet versiot.
- Tehtävistä lasketaan painotettu keskiarvo:
Viikkotehtävä Painokerroin 1 1 2 2 3 - 5 3 6 4 Laskukaavana:
pka = [ vt1 + 2*(vt2) + 3*(vt3+vt4+vt5)+ 4*vt6 + bonus] / 16.0
- Hyväksytty suoritus:
- Tehtävien painotetun keskiarvon on oltava vähintään 1,00.
- Kurssin suorittamiseen vaaditaan lisäksi vähintään neljä (4) hyväksyttyä (vähintään 1 piste per viikko) palautusta.
- Viikoilta, joilta ei palauta tehtävää tai ei saa tehtävää tehtyä hyväksytysti, saa nolla (0) pistettä. Painotettu keskiarvo lasketaan siis aina kuuden tehtävän perusteella.
- Hyväksytyn suorituksen arvosana (1-5) muodostuu tehtävien painotetusta
keskiarvosta seuraavan taulukon mukaisesti:
Painotettu keskiarvo Arvosana 1,00 - 1,79 1 1,80 - 2,59 2 2,60 - 3,39 3 3,40 - 4,19 4 4,20 - 5,00 5
Laske arvosanasi
Laskuri kertoo, minkä arvosanan saat yo. laskentaperusteilla.
Painotettu keskiarvo: 0
Arvosana: HYL
Käyttäjien kommentit