Kurssin viimeisimmän version löydät täältä: COMP.CS.140 Ohjelmointi 3: Rajapinnat ja tekniikat: spring-2024
Kurssiuutiset
Exam
Ohj3. Toinen Exam tentti julkaistu: https://exam.tuni.fi/enrolments/262880?code=COMP.CS.140_otm-7150839f-b799-4b3e-898f-c825e4247323 Prog3. The second Exam published: https://exam.tuni.fi/enrolments/262883?code=COMP.CS.140_otm-7150839f-b799-4b3e-898f-c825e4247323
Arvosanat / Grades
Harjoitustöiden arviointi valmistuu 15.1 mennessä. Tämän jälkeen arvosanoja aletaan syöttään Plussaan. / The evaluation of the projects will be completed by 15.1. After this, the grades start to be entered into Plussa.
Viimeiset harjoitukset / Last Exercises
Ei kyselytunteja enää / No Q&A sessions 8.12.2023 Viimeiset harjoitukset / Last Exercises: Friday 8.12 in Zoom 10-12 Friday 8.12 in Zoom 14-16 Monday 11.12 in Zoom 8-10
23.11.2023 Harjoitusryhmä siirretty Zoomiin / Exercise group moved to Zoom
Tämänpäiväinen harjoitusryhmä on siirretty Zoomiin johtuen julkisen liikenteen lakosta. Zoom linkki(sama kuin maanantaisin): https://tuni.zoom.us/j/64063172298?pwd=MXR5enh4aFE4U2xOWk9KMzNKenJqUT09 meeting id: 640 6317 2298, passcode: 364833 Today's exercise group has been moved to Zoom due to the public transport strike. Zoom link(same as Mondays): https://tuni.zoom.us/j/64063172298?pwd=MXR5enh4aFE4U2xOWk9KMzNKenJqUT09 meeting id: 640 6317 2298, passcode: 364833
Ensimmäinen kyselytunti on huomenna / The first Q&A session is tomorrow
Kyselytunnit alkavat huomenna (Perjanta 1.9) Suomeksi kello 10-12 ja Englanniksi 14-16. / The Q&A sessions start tomorrow (Friday, 1.9.) in Finnish 10-12 o'clock and in English 14-16 o'clock.
Näytä:
0 / 10 1. Suostumus anonyymin kurssidatan tutkimuskäyttöön
sunnuntai 27.8.2023 21:45 – perjantai 22.12.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
1.1 Lupa tutkimukselle | |||
1.1.1 Tietosuojaseloste | tutkimuslupa - research permission | 0 / 10 | 0 / 10 |
0 / 50 2. Tervetuloa Ohjelmointi 3: rajapinnat ja tekniikat -kurssille
sunnuntai 27.8.2023 21:45 – perjantai 8.9.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
2.1 Tervetuloa kurssille | |||
2.2 Kurssin järjestelyt | |||
2.2.1 Henkilökunta ja yhteystiedot | |||
2.2.2 Kurssin työnkulku | |||
2.2.3 Kurssin arvostelu | |||
2.3 Java: ohjelmointiympäristö | |||
2.3.1 Java IDE ja ensimmäinen ohjelma | |||
2.3.1.1 Tehtävä NetBeans | teoria - theory | 0 / 5 | 0 / 5 |
2.3.2 Git: perusteet | |||
2.3.3 Git: käyttö tällä opintojaksolla | |||
2.3.4 Java-projektin hallinta Mavenilla | |||
2.3.5 Vinkkejä ensimmäiseen palautettavaan ohjelmointitehtävään | |||
2.4 ⌛ Keskiarvon laskeminen | |||
2.4.1 Keskiarvo | harjoitus - exercise | 0 / 10 | 0 / 25 |
2.5 Virtuaalityöpöytä: TUNI Virtual Desktop | |||
2.6 Tarkempi johdanto Java-kieleen | |||
2.6.1 Tehtävä Java | teoria - theory | 0 / 5 | 0 / 5 |
2.7 Kyselytunti | |||
2.7.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
2.7.2 Kyselytunti 1 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 3. Java ohjelmointikielenä
maanantai 4.9.2023 12:00 – perjantai 15.9.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
3.1 Lisää Javan perusteita | |||
3.1.1 Javan syöte- ja tulostevirrat | |||
3.1.1.1 Tehtävä IO | teoria - theory | 0 / 5 | 0 / 10 |
3.1.2 Javan perussäiliöt | |||
3.1.2.1 Tehtävä Containers | teoria - theory | 0 / 5 | 0 / 5 |
3.1.3 Lajittelu ja lambda-funktiot | |||
3.1.3.1 Tehtävä Lambda | teoria - theory | 0 / 5 | 0 / 10 |
3.2 ⌛ Mediaani | |||
3.2.1 Mediaani | harjoitus - exercise | 0 / 10 | 0 / 20 |
3.3 ⌛⌛ Parametritaulukko | |||
3.3.1 Parametritaulukko | harjoitus - exercise | 0 / 10 | 0 / 35 |
3.4 Kyselytunti | |||
3.4.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
3.4.2 Kyselytunti 2 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 4. Suuren ohjelman toteuttaminen
maanantai 11.9.2023 12:00 – perjantai 22.9.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
4.1 Ohjelmistojen toteuttamisen kenttä | |||
4.1.1 Suurten kokonaisuuksien hallinta | |||
4.1.1.1 Tehtävä Abstraction | teoria - theory | 0 / 5 | 0 / 5 |
4.1.2 Rajapinnat | |||
4.1.2.1 Tehtävä Interface | teoria - theory | 0 / 5 | 0 / 10 |
4.2 Javan luokkien perusteet | |||
4.2.1 Java-luokan perusrakenne | |||
4.2.2 Javan pakkauksista | |||
4.3 Poikkeusten käsittely Javassa | |||
4.3.1 Tehtävä Exceptions | teoria - theory | 0 / 5 | 0 / 10 |
4.4 ⌛⌛ Sudoku | |||
4.4.1 Sudoku | harjoitus - exercise | 0 / 10 | 0 / 25 |
4.5 ⌛⌛ Opiskelijarekisteri | |||
4.5.1 StudentRegister | harjoitus - exercise | 0 / 10 | 0 / 30 |
4.6 Kyselytunti | |||
4.6.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
4.6.2 Kyselytunti 3 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 5. Periytyminen
maanantai 18.9.2023 12:00 – perjantai 29.9.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
5.1 Modulaarisuus: periytyminen | |||
5.1.1 Tehtävä Objects | teoria - theory | 0 / 5 | 0 / 5 |
5.1.2 Periytyminen | |||
5.1.2.1 Tehtävä Inheritance | teoria - theory | 0 / 5 | 0 / 10 |
5.2 Myöhäinen (dynaaminen) sitominen | |||
5.3 Johdatus Javan perintään | |||
5.3.1 Tehtävä Java | teoria - theory | 0 / 5 | 0 / 5 |
5.4 Poikkeusten käsittely Javassa, osa 2 | |||
5.4.1 Tehtävä Exceptions2 | teoria - theory | 0 / 5 | 0 / 5 |
5.5 ⌛ Päivämäärä ja aika | |||
5.5.1 Datetime | harjoitus - exercise | 0 / 10 | 0 / 20 |
5.6 ⌛⌛ Sanan arvaus | |||
5.6.1 Sanan arvaus | harjoitus - exercise | 0 / 10 | 0 / 35 |
5.7 Kyselytunti | |||
5.7.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
5.7.2 Kyselytunti 4 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 6. Luokkahierarkiat
maanantai 25.9.2023 12:00 – perjantai 6.10.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
6.1 Modulaarisuus: Rajapinnat | |||
6.1.1 Abstrakti kantaluokka | |||
6.1.1.1 Tehtävä ADT | teoria - theory | 0 / 5 | 0 / 5 |
6.1.2 Rajapintaluokat | |||
6.1.2.1 Tehtävä interfaces | teoria - theory | 0 / 5 | 0 / 5 |
6.1.3 Moniperiytyminen | |||
6.2 Luokkahierarkioiden mallintaminen | |||
6.3 Rajapinnat Javassa, osa 1 | |||
6.3.1 Tehtävä interfaces | teoria - theory | 0 / 5 | 0 / 5 |
6.4 Javan geneerisyys, osa 1 | |||
6.4.1 Tehtävä generics | teoria - theory | 0 / 5 | 0 / 5 |
6.5 Rajapinnat Javassa, osa 2 | |||
6.5.1 Tehtävä interfaces2 | teoria - theory | 0 / 5 | 0 / 5 |
6.6 ⌛ Kuviot | |||
6.6.1 Shapes | harjoitus - exercise | 0 / 10 | 0 / 20 |
6.7 ⌛⌛ Vertailurajapinnat | |||
6.7.1 Comparison | harjoitus - exercise | 0 / 10 | 0 / 35 |
6.8 Kyselytunti | |||
6.8.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
6.8.2 Kyselytunti 5 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 7. Pakkaukset
maanantai 2.10.2023 12:00 – perjantai 13.10.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
7.1 Modulaarisuus: Pakkaukset | |||
7.1.1 Rajapinta sopimuksena | |||
7.1.1.1 Tehtävä contracts | teoria - theory | 0 / 5 | 0 / 10 |
7.1.2 Virhetilanteet rajapinnoissa | |||
7.1.2.1 Tehtävä guarantees | teoria - theory | 0 / 5 | 0 / 15 |
7.2 Ulkoisten luokkakirjastojen nouto Mavenilla | |||
7.3 ⌛⌛ JSON | |||
7.3.1 JSON | harjoitus - exercise | 0 / 10 | 0 / 10 |
7.4 ⌛⌛ Tekstihaku 7z-tiedostosta | |||
7.4.1 sevenzipsearch | harjoitus - exercise | 0 / 10 | 0 / 20 |
7.5 ⌛⌛ Maiden tilastoja (JSON) | |||
7.5.1 json countries | harjoitus - exercise | 0 / 10 | 0 / 25 |
7.6 Kyselytunti | |||
7.6.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
7.6.2 Kyselytunti 6 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 8. Geneeriset tyyppiparametrit
maanantai 9.10.2023 12:00 – perjantai 27.10.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
8.1 Polymorfismi: Geneerisyys | |||
8.1.1 Tehtävä generics | teoria - theory | 0 / 5 | 0 / 10 |
8.2 Javan geneerisyys, osa 2 | |||
8.3 Javan funktionaaliset rajapinnat | |||
8.3.1 Tehtävä Java-functional1 | teoria - theory | 0 / 5 | 0 / 5 |
8.4 Funktionaalinen ohjelmointi Javassa | |||
8.4.1 Tehtävä Java-functional2 | teoria - theory | 0 / 5 | 0 / 10 |
8.5 ⌛⌛ Elokuvadata virtana | |||
8.5.1 Elokuvadata virtana | harjoitus - exercise | 0 / 10 | 0 / 30 |
8.6 ⌛⌛ Elokuvadata virtana #2 | |||
8.6.1 Elokuvadata virtana #2 | harjoitus - exercise | 0 / 10 | 0 / 25 |
8.7 Kyselytunti | |||
8.7.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
8.7.2 Kyselytunti 7 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 9. Syysloma: anna välipalautetta
maanantai 9.10.2023 12:00 – perjantai 27.10.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
9.1 Palaute | |||
9.1.1 Tehtävä feedback | palaute - feedback | 0 / 2 | 0 / 7 |
9.1.2 Tehtävä feedback2 | palaute - feedback | 0 / 2 | 0 / 7 |
9.1.3 Tehtävä feedback3 | palaute - feedback | 0 / 2 | 0 / 1 |
0 / 115 10. Työnjako ja tiimityöskentely
maanantai 23.10.2023 12:00 – perjantai 3.11.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
10.1 Työnjako | |||
10.1.1 Tiimityö versionhallinnassa | |||
10.1.2 Versionhallinnan haarat | |||
10.1.3 Tekninen näkökulma: Submoduulit Gitissä | |||
10.1.4 Tietovarastoharjoitus haaroista | |||
10.1.4.1 Git feature-branch - part 1 | teoria - theory | 0 / 5 | 0 / 10 |
10.1.4.2 Git feature-branch - part 2 | teoria - theory | 0 / 5 | 0 / 15 |
10.1.4.3 Git feature-branch - part 3 | harjoitus - exercise | 0 / 10 | 0 / 20 |
10.2 Dokumentointi ja konventiot | |||
10.2.1 Dokumentaatio koodikommentteina - Javadoc | |||
10.3 ⌛⌛ JSON & Javadoc | |||
10.3.1 javadocjson | harjoitus - exercise | 0 / 25 | 0 / 55 |
10.4 Kyselytunti | |||
10.4.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
10.4.2 Kyselytunti 8 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 11. Toimiva ohjelma
maanantai 30.10.2023 12:00 – perjantai 10.11.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
11.1 (Yksikkö)testaus | |||
11.1.1 Keskeisiä termejä | |||
11.1.1.1 Tehtävä terms | teoria - theory | 0 / 5 | 0 / 5 |
11.1.2 Yksikkötestaus | |||
11.1.2.1 Tehtävä unit | teoria - theory | 0 / 5 | 0 / 10 |
11.1.3 JUnit-testikehys | |||
11.1.3.1 Tehtävä junit | teoria - theory | 0 / 5 | 0 / 10 |
11.2 ⌛⌛ Kurssisuorituksen JUnit-testaus | |||
11.2.1 junitattainment | harjoitus - exercise | 0 / 10 | 0 / 15 |
11.3 ⌛⌛⌛ Tilauksen JUnit-testaus | |||
11.3.1 junitorder | harjoitus - exercise | 0 / 25 | 0 / 40 |
11.4 Kyselytunti | |||
11.4.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
11.4.2 Kyselytunti 9 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 95 12. Graafiset käyttöliittymät
maanantai 6.11.2023 12:00 – perjantai 17.11.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
12.1 Tapahtumapohjainen ohjelmointi | |||
12.1.1 Tehtävä event-driven | teoria - theory | 0 / 5 | 0 / 5 |
12.2 JavaFX-kirjasto | |||
12.2.1 Tehtävä javafx1 | teoria - theory | 0 / 5 | 0 / 5 |
12.2.2 Ensimmäinen JavaFX-ohjelma | |||
12.2.2.1 Tehtävä javafx2 | teoria - theory | 0 / 5 | 0 / 5 |
12.2.3 Hiukan isompi esimerkki | |||
12.2.3.1 Tehtävä javafx3 | teoria - theory | 0 / 5 | 0 / 10 |
12.2.4 FXML | |||
12.3 ⌛ JavaFX laskin | |||
12.3.1 calc | harjoitus - exercise | 0 / 10 | 0 / 10 |
12.4 ⌛⌛⌛ JavaFX Wordle | |||
12.4.1 wordle | harjoitus - exercise | 0 / 25 | 0 / 45 |
12.5 Kyselytunti | |||
12.5.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
12.5.2 Kyselytunti 10 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 13. Harjoitustyön aloitus
sunnuntai 12.11.2023 12:00 – perjantai 1.12.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
13.1 Projekti: Sääsovellus | |||
13.2 Kyselytunti harjoitustyöstä | |||
13.2.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
13.2.2 Kyselytunti 11 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 14. Käyttöliittymän testaaminen
maanantai 20.11.2023 12:00 – perjantai 8.12.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
14.1 TestFX | |||
14.2 Kyselytunti harjoitustyöstä | |||
14.2.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
14.2.2 Kyselytunti 12 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 15 15. Projektin dokumentointi
maanantai 27.11.2023 12:00 – perjantai 8.12.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
15.1 Projekti: dokumentaatio | |||
15.2 Kyselytunti harjoitustyöstä | |||
15.2.1 Tehtävä QA | teoria - theory | 0 / 5 | 0 / 5 |
15.2.2 Kyselytunti 13 läsnäolo | teoria - theory | 0 / 1 | 0 / 10 |
0 / 500 16. Projektin palautus
maanantai 27.11.2023 12:00 – perjantai 8.12.2023 23:59
Myöhästyneitä palautuksia vastaanotetaan perjantai 15.12.2023 23:59 asti.
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
16.1 Harjoitustyön palautus | |||
16.1.1 Palauta projektisi | projekti - project | 0 / 25 | 0 / 500 |
0 / 0 17. Tentti
maanantai 4.12.2023 20:00 – perjantai 22.12.2023 23:59
Tehtävä | Kategoria | Palautukset | Pisteet |
---|---|---|---|
17.1 Tentti |
harjoitus - exercise
0 / 540
palaute - feedback
0 / 15
projekti - project
0 / 500
teoria - theory
0 / 430
tutkimuslupa - research permission
0 / 10