Aikataulu (sekä linkit oppimistapahtumiin ja tallenteisiin)¶
Aikataulua täydennetään kurssin edetessä.
Kaikki linkit¶
- Harjoitusten Zoom-linkki: https://tuni.zoom.us/j/67184287658
- Kooditorio: https://discord.gg/Rhrfxr3 [HUOM! Mene Discordin Chrome-selaimella]
- Vastaanotto (keskiviikkoisin 9-10 alkaen 20.1.2021):
- https://tuni.zoom.us/j/64123690434?pwd=blJicjQvSlJmNEZ2dElmNW9MamFHQT09
- Meeting ID: 641 2369 0434
- Passcode: 386134
Ajat ja paikat koko kurssin ajan¶
Ensimmäinen luento pidetään Zoomilla 13.1.2021 klo 14.15-16, ja siihen voi osallistua. Linkki:
- https://tuni.zoom.us/j/64123690434?pwd=blJicjQvSlJmNEZ2dElmNW9MamFHQT09
- Meeting ID: 641 2369 0434
- Passcode: 386134
Muut luennot nauhoitetaan, eikä niihin voi osallistua, mutta voit katsoa nauhoituksen jälkikäteen (ks. kohta Kaikki linkit).
Vastaanottoaika (20.1 alkaen):
- ke 9-10 (Maarit)
Vastaanottoaikana voit tavata kurssin vastuuhenkilön ja kysellä mistä tahansa kurssin asioista (kurssin sisällöstä, järjestelyistä, tehtävistä tms.). Päivystysaika on varattu erityisesti niille kysymyksille, joita usein kysytään luennon jälkeen. Kysymyksiä voit esittää tulemalla huoneeseen TF106 tai Zoom-linkin kautta (ks. kohta Kaikki linkit).
Viikkoharjoitukset pidetään seuraavana aikana Zoomissa (18.1 alkaen):
- ma 16-18 (Anton)
Lisäksi viikkoharjoitukset nauhoitetaan (ks. kohta Kaikki linkit).
Viikkoharjoituksissa käsitellään jotakin ennalta ilmoitettua tehtävää (tai useampaa tehtävää) edelliseltä kierrokselta. Tehtäviä ei välttämättä käsitellä loppuun asti eikä palauteta Plussaan. On siis mahdollista, että joudut vielä hieman korjailemaan harjoituksissa esitettyä koodia, ennen kuin saat sen palautettua onnistuneesti Plussaan.
Kooditorio-päivystykset pidetään Discordilla viikottain (15.1 alkaen):
- ti 10-12 (Minna) (19.1 alkaen)
- pe 14-16 (Pauli) (15.1 alkaen)
Linkki Discordiin löytyy kohdasta Kaikki linkit.
Projektien määräaikojen lähestyessä Kooditorio-aikoja lisätään. Lisäajat ilmoitetaan tässä sekä kunkin viikon kohdalla alempana.
Lisäajat 1. projektia varten:¶
- ke 10.2 klo 10-12 (Joel, Kiti)
- to 11.2 klo 10-12 (Joel, Wilho-Pekka)
- pe 12.2 klo 10-12 (Joel, Kiti)
- pe 12.2 klo 14-16 (Kiti, Esra)
- ma 15.2 klo 10-12 (Joel, Kiti)
- ma 15.2 klo 12-14 (Joel, Kiti)
- ma 15.2 klo 14-16 (Wilho-Pekka)
- ma 15.2 klo 16-18 (Pauli)
Lisäajat 2. projektia varten:¶
- ke 10.3 klo 14-16 (Joel, Kiti)
- to 11.3 klo 12-14 (Kiti, Wilho-Pekka)
- pe 12.3 klo 10-12 (Joel, Kiti)
- pe 12.3 klo 14-16 (Wilho-Pekka, Joel)
- ma 15.3 klo 10-12 (Joel, Esra)
- ma 15.3 klo 12-14 (Joel, Wilho-Pekka)
- ma 15.3 klo 14-16 (Wilho-Pekka, Kiti)
- ma 15.3 klo 16-18 (Pauli, Kiti)
Lisäajat 3. projektia varten:¶
- ke 14.4 klo 14-16 (Joel, Kiti)
- to 15.4 klo 12-14 (Kiti, Wilho-Pekka)
- pe 16.4 klo 10-12 (Joel, Kiti)
- pe 16.4 klo 14-16 (Wilho-Pekka, Joel)
- ma 19.4 klo 10-12 (Joel, Esra)
- ma 19.4 klo 12-14 (Joel, Wilho-Pekka)
- ma 19.4 klo 14-16 (Wilho-Pekka, Kiti)
- ma 19.4 klo 16-18 (Pauli, Kiti)
Lisäajat 4. projektia varten:¶
- ke 5.5 klo 14-16 (Joel, Kiti)
- to 6.5 klo 10-12 (Kiti)
- to 6.5 klo 12-14 (Joel, Kiti)
- pe 7.5 klo 14-16 (Joel, Kiti)
- pe 7.5 klo 16-18 (Kiti, Wilho-Pekka)
- ma 10.5 klo 10-12 (Joel, Wilho-Pekka)
- ma 10.5 klo 12-14 (Joel)
- ma 10.5 klo 16-18 (Wilho-Pekka, Esra)
Viikko 1 periodilla III¶
Luennolla: Kurssin käytännön järjestelyt. Qt Creator ja etätyöpöytä. Versionhallinta. Ohjelmien palauttaminen arvioitaviksi.
Luento pidetään Zoomilla ke 13.1 klo 14.15-16. Linkki:
- https://tuni.zoom.us/j/64123690434?pwd=blJicjQvSlJmNEZ2dElmNW9MamFHQT09
- Meeting ID: 641 2369 0434
- Passcode: 386134
Harjoitukset alkavat vasta 2. viikolla.
Kooditorio-päivystykset on erityisesti tarkoitettu Git-ongelmiin.
- to 14.1 klo 10-12 (Minna)
- pe 15.1 klo 14-16 (Pauli)
Jos sinulla ei ole ongelmia Gitin kanssa eikä muissakaan kurssin asioissa, Kooditorioon ei kannata (eikä pidä) osallistua.
Viikko 2 periodilla III¶
Luennolla: Jatketaan edellisen kierroksen aiheita (jos tarpeen). Tulkkaaminen vs kääntäminen. Muuttujat ja tyypitys (staattinen tyypitys). Kontrollirakenteet.
Luento nauhoitetaan osissa (ks. kansio Kierros 2 Panoptossa):
- 2: Staattinen tyypitys
- 2: C++:n kontrollirakenteista ja operaattoreista
Harjoituksissa: Käsitellään 1-kierroksen tehtäviä (lähinnä tehtävää 1.5.1 Kurssin palautuskäytäntö).
Kooditorio:
- ti 19.1 klo 10-12 (Minna)
- pe 22.1 klo 14-16 (Pauli)
Viikko 3 periodilla III¶
Luennolla: Arvosemantiikka ja viitesemantiikka. Johdattelu osoittimiin. Olio-ohjelmoinnin käsitteitä.
Luento nauhoitetaan osissa (ks. kansio Kierros 3 Panoptossa):
- 3: Arvo- ja viitesemantiikka
- 3: Johdattelua osoittimiin
- 3: Olio-ohjelmoinnista
Harjoituksissa:
Käsitellään 2-kierroksen tehtäviä (lähinnä tehtäviä 2.4.1 Kuutio ja 2.6.1 Tekstin salaaminen sekä ajan salliessa myös tehtävää 2.3.2 Läheisimmät tekijät).
- Kooditorio:
- ti 26.1 klo 10-12 (Minna)
- pe 29.1 klo 14-16 (Pauli)
Viikko 4 periodilla III¶
Luennolla: STL:n
vector
-säiliö. Tieto-ohjattu ohjelmointi. Vesipisarapeli. Ensimmäinen projekti.Luento nauhoitetaan osissa (ks. kansio Kierros 4 Panoptossa):
- 4: Vektoreista
Harjoituksissa:
Käsitellään 3-kierroksen tehtäviä (lähinnä tehtävää 3.4.1 Mölkky-pelin pisteiden laskenta ja ajan salliessa myös tehtävää 3.3.2 Kirjaston kirja).
Kooditorio:
- ti 2.2 klo 10-12 (Minna)
- pe 5.2 klo 14-16 (Pauli)
Viikko 5 periodilla III¶
Luennolla: STL:n yleiset periaatteet: iteraattorit ja algoritmit. Lisää säiliöitä. Säiliöiden yhdisteleminen.
Luento nauhoitetaan osissa (ks. kansio Kierros 5 Panoptossa):
- 5: cin vs getline
- 5: Iteraattorit ja algoritmit
- 5: Lisää säiliöitä ja säiliöiden yhdistelemistä
Harjoituksissa:
Käsitellään 4-kierroksen tehtäviä (lähinnä tehtävää 4.2.2 Merkkijonon jakaminen osiin ja ajan salliessa myös 1-projektin tehtävänantoa).
Kooditorio (tulevia aikoja):
- ti 9.2 klo 10-12 (Minna) [normiaika]
- ke 10.2 klo 10-12 (Joel, Kiti)
- to 11.2 klo 10-12 (Joel, Wilho-Pekka)
- pe 12.2 klo 10-12 (Joel, Kiti)
- pe 12.2 klo 14-16 (Kiti, Esra)
- ma 15.2 klo 10-12 (Joel, Kiti)
- ma 15.2 klo 12-14 (Joel, Kiti)
- ma 15.2 klo 14-16 (Wilho-Pekka)
- ma 15.2 klo 16-18 (Pauli)
- ti 16.2 klo 10-12 (Minna) [normiaika]
Viikko 6 periodilla III¶
Luennolla: Rekursio ohjelmoinnissa. Häntärekursio.
Luento nauhoitetaan osissa:
- 6: Rekursio yleisesti
- 6: Rekursiivisen funktion kirjoittaminen
- 6: Häntärekursio
Harjoituksissa:
Käsitellään 5-kierroksen tehtäviä (lähinnä tehtäviä 5.4.2 Sanan esiintymien rivilaskuri ja 5.3.1 Sekavaa tekstiä).
Kooditorio (mukana myös 1-projektin lisäaikoja):
- ma 15.2 klo 10-12 (Joel, Kiti)
- ma 15.2 klo 12-14 (Joel, Kiti)
- ma 15.2 klo 14-16 (Wilho-Pekka)
- ma 15.2 klo 16-18 (Pauli)
- ti 16.2 klo 10-12 (Minna) [normiaika]
- pe 19.2 klo 14-16 (Pauli) [normiaika]
Viikko 7 periodilla III¶
Luennolla: Käytännön vinkkejä ja demonstraatioita: Debuggerin käyttö Qt Creatorissa ja virheiden havaitseminen eri vaiheissa (käännös, linkitys, suoritus). Projektista ja tyyliseikoista.
Luento nauhoitetaan osissa:
- 7: Debuggauksesta ja virheistä
- 7: const-sanan käytöstä
Harjoituksissa:
Käsitellään 6-kierroksen tehtäviä (lähinnä tehtävää 6.2.1 Verkostomarkkinointia ja mahdollisesti myös tehtävää 6.1.3 Pystysuora tulostus).
Kooditorio:
- ti 23.2 klo 10-12 (Minna)
- pe 26.2 klo 14-16 (Pauli)
Viikko 1 periodilla IV (kurssin 8. viikko)¶
Luennolla: Muisti ja muistiosoitteet. Osoittimet. Taulukot.
Luento nauhoitetaan osissa:
- 8: Johdattelua muistinhallintaan
- 8: Osoittimet
- 8: Taulukot
Harjoituksissa:
Käsitellään 7-kierroksen tehtäviä (projektia). Projektista käsitellään lähinnä syötetiedoston lukemista sopivaan tietorakenteeseen sekä komentoa
LINES
.Kooditorio (tulevia aikoja):
- ti 9.3 klo 10-12 (Minna) [normiaika]
- ke 10.3 klo 14-16 (Joel, Kiti)
- to 11.3 klo 12-14 (Kiti, Wilho-Pekka)
- pe 12.3 klo 10-12 (Joel, Kiti)
- pe 12.3 klo 14-16 (Wilho-Pekka, Joel)
- ma 15.3 klo 10-12 (Joel, Esra)
- ma 15.3 klo 12-14 (Joel, Wilho-Pekka)
- ma 15.3 klo 14-16 (Wilho-Pekka, Kiti)
- ma 15.3 klo 16-18 (Pauli, Kiti)
Viikko 2 periodilla IV (kurssin 9. viikko)¶
Luennolla: Muistin varaaminen dynaamisesti. Dynaamiset tietorakenteet.
Luento nauhoitetaan osissa:
- 9: Muistin varaaminen dynaamisesti
- 9: Linkitetty lista
Harjoituksissa:
Käsitellään 8-kierroksen tehtäviä (lähinnä tehtävää 8.3.2 Opiskelijarekisteri ja ajan salliessa myös tehtävää 8.4.1 Taulukko-operaatioita).
Kooditorio (mukana myös 2-projektin lisäaikoja):
- ma 15.3 klo 10-12 (Joel, Esra)
- ma 15.3 klo 12-14 (Joel, Wilho-Pekka)
- ma 15.3 klo 14-16 (Wilho-Pekka, Kiti)
- ma 15.3 klo 16-18 (Pauli, Kiti)
- ti 16.3 klo 10-12 (Minna) [normiaika]
- pe 19.3 klo 14-16 (Pauli) [normiaika]
Viikko 3 periodilla IV (kurssin 10. viikko)¶
Luennolla: Funktio-osoittimet ja älykkäät osoittimet. Lisää dynaamisia tietorakenteita.
Kierroksen kaikki oleelliset asiat käyvät ilmi materiaalista, joten tältä viikolta ei ole luentonauhoituksia. Lisäksi (valgrindia lukuunottamatta) kaikki tämän viikon asiat ovat sellaisia, että niiden osaaminen ei ole pakollista myöhemmillä kierroksilla eikä projekteissa. Sen sijaan valgrindin käyttöä kannattaa harjoitella, koska kahdessa viimeisessä projektissa edellytetään, että muistinhallintaan liittyviä virheitä ei saa olla.
Harjoituksissa:
Käsitellään 9-kierroksen tehtäviä (lähinnä tehtävää 9.2.1 Korttien siirtelyä).
Kooditorio:
- ti 23.3 klo 10-12 (Minna)
- pe 26.3 klo 14-16 (Pauli)
Viikko 4 periodilla IV (kurssin 11. viikko, sisältää pääsiäisloman)¶
Luennolla: Modulaarisuus. Murtolukuesimerkki. Vesipisarapelin toinen versio.
Luento nauhoitetaan osissa:
- 11: Modulaarisuus
- 11: Abstraktit tietotyypit
Harjoituksissa:
Käsitellään 10-kierroksen tehtäviä (10.3.1 Lisää korttien siirtelyä ja 10.2.1 Nelilaskin vähän yli neljällä komennolla).
Kooditorio:
- ti 30.3 klo 10-12 (Minna)
- pe 9.4 klo 14-16 (Pauli)
Viikko 5 periodilla IV (kurssin 12. viikko)¶
Luennolla: Periyttämisen alkeet. Qt:n alkeet.
Luento on nauhoitettu osissa:
- 12: Periytymisestä
- 12: Qt-demo
Harjoituksissa:
Käsitellään 11-kierroksen tehtäviä (projektia). Tällöin tutkitaan projektissa valmiina annettua ohjelmakoodia assistentin johdolla. Tämä on tärkeä lähtökohta uuden koodin lisäämiselle.
Kooditorio (tulevia aikoja):
- ti 13.4 klo 10-12 (Minna) [normiaika]
- ke 14.4 klo 14-16 (Joel, Kiti)
- to 15.4 klo 12-14 (Kiti, Wilho-Pekka)
- pe 16.4 klo 10-12 (Joel, Kiti)
- pe 16.4 klo 14-16 (Wilho-Pekka, Joel)
- ma 19.4 klo 10-12 (Joel, Esra)
- ma 19.4 klo 12-14 (Joel, Wilho-Pekka)
- ma 19.4 klo 14-16 (Wilho-Pekka, Kiti)
- ma 19.4 klo 16-18 (Pauli, Kiti)
Viikot 6-7 periodilla IV (kurssin 13-14. viikot)¶
Luennolla: Valmistautuminen Qt-projektiin. Esimerkit konekirjoituksesta, liikkuvasta ympyrästä ja hedelmistä. Vesipisarapelin kolmas versio.
Luento nauhoitetaan osissa:
- 13: GUI-projektista
- 13: Kertausta
Harjoituksissa 19.4.2021:
Käsitellään kierroksen 12 tehtäviä (lähinnä tehtäviä 12.5.1 Colorpicker ja 12.6.2 Ajastin).
Harjoituksissa 26.4.2021:
Käsitellään 4-projektia. Projektista ei esitetä mitään koodia, vaan mahdollisia ratkaisuperiaatteita esitellään kierroksen esimerkkien avulla, joissa on paljon samaa koodia kuin projektissakin tarvitaan.
Kooditorio (mukana myös 4-projektin lisäaikoja):
- ma 19.4 klo 10-12 (Joel, Esra)
- ma 19.4 klo 12-14 (Joel, Wilho-Pekka)
- ma 19.4 klo 14-16 (Wilho-Pekka, Kiti)
- ma 19.4 klo 16-18 (Pauli, Kiti)
- ti 20.4 klo 10-12 (Minna) [normiaika]
- pe 23.4 klo 14-16 (Minna) [normiaika]
- ti 27.4 klo 10-12 (Pauli) [normiaika]
- ke 28.4 klo 12-14 (Pauli)
- ke 5.5 klo 14-16 (Joel, Kiti)
- to 6.5 klo 10-12 (Kiti)
- to 6.5 klo 12-14 (Joel, Kiti)
- pe 7.5 klo 14-16 (Joel, Kiti)
- pe 7.5 klo 16-18 (Kiti, Wilho-Pekka)
- ma 10.5 klo 10-12 (Joel, Wilho-Pekka)
- ma 10.5 klo 12-14 (Joel)
- ma 10.5 klo 16-18 (Wilho-Pekka, Esra)