Tämä kurssi on jo päättynyt.

Kurssin viimeisimmän version löydät täältä: O1: 2026

Jatka siitä, mihin jäit

Kurssiuutiset
Listan kärkeen nostettu viesti

Tämä on vuoden 2017 kurssimateriaali / This is an old copy of the course material

Olet päätynyt vuoden 2017 kurssisivustolle. Huomaathan, että uusi kurssi alkaa 12.9 ja löytyy osoitteesta https://plus.cs.hut.fi/o1/2018/ You have found the course material for year 2017. The new course can be found in https://plus.cs.hut.fi/o1/2018/

Listan kärkeen nostettu viesti

Epävirallinen suoritustodistus

Pistetilanne-sivun oikeasta yläkulmasta on mahdollista nyt ladata itselleen epävirallinen PDF-muotoinen suoritustodistus, mikäli kurssin on suorittanut hyväksytysti.

Kurssipalautekyselyn kooste

Kooste kurssipalautekyselyn vastauksista on julkaistu. Kiitos menneestä kurssista!

Muista kurssipalautelomake! Ja katso robotit ja pelit!

Kurssikysely on julkaistu luvussa 13.1. Kyselyyn vastaaminen on pakollinen osa kurssia. Deadline on ke 20.12., mutta asia kannattaa hoitaa heti.

Kurssi vedetään yhteen ja jatkokursseja esitellään materiaalin luvussa 13.0. Sieltä löytyvien linkkien päähän julkaistaan myös assistenttien suosikkitekstipelit ja robottiturnauksen tulokset.

Hyvää joulunaikaa ja jatkoa ohjelmoinnin parissa!

Vielä on syksyä jäljellä

Uusin viikkokooste löytyy luvusta 12.0.

Kierroksen 12 deadline on 13.12. klo 12 päivällä. Viimeinen, kokoavan palautekyselyn sisältävä kierros 13 avataan 12. kierroksen sulkeutuessa.

Uusin viikkokooste

Uusin viikkokooste löytyy luvusta 11.0. Siellä mm. kerrotaan tekstipelin arvosteluaikataulusta ja esitellään Peeveli-pelin ratkaisua.

Yhdennentoista kierroksen deadline on ke 6.12. keskipäivällä. HUOM, itsenäisyyspäivänä! Hyvää itsenäisyyspäivää kaikille!

Kierroksen 10 uusi DL pe 1.12. klo 12.00

Viikonlopun katkosta johtuen kierroksen 10 uusi DL on siis pe 1.12. klo 12.00. Huom, että tulevien kierrosten deadlinet eivät muutu. Hyviä tekstipelien viimeistelyjä! -Timi

P.S. Muistakaa harvennetut harjoitusryhmäajat lähtien tämän viikon keskiviikosta. Ajat ovat näkyvissä 'Harjoitusryhmät' -välilehdellä.

Oman tekstiseikkailupelin palautus auki

Oman tekstiseikkailupelin voi nyt palauttaa luvun 10.2 palautuslaatikon kautta. Noudata tehtävänannon ohjeita pelin palauttamiseksi. Huomaa erityisesti, että mikäli tehtävä on tehty parin kanssa, niin A+:n yläpalkista on valittava paripalautus. Tarvittaessa uuden paripalautusryhmän voi muodostaa vasemman palkin valikosta. Paripalautuksessa vain toinen parista palauttaa pelin arvosteltavaksi. Pelit arvostellaan muutaman viikon kuluessa kierroksen sulkeuduttua.

Kymmenes kierros poikkeaa tutusta kaavasta

Kymmenennen tehtäväkierroksen deadline on vasta keskiviikkona 29.11. keskipäivällä eli kahden viikon päästä. Kierrosta kannattaa kuitenkin aloittaa tekemään mahdollisimman pian. Tutustu kierrokseen heti, jotta voit suunnitella ajankäyttösi.

Lisää aiheesta juuri julkaistussa viikkokoosteessa luvussa 10.0.

Viikkokooste 9.0 ja ysikierros

Uusin viikkokooste on julkaistu lukuna 9.0. Se mm. kertoo, miksei ohjelmointipulmista kannata liikaa ahdistua ja sisältää yli 20 tapaa ratkaista sademäärätehtävä. Ysikierroksen deadline on taas viikon päästä ke 15.11. keskipäivällä.

Viikkokoosteessa syvennystä ja selvennystä

Viikkokooste julkaistu lukuna 8.0. Seuraava kalmanlinja on ke 8.11. keskipäivällä.

Seitsemäs kierros ajankohtainen

Uusin viikkokooste löytyy luvusta 7.0.

Seitsemännen kierroksen määräaika on taas viikon päästä eli 1.11. keskipäivällä.

Viikkokooste ja kuutoskierros

Uusin viikkokooste löytyy luvusta 6.0.

Kuudes tehtäväkierros on nyt ajankohtainen. DL on ke 25.10. keskipäivällä.

Viitoskierrokselle

Uusi viikkokooste on jälleen nähtävillä. Näe se luvussa 5.0. Seuraava DL on keskiviikkona 18.10. keskipäivällä.

Kolmas viikkokooste ja neloskierros

Uusin viikkokooste on julkaistu materiaalin lukuna 4.0. Ei kun lukemaan.

Neloskierroksen deadline on ke 11.10. keskipäivällä. Kierroksessa on viisi lukua, joista isompia ohjelmointitehtäviä sisältävät 4.2 ja 4.3 ovat työläimmät.

Neljännellä, viidennellä ja kuudennella kierroksella vähitellen siirrytään pakollisista A-tehtävistä erittäin suositeltuihin B-tehtäviin. Joistakin neljännen kierroksen tehtävistä saat B-pisteitä eikä A-pisteitä. B-pisteet kelpaavat myös tarvittaessa korvaamaan puuttuvia A-pisteitä luvun 1.1 kurssiesittelyssä selostettuun tapaan.

Kolmoskierros ajankohtainen. Katso viikkokooste ja esimerkkiratkaisut.

Toinen viikkokooste on julkaistu materiaalin lukuna 3.0. Se sisältää taas kysymyksiä, vastauksia ja opiskelijoiden tarinoita. Katso myös menneiden tehtävien esimerkkiratkaisut kyseisten tehtävien kohdalta A+:ssa. Kolmoskierrosta kannattaa ryhtyä tekemään nyt. Deadline on ke 04.10. keskipäivällä. Kierroksessa on viisi lukua, joista viimeinen on työläin. Muistakaa liittyä Slackiin, josta voi nopeastikin saada pulmiin apua! https://plus.cs.hut.fi/o1/2017/yleista/viestikanavat/#vaihtoehtoinen-keskustelukanava-slack

Ensimmäinen viikkokooste julkaistu, kakkoskierros ajankohtainen

Ensimmäisen viikon palautteiden perusteella laadittu viikkokooste on julkaistu lukuna 2.0 kurssimateriaalissa. Käy katsomassa! Koosteesta löydät vastauksia kysymyksiin kurssin aiheista ja niiden ulkopuoleltakin sekä tunnelmapaloja oppimistilanteista. Kakkoskierrosta kannattaa aloittaa tekemään mahdollisimman pian. Deadline on 27.9. klo 12 päivällä.

Aallon IT-palveluissa katko la-su 16.-17.9.2017

ITS päivittää keskitettyä tiedostopalvelua viikonloppuna 16-17.9.2017. Huoltokatko alkaa 16.9.2017 klo 9.00 ja loppuu viimeistään sunnuntaina 17.9. klo 18. Huollon aikana päivitetään myös yleispalvelimia ja järjestellään hakemistoja. Monet IT-palvelut (MyCourses, ACRIS, aalto.fi, tiedostopalvelimet yms.) ovat alhaalla. Tämä tarkoittaa sitä, että Aallon työasemat eivät ole käytettävissä ja kannattaa kirjautua ulos ennen katkoa. Kuitenkin A+:n pitäisi toimia aivan normaalisti katkon aikana, joten tallenna kurssin osoite esim. kirjanmerkkiin, jotta pääset siihen käsiksi (löytyy myös Slackista). Lisätietoa täällä: https://into.aalto.fi/display/fiit/Aallon+IT-palveluissa+katko+la-su+16.-17.9.2017 -Timi

Kurssi alkanut

Syksyn kurssi on nyt virallisesti alkanut ensimmäisen luennon myötä. Ensimmäisen tehtäväkierroksen tehtävien parissa kannattaa aloittaa mahdollisimman pian, sillä ensimmäinen deadline on jo ke 20.9. keskipäivällä. Tervetuloa kurssille!

Kurssimateriaali nyt nähtävissä

Syksyn 2017 kurssimateriaali on nyt julkaistu. Tehtäväkierrokset aukeavat viimeistään 12.9.

maanantai 21.8.2017 14:00 – keskiviikko 20.9.2017 12:00

Tehtävä Kategoria Palautukset Pisteet
Luku 1.1: Kurssin esittely
Tehtävä 1 (Piazza) Pisteytetty A 0 / 5
Palaute Palaute Ei palautuksia
Luku 1.2: Ohjelmoinnista
Tehtävä 2 (GoodStuff) Pisteytetty A 0 / 5
Tehtävä 3 Pisteytetty A 0 / 5
Palaute Palaute Ei palautuksia
Luku 1.3: Lukuja, tekstiä ja ääniä Scalalla
Tehtävä 4 Pisteytetty A 0 / 4
Tehtävä 5 Pisteytetty A 0 / 1
Tehtävä 6 Pisteytetty A 0 / 5
Palaute Palaute Ei palautuksia
Luku 1.4: Arvojen tallentaminen muuttujiin
Tehtävä 7 Pisteytetty A 0 / 4
Tehtävä 8 Pisteytetty A 0 / 8
Tehtävä 9 Pisteytetty A 0 / 5
Tehtävä 10 Pisteytetty A 0 / 10
Tehtävä 11 Pisteytetty A 0 / 8
Palaute Palaute Ei palautuksia
Luku 1.5: Kokoelmia ja viittauksia
Tehtävä 12 Pisteytetty A 0 / 10
Tehtävä 13 Pisteytetty A 0 / 10
Palaute Palaute Ei palautuksia
Luku 1.6: Aliohjelmien käyttäminen
Tehtävä 14 Pisteytetty A 0 / 12
Tehtävä 15 Pisteytetty A 0 / 6
Tehtävä 16 Pisteytetty A 0 / 2
Palaute Palaute Ei palautuksia
Luku 1.7: Omien funktioiden luominen
Tehtävä 17 Pisteytetty A 0 / 12
Tehtävä 18 (Omia funktioita: metreiksi) Pisteytetty A 0 / 15
Tehtävä 19 Pisteytetty A 0 / 3
Tehtävä 20 (Omia funktioita: sakki) Pisteytetty A 0 / 15
Tehtävä 21 (Omia funktioita: saesta) Pisteytetty A 0 / 15
Tehtävä 22 Pisteytetty A 0 / 6
Tehtävä 23 Pisteytetty A 0 / 2
Tehtävä 24 Pisteytetty A 0 / 2
Tehtävä 25 Pisteytetty A 0 / 6
Tehtävä 26 Pisteytetty A 0 / 4
Tehtävä 27 (Omia funktioita: kurssiarvosana) Pisteytetty A 0 / 20
Palaute Palaute Ei palautuksia
Luku 1.8: Funktioista, tyypeistä ja virheistä
Tehtävä 28 Pisteytetty A 0 / 14
Tehtävä 29 (Omia funktioita: joukkueen tiedot) Pisteytetty A 0 / 25
Tehtävä 30 (Omia funktioita: sanallinenArvosana) Pisteytetty A 0 / 20
Tehtävä 31 (Omia funktioita: tuplaaPisteet) Pisteytetty A 0 / 30
Tehtävä 32 (Omia funktioita: sakko) Pisteytetty A 0 / 30
Tehtävä 33 Pisteytetty A 0 / 1
Palaute Palaute Ei palautuksia

maanantai 21.8.2017 14:00 – keskiviikko 27.9.2017 12:00

Tehtävä Kategoria Palautukset Pisteet
Luku 2.0: Viikkokooste
Palaute Palaute Ei palautuksia
Luku 2.1: Olio-ohjelmointi
Tehtävä 1 Pisteytetty A 0 / 5
Tehtävä 2 Pisteytetty A 0 / 10
Tehtävä 3 Pisteytetty A 0 / 15
Palaute Palaute Ei palautuksia
Luku 2.2: Olioiden sisäinen toiminta
Tehtävä 4 (Olioita: tili) Pisteytetty A 0 / 50
Palaute Palaute Ei palautuksia
Luku 2.3: Luokat olioiden tyyppeinä
Tehtävä 5 Pisteytetty A 0 / 4
Tehtävä 6 Pisteytetty A 0 / 12
Tehtävä 7 Pisteytetty A 0 / 4
Palaute Palaute Ei palautuksia
Luku 2.4: Luokan koodi ja ilmentymämuuttujat
Tehtävä 8 Pisteytetty A 0 / 10
Tehtävä 9 (Suorakaide) Pisteytetty A 0 / 15
Tehtävä 10 Pisteytetty A 0 / 10
Tehtävä 11 (Odds: osa 1) Pisteytetty A 0 / 30
Palaute Palaute Ei palautuksia
Luku 2.5: Erilaisia muuttujia
Palaute Palaute Ei palautuksia
Luku 2.6: Käynnistämisestä ja syötteestä
Tehtävä 12 (Ave Mundus) Pisteytetty A 0 / 10
Tehtävä 13 (Odds: osa 2) Pisteytetty A 0 / 20
Palaute Palaute Ei palautuksia
Luku 2.7: Rajapintoja ja dokumentteja
Tehtävä 14 Pisteytetty A 0 / 2
Tehtävä 15 Pisteytetty A 0 / 8
Palaute Palaute Ei palautuksia
Luku 2.8: Totuusarvoja ja vertailua
Tehtävä 16 Pisteytetty A 0 / 14
Tehtävä 17 Pisteytetty A 0 / 5
Tehtävä 18 Pisteytetty A 0 / 2
Tehtävä 19 Pisteytetty A 0 / 2
Tehtävä 20 Pisteytetty A 0 / 2
Tehtävä 21 (Odds: osa 3) Pisteytetty A 0 / 20
Palaute Palaute Ei palautuksia
Luku 2.9: Valintoja
Tehtävä 22 Pisteytetty A 0 / 10
Tehtävä 23 (Odds: osa 4) Pisteytetty A 0 / 20
Tehtävä 24 Pisteytetty A 0 / 8
Tehtävä 25 Pisteytetty A 0 / 10
Tehtävä 26 (Odds: osa 5) Pisteytetty A 0 / 20
Tehtävä 27 Pisteytetty A 0 / 2
Palaute Palaute Ei palautuksia

maanantai 21.8.2017 14:00 – keskiviikko 11.10.2017 12:00

Tehtävä Kategoria Palautukset Pisteet
Luku 4.0: Viikkokooste
Palaute Palaute Ei palautuksia
Luku 4.1: Ohjelman tutkiminen debuggerilla
Tehtävä 1 Pisteytetty B 0 / 10
Palaute Palaute Ei palautuksia
Luku 4.2: Futistreeni
Tehtävä 2 (Football: Match) Pisteytetty A 0 / 80
Tehtävä 3 (Football: Season) Pisteytetty A 0 / 90
Palaute Palaute Ei palautuksia
Luku 4.3: Huutokauppoja
Tehtävä 4 Pisteytetty A 0 / 5
Tehtävä 5 (Auction: Dutch) Pisteytetty A 0 / 120
Tehtävä 6 (Auction: English) Pisteytetty B 0 / 55
Palaute Palaute Ei palautuksia
Luku 4.4: Olioita kaikkialla
Tehtävä 7 Pisteytetty A 0 / 3
Tehtävä 8 Pisteytetty A 0 / 12
Tehtävä 9 (Merkkijonoja: yhtaikaa) Pisteytetty A 0 / 10
Tehtävä 10 Pisteytetty A 0 / 10
Tehtävä 11 (Merkkijonoja: tempo) Pisteytetty A 0 / 15
Palaute Palaute Ei palautuksia
Luku 4.5: Oliot funktioina, luokat olioina
Tehtävä 12 Pisteytetty B 0 / 2
Tehtävä 13 Pisteytetty B 0 / 3
Tehtävä 14 (CarSim: Location) Pisteytetty B 0 / 15
Palaute Palaute Ei palautuksia

maanantai 21.8.2017 14:00 – keskiviikko 18.10.2017 12:00

Tehtävä Kategoria Palautukset Pisteet
Luku 5.0: Viikkokooste
Palaute Palaute Ei palautuksia
Luku 5.1: Autoiluharjoitus
Tehtävä 1 (CarSim: Car) Pisteytetty B 0 / 75
Palaute Palaute Ei palautuksia
Luku 5.2: Katsaus Scala-työkalujen sisään
Tehtävä 2 Pisteytetty A 0 / 5
Palaute Palaute Ei palautuksia
Luku 5.3: Silmukoita
Tehtävä 3 Pisteytetty A 0 / 5
Tehtävä 4 Pisteytetty A 0 / 5
Tehtävä 5 Pisteytetty A 0 / 5
Tehtävä 6 (For-silmukoita: 1) Pisteytetty A 0 / 15
Palaute Palaute Ei palautuksia
Luku 5.4: Lisää silmukoista ym.
Tehtävä 7 (For-silmukoita: 2) Pisteytetty A 0 / 15
Tehtävä 8 (For-silmukoita: 3) Pisteytetty A 0 / 15
Tehtävä 9 (For-silmukoita: 4) Pisteytetty A 0 / 5
Tehtävä 10 (For-silmukoita: 5) Pisteytetty A 0 / 20
Tehtävä 11 (For-silmukoita: 6) Pisteytetty A 0 / 20
Tehtävä 12 (For-silmukoita: 7) Pisteytetty A 0 / 5
Tehtävä 13 Pisteytetty A 0 / 10
Tehtävä 14 (For-silmukoita: 8) Pisteytetty A 0 / 20
Palaute Palaute Ei palautuksia
Luku 5.5: Silmukoita, vektoreita ja vaalit
Tehtävä 15 (Election: District) Pisteytetty A 0 / 120
Palaute Palaute Ei palautuksia
Luku 5.6: Taulukoita ja sisäkkäisyyttä
Tehtävä 16 Pisteytetty A 0 / 5
Tehtävä 17 Pisteytetty A 0 / 5
Tehtävä 18 Pisteytetty A 0 / 5
Tehtävä 19 (Matrix: rowSum) Pisteytetty A 0 / 5
Tehtävä 20 (Matrix) Pisteytetty A 0 / 15
Tehtävä 21 (Matrix: columnSum) Pisteytetty A 0 / 5
Tehtävä 22 (HiddenPictures) Pisteytetty A 0 / 90
Palaute Palaute Ei palautuksia

maanantai 21.8.2017 14:00 – keskiviikko 1.11.2017 12:00

Tehtävä Kategoria Palautukset Pisteet
Luku 7.0: Viikkokooste
Palaute Palaute Ei palautuksia
Luku 7.1: Periytymisharjoitus
Tehtävä 1 (Auction: refaktorointi) Pisteytetty B 0 / 70
Palaute Palaute Ei palautuksia
Luku 7.2: Raittiuspeli
Tehtävä 2 Pisteytetty B 0 / 1
Tehtävä 3 (Viinaharava) Pisteytetty B 0 / 99
Palaute Palaute Ei palautuksia
Luku 7.3: Funktiot parametreina
Tehtävä 4 Pisteytetty B 0 / 1
Tehtävä 5 (Funktioita: onLavistajalla) Pisteytetty B 0 / 4
Tehtävä 6 (Funktioita: sin2cos2) Pisteytetty B 0 / 10
Tehtävä 7 (Funktioita: toistaJokaAlkiolle) Pisteytetty B 0 / 10
Tehtävä 8 (Funktioita: muutaKaikki) Pisteytetty B 0 / 15
Tehtävä 9 (Funktioita: koostaTulosAlkioista) Pisteytetty C 0 / 15
Palaute Palaute Ei palautuksia
Luku 7.4: Nimettömiä funktioita
Tehtävä 10 (Funktioita: findAll) Pisteytetty B 0 / 4
Tehtävä 11 (Funktioita: toistaJokaAlkiolle (kuutiot)) Pisteytetty B 0 / 2
Tehtävä 12 (Funktiotia: lyhennetty funktioliteraali) Pisteytetty B 0 / 4
Palaute Palaute Ei palautuksia
Luku 7.5: Ohjelmointiparadigmoista
Tehtävä 13 (Football: Match (funktionaalinen)) Pisteytetty B 0 / 15
Tehtävä 14 Pisteytetty B 0 / 5
Palaute Palaute Ei palautuksia

maanantai 21.8.2017 14:00 – keskiviikko 29.11.2017 12:00

maanantai 21.8.2017 14:00 – keskiviikko 13.12.2017 12:00

maanantai 21.8.2017 14:00 – keskiviikko 20.12.2017 12:00

torstai 4.1.2018 12:00 – torstai 31.5.2018 12:00

maanantai 21.8.2017 14:00 – maanantai 1.1.2018 12:00