This course has already ended.

The latest instance of the course can be found at: COMP.CS.140 Ohjelmointi 3: Rajapinnat ja tekniikat: spring-2024

Course news

Toinen tentti-ikkuna / The 2nd exam-window

Toinen tentti-ikkuna on avattu. Tentistä on kerrottu lisää täällä: https://plus.tuni.fi/comp.cs.140/spring-2023/modules_15/15_tentti/. / The second exam-window is now open. Please, find more information at: https://plus.tuni.fi/comp.cs.140/spring-2023/modules_15/15_tentti/.

Arvosanoja / Grades

Arvosanoja on tallennettu opintorekisteriin. Arvosanasi pitäisi näkyä Sisussa, jos olet tehnyt kaikki kurssin osasuoritukset (harjoitukset, teoria, projekti ja tentti) hyväksytysti. Ota yhteyttä kurssin vastuuopettajiin, jos suoritusmerkintäsi puuttuu, vaikka olet tehnyt kaikki osasuoritukset tai epäilet saaneesi virheellisen arvosanan. (Tentti-ilmoittautumisen Sisussa unohtaneet opiskelijat on ilmoitettu tenttiin opettajan toimesta.) Tilastoja: arvosanojen moodi on tällä hetkellä 5 ja mediaani 4. / Grades have been registered. You should see your grade in Sisu, if you have completed all of the partial attainments (exercises, theory, project work and exam). Please, contact the responsible teachers, if your grade is missing or you notice a grading error. (A teacher has enrolled students who have forgotten to enrol for the exam in Sisu.) Some statistics: The mode and median of the course grades are currently 5 and 4, respectively.

Harjoitustyöt on tarkistettu / Project work submissions have been evaluated

Harjoitustöiden tarkistus valmistui pääosin sunnuntaihin 28.5. mennessä. Kolmen ryhmän harjoitustyöt ovat vielä tarkistettavana teknisten ongelmien vuoksi. Kyseisille ryhmille on lähetetty erillinen viesti viivästyksestä. Tutustu työllesi annettuun palautteeseen Plussassa, jos et ole vielä lukenut sitä. Ota yhteyttä työn tarkistajaan, jos epäilet tarkistuksessa tapahtuneen virheen tai haluat vielä tarkempaa palautetta arvioinnista. Kaikki nopeampaa arviointia pyytäneet ovat saaneet arvosanan nopeutetulla aikataululla. Ota yhteyttä kurssin vastuuopettajiin, jos arvosanasi tallentamista tulee kiirehtiä. / Most of the project work submissions were evaluated by Sunday, 28.5. Submissions from three groups are still being evaluated because of technical problems. Please, read the feedback on the submission at Plussa. In case of possible evaluation error, contact the teacher who evaluated your submission. You can contact the evaluator also, if you would like to have more specific feedback. Please, contact the responsible teachers, if your grade needs to be recorded promptly. All requests for the speedy recording of a grade received so far have been processed.

Zoom-kooditorio pe 5.5. klo 10-12 / Zoom coditorium on Friday from 10 to 12

Ilmari pitää torstaina peruuntuneen Zoom-kooditorion perjantaina (5.5.) klo 10-12. / Ilmari will supervise an additional Zoom coditorium on Friday (5.5.) from 10 to 12.

Zoom-kooditorio peruttu / Zoom coditorium cancelled

Tämän päiväinen Zoom-kooditorio (klo 14-16) on peruttu. / Today's Zoom coditorium from 14 to 16 has been cancelled.

Tentti / Exam

Tentti on avattu. Tentistä on kerrottu lisää täällä: https://plus.tuni.fi/comp.cs.140/spring-2023/modules_15/15_tentti/. / The exam has been published. Please, find more information at: https://plus.tuni.fi/comp.cs.140/spring-2023/modules_15/15_tentti/.

Viimeinen opetusviikko / The last teaching week

Maanantaina 1.5. ei ole kooditoriota vapun vuoksi. Perjantain 5.5. kooditorion pitää Gaurabin sijasta Kasper. Kasper neuvoo suomeksi ja englanniksi. Kooditoriot pidetään kurssin viimeisellä opetusviikolla muilta osin normaalisti. / There are no coditorium on Monday, 1.5. because of May Day. Kasper will supervise the coditorium on Friday, 5.5. on behalf of Gaurab. Questions are answered to on Friday both in Finnish and English. The other coditoriums are arranged normally on the last teaching week of the course.

Lisäkooditorio 28.4. / Extra-coditorium on 28.4.

Perjantaina 28.4. on klo 14 –16 lisäkooditorio harjoitustyön tekemisen tueksi (TC215, Tietotalo, Hervanta). Kooditorio palvelee suomeksi ja englanniksi. / There is an extra coditorium on Friday, 28.4. from 14 to 16 (TC215, Tietotalo, Hervanta). Questions are answered to both in Finnish and English.

Teoriapisteet valmiit / Theory points are ready

Viimeisen läsnäolopisteet on tallennettu. Tarkista, että teoriapisteesi on kirjattu oikein. / The last attendance points from the Q&A session on 21.4. have been stored in Plussa. Please, check your theory points.

Lisää läsnäolopisteitä / More attendance points

31.3. ja 14.4. kyselytuntien läsnäolopisteet on tallennettu Plussaan tänään klo 7 tienoilla. / The attendance points from the Q&A sessions on 31.3. and 14.4. have been stored in Plussa around 7 o'clock this morning.

GitLabin turhat sähköpostit / About unsolicited GitLab emails

GitLab on lähettänyt viime viikkoina turhia sähköposteja. Sähköposteja on lähtenyt kahdesta lähteestä. Ensimmäinen syypää on uudistettu Repolainen-järjestelmä, joka luo Plussan ryhmien perusteella tietovarastot GitLabiin ja päivittää olemassa olevissa ryhmissä tapahtuneet muutokset tietovarastoihin. On ilmennyt, että Repolaisen uudistus on toteutettu siten, että GitLabista lähtee sähköpostiviesti kaikille ryhmäytyneille kurssilaisille aina, kun Repolainen ajaa Plussan tiedot GitLabiin, vaikka riittäisi, että viesti lähtisi vain kurssilaisille, joille on luotu ryhmä tai joiden ryhmän kokoonpano on päivitetty. Päivitetyssä Repolaisessa on lisäksi vika, jonka pysäyttää ajon muutaman uuden ryhmän luonnin tai vanhan ryhmän päivityksen jälkeen. Toistaiseksi ainoa ratkaisu on ollut toistaa ajoa, kunnes kaikki muutokset on saatu GitLabiin. Repolaisen käytettävyysongelma ja sen bugi ovat tuottaneet turhien sähköpostien vyöryn. Ongelmaa selvitellään, mutta se ei todennäköisesti ratkea kurssin kuluessa. Voit siksi valitettavasti saada edelleen turhia, Repolaisen laukaisemia viestejä. Toinen turhien viestien lähde oli projektipohjan .gitlab-ci.yml-tiedosto, joka määrittelee etätietovarastoon puskettaessa tehtävät jatkuvan integraation toimenpiteet (niin sanottu CI/CD-putki). Putki tuotti virheviestejä, koska GitLabiin ei ollut projektipohjaa julkistaessa määritelty prosessia, joka olisi suorittanut .gitlab-ci.yml-tiedoston. Tämä virhe menee täysin kurssin opettajien lukuun. Prosessi on ollut nyt käytössä jonkin aikaa ja testauksesta lisäpisteitä haluavat voivat määritellä CI/CD-putkea edelleen. Tästä tarkemmin tehtävänannossa (Jatkuva integrointi -osio). tl;dr GitLab on lähettänyt turhia viestejä kahdesta syystä, joista ensimmäiseen kurssin opettajat eivät voi juuri vaikuttaa ja voit saada siksi vielä turhaa postia. Toinen oli opettajien vika, mistä pahoittelut. / GitLab has sent unsolicited emails in the past few weeks. The first reason for the messages is Repolainen that creates new repositories and updates existing ones based on the groups defined in Plussa. Contrary to our expectations, the new version of Repolainen directs GitLab to send email to every member of every group, although only groups getting a new repository and groups having an update in members should be notified. To make matters worse, a glitch in Repolainen stops the integration of changes in Plussa to GitLab after a few new repositories are created or old ones have been updated. The only cure for this is to run the integration process again and again, until the process finishes successfully. Combined, the glitch and the user-unfriendly behaviour of Repolainen produce tons of email. The problem is being investigated, but it is unlikely that a fix is found during the course. Please, be prepared for some additional unsolicited emails. The second reason for the emails was the .gitlab-ci.yml given in project template. This file controls how GitLab does continuous integration after a push. At start, the process responsible for running the file was missing and GitLab naturally notified about it. The CI/CD pipeline has been working correctly for some time. You can read more of the pipeline and its possible use as a part of testing process from the project assignment (see the Continuous Intergration section). tl;dr GitLab has spammed you for two reasons. Since the first reason is out of the control of the teachers, you may still expect a few unsolicited emails from GitLab. The second reason was a mistake by the course teachers. Apologies.

28.4. kyselytunnit peruttu / Q&A sessions on 28.4. cancelled

Perjantain 28.4. suomen- ja englanninkieliset kyselytunnit on peruttu. Kurssin viimeiset kyselytunnit ovat näin huomenna (21.4.). Läsnäolosta viimeisellä kyselytunnilla saa poikkeuksellisesti 20 pistettä. / Both the Finnish and English Q&A sessions on Friday, 28.4. have been cancelled. Therefore, tomorrow’s (Friday, 21.4.) Q&A sessions are the last Q&As of the course. A total of 20 attendance points are available from the last Q&A session.

Projektin dokumentointiohjeet julkaistu ja palautus avattu / The documentation instructions and the submission of the project are available

Projektin dokumentointiohjeet on julkaistu ja projektin palautus avattu. / The documentation instructions for the project have been published and submission of the project has been opened.

Kooditoriot 3.4. ja 4.4., ajat vaihtuneet / Coditoriums 3.4. and 4..4, changes in times

Pahoittelut viime hetken muutoksista. Maanantain 3.4. kooditorio on klo 15–17. Tiistain 4.4. klo 8–10 kooditorio on klo 13–15. Paikat ovat entiset. / Apologies for the late notice. Monday’s coditorium will be on 3.4. from 15 to 17. Tuesday’s first coditorium (8–10) will be on 4.4. from 13 to 15. The locations will be the same.

Harjoitustyön yksin tekevät ja ryhmättömät! / For those who work alone or are missing a project group!

Yksittäinen opiskelija ei voi luoda ryhmää Plussassa ja jää siksi ilman tietovarastoa, joka tarvitaan harjoitustyön tekemiseen ja palauttamiseen ilman yhteydenottoa kurssin opettajiin. Ota yhteyttä kurssin vastuuopettajiin (jorma.laurikkala@tuni.fi ja mika.saari@tuni.fi), jos haluat tehdä työn yksin. Ota yhteyttä kurssisähköpostin (prog3@tuni.fi) kautta, jos haluat tehdä työn ryhmässä, mutta et ole vielä löytänyt ryhmääsi. Kerro jälkimmäisessä tapauksessa tavoitearvosanasi, jotta opettajat voivat liittää sinut ryhmään, jolla on samankaltaiset tavoitteet. Huomaa, että ei ole taattua, että ryhmä löytyy, jos sitä ei ole löytynyt tähän mennessä. Opiskelija voi tehdä harjoitustyön yksin, jos hän jää ilman ryhmää. / An individual student cannot create a group in Plussa, and, as a result, cannot have the remote group repository that is needed to implement and submit the project work. Please, contact the teachers via email, to get the repository and/or join to a project group: Contact the responsible teachers of the course (jorma.laurikkala@tuni.fi and mika.saari@tuni.fi), if want to work alone. Contact the course staff (prog3@tuni.fi), if you are missing a group. Tell in latter case your target grade to help the staff to find a suitable group for you. Please, note that there are no guarantees that a group will be found. However, working individually is still an option, if a group cannot be found.

Kierros 13 avattu / Round 13 opened

Harjoitustyön tehtävänanto on nyt luettavissa. Seuraavalle kyselytunnille toivotaan kysymyksiä harjoitustyöstä. / The project work assignment is now available. Please, note you can ask about the project work in the next Q&A session.

Kierros 13 / Round 13

Harjoitustyön tehtävänannon sisältävä 13. kierros avautuu hieman normaalia myöhemmin teknisen ongelman vuoksi. / The 13th round (the project work assignment) will be published slightly late, because of the technical problems.

Muutoksia opetuksessa 29.3. ja 31.3. / Changes in teaching on 29.3. and 31.3.

Ajan muutos: keskiviikon klo 14–16 Zoom-kooditorio pidetään 29.3. poikkeuksellisesti klo 11–13. Paikan muutos: englanninkielinen kyselytunti pidetään 31.3. poikkeuksellisesti salissa TB109. / A change in time: Wednesday’s Zoom coditorium will be held on 29.3. from 11 to 13. A change in place: The Q&A session in English is on Friday, 31.3. at TB109.

Poikkeuksia kooditorioajoissa tänään ja huomenna / Exceptions in coditorium times today and tomorrow

Maanantain 20.3. kooditorio pidetään klo 14–16. Tiistain 21.3. klo 8–10 kooditorio pidetään 12.30–14.30. Paikat eivät muutu: molemmat kooditoriot ovat edelleen mikroluokassa TC215. / The coditorium on Monday, 20.3. will be held 14–16 o’clock. In addition, the coditorium on Tuesday, 21.3. 8–10 o’clock takes place 12.30–14.30 o’clock. The place is the same (TC215).

Päivityksiä JSON & Javadoc -tehtävään / Updates in the JSON & Javadoc task

JSON & Javadoc -tehtävä on osoittautunut murheenryyniksi. Tehtävään on päivitetty lihavoidulla tekstillä yksi tarkennus (package-info.java tiedostoa ei pidä tehdä) ja kaksi korjausta (Node-luokalla tulee olla rakentaja, metodien tulee olla kooditiedostoissa samassa järjestyksessä kuin esimerkkidokumentaatiossa). Taustoista on keskustelu Mattermostissa. / The JSON & Javadoc task has turned out to be a headache. The task has been updated (see bold text). There was an excusable omission in the text (do not create or comment package-info.java) and two errors (also the Node class must have a constructor and the order of the functions in the source code must be the same as in the example documentation). The errors were “inherited” from the original task text.

JSON & Javadoc palautus avattu / JSON & Javadoc submission opened

JSON & Javadoc tehtävän automaattitarkistaja on nyt toivottavasti korjattu. Kurssin opettajat pahoittelevat teknisiä ongelmia. Kymmenennen kierroksen tehtävien palautusaikaa on jatkettu maanantaihin 20.3.2023 klo 23.59 saakka. / The automatic tester for the JSON & Javadoc task has been hopefully fixed. The course staff apologises the technical problems. The deadline for the questions of the tenth round has been extended until Monday, 20.3.2023, 23.59.

Aika muodostaa projektiryhmä / Time to create group for project work

On aika rekisteröidä ryhmä kurssin projektia varten Plussassa. Ryhmän rekisteröintiä varten tarvitset ryhmäläisten liittymiskoodit, jonka jälkeen Luo uusi ryhmä -valikosta voi yksi ryhmäläisistä rekisteröidä ryhmän. Ryhmässä on kaksi tai kolme opiskelijaa. Takaraja rekisteröinnille on 20.3. Jos sinulta vielä puuttuu ryhmä, voit hyödyntää kurssin Mattermost-keskustelualuetta ryhmän löytämiseksi. Keskustelualueelle on tehty oma kiinnitetty ketjunsa ryhmää etsiville opiskelijoille. Löydät ketjun napsauttamalla pinnin symbolia Mattermostin ikkunan yläreunassa. Kysele ryhmäläisiä projektiin vain ja ainoastaan kiinnitetyssä langassa, jotta viestisi ei hukkuisi muiden viestien sekaan. / It is time to register your groups for the course project in Plussa. For the registration you need the join codes of the members of your group. The group can have two or three members. Once you have all the join codes, one team member can register the team through the Form a group selection in Plussa menu. The deadline is 20.3. If you do not have a group yet, you can use the course discussion area in Mattermost to look for one. The discussion area has a pinned thread for those who are seeking a group. You can find this thread easily by clicking the pin symbol in the Mattermost window. Seek group partners for the project work only in the pinned thread. Messages written elsewhere are likely to get lost among the other messages.

Läsnäolopisteistä / About the attendance points

4. ja 5. kyselytuntien läsnäolopisteet ovat Plussassa. / The attendance points of the 4th and 5th Q&A sessions have been stored in Plussa.

Läsnäolopisteistä / About the attendance points

2. ja 3. kyselytuntien läsnäolopisteet ovat Plussassa. / The attendance points of the 2nd and 3rd Q&A sessions have been stored in Plussa.

Fridays's coditorium moves to Hervanta / Perjantain kooditorio siirtyy Hervantaan

Fridays's (12–14) coditorium moves from Central campus to Hervanta. The coditorium will be held at TC215 (Tietotalo, Hervanta) starting from the Friday of this week (3.2.). / Perjantain kooditorion (klo 12–14) paikaksi on vaihdettu tämän viikon perjantaista (3.2.) alkaen TC215 (Tietotalo, Hervanta).

Opiskelijarekisterin palautusongelma korjattu / Submission problem of the student register task fixed

Plussan pitäisi nyt ottaa vastaan palautuksia opiskelijarekisteritehtävään. Neljännen kierroksen palautusaikaa on jatkettu teknisten ongelmien vuoksi vuorokaudella lauantaihin 4.2.2023 klo 23.59 saakka. / Plussa should now accept submissions to the student register task. The deadline of the fourth round has been extended with a day to Saturday, 4.2.2023 23.59 o’clock to compensate the technical problems.

Ongelma opiskeijarekisteritehtävässä / Problem in the student register task

Automaattitarkistuksessa ilmeni ongelma, jonka vuoksi Plussa ei hyväksy toistaiseksi palautuksia opiskelijarekisteritehtävään (luku 4.7). Huomaa, että voit kirjoittaa tehtävässä määritellyt luokat valmiiksi ja testata niitä annetun materiaalin avulla, vaikka Plussa ei suostu ajamaan omia testejään. Kurssin opiskelijat pahoittelevat ja selvittelevät ongelmaa parhaillaan. Palautustakarajaa jatketaan, jos ongelma osoittautuu sitkeäksi. Harjoitukseen voi pyytää lisää palautuskertoja, jos niitä on kulunut hukkaan palautusongelman vuoksi. / There is a problem in the automatic evaluator of the student register task (Chapter 4.7). Please, note that you can implement the required classes and also test them locally with the supplementary material even, if Plussa does not currently accept submissions for this task. The course staff apologizes and tries to solve the problem. The deadline will extended, if the problem persists. Please, ask for an increase of the submission limit, if you have run out of submissions, while trying to figure the problem.

Henkilökohtaiset etätietovarastot / Personal remote repositories

Kurssilaisille on luotu henkilökohtaiset GitLab-etätietovarastot. Tästä varastosta ja ohjelmointitehtävien valmista materiaalia sisältävästä etätietovarastosta on kerrottu luvussa 4.5. Raportoi mahdolliset tekniset ongelmat kurssin sähköpostiosoitteen (prog3@tuni.fi) kautta. / The personal remote GitLab repositories have been created. This repository and the remote repository containing material for the programming tasks are discussed in Chapter 4.5. Please, report any technical programs to the course email (prog3@tuni.fi).

Ensimmäinen kyselytunti on huomenna / The first Q&A session is tomorrow

Kyselytunnit alkavat huomenna (pe 20.1.). Käytänteistä kerrotaan kyselytunnilla. Tule paikalle, jos olet esimerkiksi epävarma, kuinka kyselytunteja etäseurataan. / The Q&A sessions start tomorrow (Friday, 20.1.). The practicalities are explained on Friday. Attend the Q&A session in-person especially, if you are unsure of how to attend the sessions remotely.

Ma klo 12–14 -kooditorio 16.1. klo 10–12 / Monday's 12–14 coditorium is on 16.1. 10–12 o'clock

Maanantain klo 12–14 kooditorio pidetään ensi maanantaina (16.1.) poikkeuksellisesti klo 10–12. Paikkaan ei ole tehty muutoksia. Kooditorio palaa vakiaikaansa klo 12–14 maanantaina 23.1. / Monday's 12–14 coditorium is on 16.1. 10–12 o'clock on the next Monday (16.1.). The place has not been changed. The coditorium will be held at its normal time (12–14) from 23.1. onwards.

Opetustapahtuman seuraaminen etänä / Viewing a learning event remotely

Pääset seuraamaan opetustapahtumaa (luento tai kyselytunti) etänä Panoptossa sivuvalikon Oppimistapahtumat-linkin kautta. Tapahtuma tulee näkyviin Panopton kansioon tallennuksen alettua. / Please, click the Learning event link in the menu to find the steam of a learning event (a lecture or a Q&A session) in Panopto. The learning event appears in the Panopto folder once the event has started.

13.1. kyselytunnit peruttu / 13.1. Q&A sessions cancelled

Kurssin aloitusviikon kyselytunnit (pe 13.1. ) sekä suomeksi että englanniksi on peruttu. Kyselytunnit alkavat perjantaina 20.1. / The first Q&A sessions scheduled on Friday, 13.1. have been cancelled. The Q&A sessions will start on Friday, 20.1.

Show:

Sunday, 8 January 2023, 21:45 – Friday, 5 May 2023, 23:59

Assignment Category Submissions Points
1.1 Permission for Research
1.1.1 Data protection form tutkimuslupa - research permission 0 / 10

Monday, 20 February 2023, 12:00 – Friday, 10 March 2023, 23:59

Assignment Category Submissions Points
9.1 Feedback
9.1.1 Exercise feedback palaute - feedback 0 / 7
9.1.2 Exercise feedback2 palaute - feedback 0 / 7
9.1.3 Exercise feedback3 palaute - feedback 0 / 1

Monday, 27 March 2023, 12:00 – Friday, 14 April 2023, 23:59

Assignment Category Submissions Points
13.1 Project: Sisu Unraveled
13.2 Q&A Session: On Course Project
13.2.1 Exercise QA teoria - theory 0 / 5

Monday, 3 April 2023, 12:00 – Friday, 21 April 2023, 23:59

Assignment Category Submissions Points
14.1 Easter
14.2 TestFX
14.3 Q&A Session: On Course Project
14.3.1 Exercise QA teoria - theory 0 / 5
14.3.2 Q&A session 11 (14 April 2020) attendance teoria - theory 0 / 10

Friday, 14 April 2023, 12:00 – Friday, 21 April 2023, 23:59

Assignment Category Submissions Points
15.1 Project: Documentation
15.2 Q&A Session: On Course Project
15.2.1 Exercise QA teoria - theory 0 / 5
15.2.2 Q&A session 12 (21 April 2023) attendance teoria - theory 0 / 20

Friday, 14 April 2023, 12:00 – Friday, 28 April 2023, 23:59
Late submissions are allowed until Friday, 5 May 2023, 23:59.

Assignment Category Submissions Points
16.1 Submission
16.1.1 Turn in your project projekti - project 0 / 500

Sunday, 30 April 2023, 20:00 – Friday, 5 May 2023, 23:59

Assignment Category Submissions Points
17.1 Exam

harjoitus - exercise

0 / 540

palaute - feedback

0 / 15

projekti - project

0 / 500

teoria - theory

0 / 430

tutkimuslupa - research permission

0 / 10