Kurssin I-osan loppuraportti
Kurssille osallistui 169 opiskelijaa, joista 55 (32.5 %) suoritti kurssin hyväksytysti.
Arvosanajakauma:
- Arvosana 1: 14 opiskelijaa (25.4 %)
- Arvosana 2: 4 opiskelijaa (7.3 %)
- Arvosana 3: 8 opiskelijaa (14.5 %)
- Arvosana 4: 10 opiskelijaa (18.2 %)
- Arvosana 5: 19 opiskelijaa (34.5 %)
Yhteenveto
Erona kurssin viime vuosien toteutukseen kurssin suorituksen osana oli tentti, joka järjestettiin paperitenttinä Kumpulan kampuksella. Tentin tavoitteena on varmistaa, että kurssin suorittaja osaa itsenäisesti kurssin asioita eikä kurssista voi saada suoritusta esimerkiksi vain ratkomalla tehtävät tekoälyllä.
Kurssin suoritusmäärä oli tänä syksynä selvästi pienempi kuin aiempina vuosina. Syksyllä 2023 kurssin suoritti 232 opiskelijaa, syksyllä 2024 kurssin suoritti 170 opiskelijaa ja tänä syksynä kurssin suoritti vain 55 opiskelijaa. Yksi merkittävä syy muutokseen on luultavasti vaatimus tenttiin osallistumisesta, koska kurssia ei voi enää suorittaa pelkkänä etäopiskeluna.
Paperitentti ei ole ihanteellinen tapa mitata kurssin osaamista, mikä näkyy myös kurssin palautteessa. Olisi hyvä pystyä tulevaisuudessa tarjoamaan esimerkiksi valvotussa ympäristössä tietokoneilla suoritettava tentti. Toisaalta haasteena on, että algoritmien suunnittelu ja toteuttaminen vaatii usein miettimistä ja aikaa, minkä takia tätä kykyä on vaikeaa mitata lyhyessä tenttitilaisuudessa.
Kurssipalautteessa on annettu kritiikkiä siitä, että vain 2/3 tentin osallistujista pääsi tentin läpi. Kuitenkin tentin arvostelijan näkökulmasta melko monella tentissä hylätyllä on suuria puutteita ohjelmoinnin perustaidoissa. Tämä voi olla yksi selitys siihen, miksi kurssi tuntuu hyvin vaikealta osalle opiskelijoista. Kurssin materiaali ja tehtävät olettavat, että opiskelijalla on hyvät ohjelmoinnin perustaidot, mutta jos näin ei ole, kurssin suorittaminen voi olla hyvin vaikeaa.
Kurssipalaute
Kurssipalautteen antoi 51 opiskelijaa.
Numeerinen palaute
Arvioi seuraavia väitteitä (1 = täysin eri mieltä, 5 = täysin samaa mieltä):
- Osaamistavoitteet olivat selvät: 4.75
- Toteutustapa tuki oppimistani: 4.29
- Materiaalit tukivat oppimistani: 4.14
- Arviointi mittasi oppimistani: 3.98
Kurssin raskaus (1 = turhan kevyt, 5 = turhan raskas):
- Työmäärä suhteessa opintopisteisiin oli: 3.47
Kurssin kokonaisarvosana:
- Kokonaisarvosana kurssille: 4.18
Miten kehittäisit kurssia?
- Kurssikoe voisi olla ”lievempi” (esim. 5 tehtävää joista 4 pitää saada oikein), sillä yksikin virhe johtaa uusimiseen, varsinkin kun koe tehdään paperilla, jolloin emme voi testata omaa koodiamme.
- Itse koin kurssin hyvin haastavaksi, mutten tiedä muista oppilaista. Hajautus ja verkkoalgoritmit jäivät materiaalin kannalta epäselviksi, mutta muuten ne tukivat oppimista hyvin.
- Pidin todella paljon kurssin rakenteesta ja siitä että se on hyvin tehtäväpainotteinen. Minulla ei ole oikein mitään kritiikkiä antaa kurssin suhteen.
- Tenttimispäiviä voisi olla tarjolla ehkä useampi, toisaalta onhan noita uusimistenttipäiviä useampi…
- Listojen käsittelyyn kaipaisin teoreettisempia työkaluja, jos näitä on olemassa
- Kurssi oli aivan liian vaikea tällaiselle aloittelijalle, jonka koodaustausta on käytännössä vain ohjelmoinnin perus- ja jatkokurssi. Tuntui että vaikeuskäyrä oli aivan liian jyrkkä. Minun toiveeni olisi, että arviointiin vaikuttavia tehtäviä olisi enemmän, mutta joukossa olisi enemmän helpompia tehtäviä. Nyt jos katsoo noita 40 tehtävää, jotka olen tehnyt saadakseni ykkösen, minusta ne eivät ole mitään ihan perustason tehtäviä. Tämä on kuitenkin perusopintojen kurssi. Jos nuo tehtävät näyttäisi jollekin joka ei ole ikinä koodannut, hän olisi aivan ihmeissään kun kuulisi että nämä tehtävät riittivät perusopintojen kurssilla arvosanaan 1. Olen vahvasti sitä mieltä että ykkösen saamista pitäisi helpottaa. Uskon myös että tämä vähentäisi tekoälyn käyttöä, koska olen varma että osa on käyttänyt tekoälyä sen takia kun ei olisi muuten päässyt läpi kurssista. Opiskelijat ovat niin eri taustoista, että osaaminen vaihtelee tosi paljon. Mielestäni perusopintojen pitäisi olla sellaisia, että ne tasoittavat opiskelijoiden välisiä tasoeroja. Tämä kurssi ei mielestäni ollut sellainen. Ne jotka olisivat tarvinneet rautalangasta vääntämistä, eivät sitä tarpeeksi saaneet. Materiaalissa pitäisi olla enemmän esimerkkejä ja enemmän selitystä. Luennoilla oli osittain juuri sellaista rautalangasta vääntämistä mitä oisin toivonut enemmänkin :) Luennoilla oli joitakin todella hyviä esimerkkejä, joista oli todella paljon apua tehtävien teossa. Kiitos niistä. Toki aluksi lähdin tähän kurssiin sillä asenteella että kurssin tekemiseen on varattu niin vähän aikaa, että minulla ei ole aikaa katsoa luentoja. Tämä oli tietysti oma virhe ja aika pian huomasin, että pelkän kurssimateriaalin perusteella en saa tehtäviä tehtyä. Luennot on pakko katsoa. Luennoilla oli niin hyviä esimerkkejä, että oisin toivonut että samat esimerkit olisivat olleet kurssimateriaalissa selitettynä. Luennon esimerkkeihin oli vaikea palata jälkikäteen, piti muistaa millä viikolla joku esimerkki oli ollut, missä kohtaa luentoa…. monia luentoja katsoin edestakaisin moneen kertaan, kun yritin etsiä jotain tiettyä esimerkkiä. Kurssimateriaalista olisi sen löytänyt paljon helpommin. Olisin sitä mieltä, että tekstimuotoinen kurssimateriaali pitäisi olla niin kattava, että sen avulla saisi edes ykköseen yltävät tehtävät tehtyä. Tällä kurssilla niin ei ollut, vaikka luennot täydensivätkin materiaalia. Tämäkin minua vähän harmittaa, että kurssin suorittamiselle on varattu vain muutama kuukausi. Jos olisi ollut enemmän aikaa, olisin saattanut saada muutaman tehtävän lisää tehtyä ja ehkä jopa olisin yltänyt arvosanaan kaksi. Kokopäivätöiden ohella tehtynä tämä kurssi oli rankka rutistus ja meinasi usko loppua. Siitäkin huolimatta että olin aloittanut tehdä tehtäviä jo kevään kurssilla ja sain keväällä tehdyt tehtävät suoraan hyödynnettyä tälle kurssille, koska tehtävät olivat pysyneet samana. Noh paperitentistä sen verran että arvostelu on mielestäni liian raaka siinä mielessä että juurikaan virheen varaa ei ole. Tuntuu että itsellenikin olisi hyvin voinut käydä niin, että olisi esim. monivalinnoista mennyt 3 väärin ja koko Helsingin reissu olisi ollut turha… siinä oli pari kohtaa, joissa olin kahden vaiheilla… onneksi ilmeisesti valitsin kuitenkin oikein.
- Opetusmateriaalia kannattaisi täydentää siten, että se antaisi riittävät tiedot ja taidot tentin viimeisen vaikeamman teoreettisen tehtävän ratkaisemiseen.
- Ehkä tehtävissä voisi olla vinkkejä?
- Kierrosten tehokkuus tehtävässä listan pituuden takia suoritusajan mittaamisessa kesti minulla yli 12 tuntia, joka on ehkä vähän liian pitkä aika mielestäni. Mielestäni jotkin asiat olivat ärsyttävää koodata pythonilla ja olisin mielummin käyttänyt esimerkiksi C++ kieltä eli hyväksyisin tehtävien ratkaisun muillakin kielillä kuin pythonilla.
- tehtävien määrä saisi olla tuplat siten, että helppoja tehtäviä olisi viikoille 6kpl lisää ja vielä vaikeampia 2kpl lisää. Tuntuu että on vaikeaa päästä vauhtiin tehtävien kanssa kun tehtävien laatu muuttuu jo parin tehtävän jälkeen yleensä merkittävästi
- Lisäisin mahdollisuuden osoittaa oppimista jollain muullakin tavalla kuin tehtyjen tehtävien määrällä. Tenttimenestys ja esimerkiksi lyhyt reflektiivinen essee voisivat olla tällaisia tapoja.
- kurssi on mielestäni hyvä
- Kurssimateriaali oli mielestäni selkeää ja tehtävät tukivat hyvin oppimista. Arvosanan 4 tai 5 saavuttaminen vaatii mielestäni suhteettoman paljon työtä. Ymmärrän tentin tarpeellisuuden, sillä useampi opiskelija varmasti käyttää ChatGPT:tä koodin kirjoittamiseen, mutta on mielestäni suhteettoman vaativaa, että tentistä pitäisi saada 100% oikein jotta pääsee kurssista läpi. Tämä näkyy mielestäni myös tenttituloksissa: se, että vain 66% opiskelijoista pääsi läpi tentistä, jonka piti olla todella helppo kertoo paljon.
- Kurssi on tällaisenaan oikein hyvä
- en osaa juuri sanoa
- Olisi voinut olla lisää helpompia tehtäviä, nyt tuntui että aika nopeasti joka viikolla edettiin vaikeampiin tehtäviin.
- Kokonaisuutena hyvä kurssi! Tentin roolia ja rakennetta voisi vielä miettiä, että tukeeko se parhaalla mahdollisella tavalla oppimista. Ja voisiko sitä kehittää jotenkin.
- Tehtävissä, joissa toteutuksen aikavaatimuksella on merkitystä, voisi aina mainita mikä on tavoiteltu aikavaatimus.
- Eos, hyvä kurssi, selkeät materiaalit
- Koe oli vähän erikoinen, sillä se tehtiin paperilla, joka on aika erilaista etenkin koodin tuottamisen kannalta, muuten hyvä kurssi.
- Itselleni todella mieluisa workflow. Materiaali oli todella selkeälukuista. En rehellisesti keksi mitään kehitettävää.
- Oli mielestäni hieman epäreilua että arvosanan 5 saadakseen piti tentissä osata tehtävä jota ei ole mielestäni käsitelty kurssimateriaalissa. Muuten hyvä kurssi.
- Joissain kohdissa voisi selittää paremmin, mitä tehtävä vaatii.
- Kurssimateriaalin sisältö on mielestäni erinomainen ja riittävä. Yhtenä mahdollisena kehitysehdotuksena esimerkiksi viikon 3 yhteyteen voisi lisätä jonkinlaisen ”yleiset ongelmatyypit ja lähestymistavat”-taulukon, jossa olisi yleisiä ohjenuoria, miten tietynlaista ongelmaa voisi lähestyä. Monella meistä varmasti on jossain määrin ohjelmointitaustaa, mutta tehokkaan algoritmin suunnittelu sisältää paljon elementtejä, joita ei juuri muualla tule vastaan. Toki en tiedä onko tällaisen listauksen/taulukoinnin tekeminen tyhjentävissä määrin mitenkään mahdollista.
- Tenttiä vois kehittää. Esimerkiksi tekemällä sitä jatkossa koneella kampuksella
- Se, että kokeen teoreettinen tehtävä on edellytys 5 arvosanaksi, ja että siihen on vain yksi tehtävä on mielestäni hieman huono
- Tentti voisi olla examinariumissa niin sen voisi tehdä milloin vain. Iso kysymyspankki, joka testaa perusasioiden ymmärrystä
- Mielestäni hankalimpiin tehtäviin saisi olla edes hieman lisävinkkejä sisällytetty, sillä usein tehtävänannot olivat melko vaativia.
- Aiempien vuosien palautteissa tätä kurssia oli arvosteltu turhan haastavaksi. Itse näkisin, että esitietovaatimusten täyttyessä tehtävät saa varsin kevyesti ratkaistua. Itse harrastin ala-asteella ohjelmointia, ja suoritin yhdessä päivässä Ohjelmoinnin perusteet ja jatkokurssin. Kurssi oli kokonaisuudessaan mielenkiintoinen ja tarjosi hyvää aivojumppaa terveyskeskuslääkärin työn oheen.
- Nostaisin ehkä hieman kurssitehtävien hankaluutta.
- Peruuttavaa hakua voisi käsitellä tarkemmin ja useammin esimerkein.
- Kurssi oli kyllä erittäin hyvä ja mielenkiintoinen. Kurssimateriaalia on tarpeeksi eikä liikaa. Välillä kuitenkin etenkin tenttikysymyksiin liittyen mietin, että onko kaikkia asioita mahdollista harjoitella tarpeeksi tenttiä varten. Sain kyllä oikein viimeisenkin tehtävän tentissä, mutta itse jäin miettimään, olisiko teoriaa ja tämäntyyppisten tehtävien malliratkaisuja voinut olla enemmän, sillä nyt niitä oli lähinnä mallitentissä esimerkkinä. Voinee johtua siitä, että tentti on tullut mukaan vasta viime aikoina.
- Oppimistapa joka koostui tiedon sisäistämisestä jän sen käyttöön pistämisestä toimi ihan hyvin, joten 4/5. Mielestäni tehtävien liittäminen johonkin laajempaan kokonaisuuteen olisi ollut enemmän n.s. ’engaging’ kuin nykyinen tehtäväperusteinen tapa mutta se olisi huomattavasti vaikeuttaut tehtävienantoa ilman että vaatisi lisää esitietoja.
- Kurssi ei mittaa osaamistani. Kurssiin voisi lisätä enemmän teoriaa. On tärkeää tietää, jotkut pärjäävät teoriassa paremmin ja taas jotkut käytännöllisissä asioissa. Tentin arviointimenetelmä on ahdasmielinen
- Siirtäisin tentin tenttiviikolle.
- Viikoittaiset deadlinet olisivat varmaan auttaneet pysymään tahdissa. Kärsin siitä, että en ollut ehtinyt käydä puita lähes ollenkaan ennen tenttiä. Kurssimateriaali tuntui puutteelliselta esimerkkien suhteen.
- Paperille koodaaminen on vähän 80-lukua. Jotain muuta siihen tilalle.
- Ehdotuksia annettu Discordissa
- Kokeessa olisi suotavaa olla englanninkieliset termiviittaukset.
- Mielestäni kurssikokeen lisääminen portinvartijana etenkin erinomaiselle arvosanalle on ehdottoman hyvä lähestymistapa. Koska yliopistotasolla tietojenkäsittelytieteen (-teorian) mielestäni kuuluukin olla vahvasti teoriaorientoitunutta, en panisi pahitteeksi, vaikka koe olisi haastavampikin arvostelun tullessa esim. kokeen ja tehtyjen tehtävien perusteella painoilla 50/50. Tällainen lähestymistapa voisi oikeutetusti myös korottaa sellaisen opiskelijan arvosanaa, jolle esim. Python ei ole lähtökohtaisesti syntaksiltaan tuttu ja aikaa kurssitehtävien parissa menisi liikaa esimerkiksi aihepiirin kannalta epärelevanttien perusasioiden kanssa painimiseen, vaikka teoria olisikin hallussa. Algoritminsuunnittelu on itsessään todella arvokas taito, puhumattakaan siitä miten se viestii yleisemminkin luovasta ongelmanratkaisukyvystä, jota työmarkkinoillakin arvostetaan laajasti myös suoraan algoritmeihin liittymättömissä työtehtävissä. On harmillista, mikäli mahdollisuus suorittaa kurssi ilman aitoa osaamista inflatoi aiemmin jonkinlaisena ”vedenjakajana” pidetyn kurssin erinomaisen arvosanan merkitystä.
- Olisiko kurssitentti mahdollista järjestää salissa valvotusti CSES-järjestelmään palautettavina tehtävinä? Paperitentti oli yllättävänkin toimiva, mutta kynällä ja paperilla ei saa kovinkaan soveltavia tehtäviä toteutettua. Etukäteen hirvitti, saanko koodia lainkaan tuotettua ilman tietokonetta.
- Tentin arvostelukriteerit vaikuttivat suhteellisen vaikeilta ennakkoon vaikka tehtävät olivat aika helppoja. Jäi silti tuntumaan siltä, että jos olisi unohtanut jonkun yksittäisen asian jota tentissä kysyttiin se olisi voinut pilata koko suorituksen.
- Kurssista saisi ehkä hiukan kevyemmän jos tehtävien määrää korvattaisiin joko laajemmalle kokeella tai enemmän teoriaa sisältäviä tehtäviä.
- Muuttaisin palautukset viikottaisiksi. Itselleni ainakin prokrastinaatio iskee kun ei ole pakko viikottain palauttaa tehtäviä, vaan vain yksi iso palautus. Kurssimateriaalissa voisi myös olla enemmän esimerkkejä samankaltaisista tehtävistä kuin kurssilla.
- Olisi kiva, jos joitakin kurssilla opetettuja algoritmeja olisi visualisoitu esimerkiksi animaatioilla. Esim. järjestäminen
- eos
- Mahdollisesti enemmän esimerkkejä koodeista kurssimateriaaleihin?
- Tehtävien teko tuntuu välillä melko toistuvalta prosessilta. Toki tämän kaltaisessa asiassa usein toisto on paras tapa oppia, mutta ehkä tehtävissä ja niiden tekotavassa voisi olla jotain vaihtelua.
- Mielestäni kurssista vois tehä enemmän OhPen ja OhJan kaltaisia, eli enemmän tehtäviä, mutta aloitetaan vähän helpommista/aihe ja sit siirrytään hankalempiin. Tietenkin ymmärrän et OhPe ja OhJa on ns siin simppeleiden perustana, mut varsinkin rekursion kohdalla sitä vois jotenkin kerrata kurssilla, koska se on ainaki minulle ollut tosi haastava. Hieno kurssi ei siinä muuten
- Tietokonetentti ohjelmointitehtäviin olisi käytäkkönläheisempi, jotta voisi ajaa koodeja.
- Honestly en keksi valitettavaa. Kurssi oli mukava!
- Viikottaisten tehtävien määrää voisi vähän laskea.
Muita huomioita
- Hyvä kurssi. On mukavaa että yliopistolta löytyy myös kursseja joissa joutuu itse vähän ajattelemaan, mikä ei ole kovin valitettavasti kovin tyypillistä. Innolla odotan tira 2 ja algoritmit ongelmanratkaisussa -kursseja :). Olisi kiva jos myös vaikka fysiikalle ja matematiikalle tulisi vastaavanlaisia enemmän ajattelua vaativia kursseja.
- Luentoja oli kiva seurata videolta, niissä edettiin sopivaan tahtiin ja annettiin hyviä visuaalisia esimerkkejä keinoista, mitkä auttavat tehtävien ratkaisujen ymmärtämisessä yms.
- Tehtävänannot ovat selkeitä ja tehtävän analysis-sivu on hyödyllinen.
- tentistä ei osaa vielä sanoa, tosin esimerkkitentin arvostelu näyttää siltä että 4/5 tehtävää pitää osata tentissä jotta pääsee läpi vs. muut tentit joissa 50% osaamisella läpäisee kurssin.
- Kurssin vapaus oli omalle viikkoaikataululle erittäin hyvä. Kurssi on tosi hyvä opiskelijoille jotka ottavat joko paljon kursseja tai käyvät töissä.
- Hyvä, ja kätevä etätoteutus. Python oli yksi syy, miksi olin juuri tästä kurssista kiinnostunut, koska haluan ymmärtää sitä kieltä.
- Kurssiluennot tosi hyödyllisiä!
- Harmi ettei pajaan löydä useampia opiskelijoita. Hyötyisin siitä, että tehtäviä ratkottaisiin enemmän yhdessä ja vertaisporukalla eikä aina assareilta tulevin neuvoin. Pajasta on kyllä ollut paljon apua ja kevään luentotallenteissa on hyvää ja erilaista materiaalia kuin kirjallisessa teoriamatskussa.
- Luennot ja discordissa saatu apu oli minusta erittäin hyvää. Vaikka en itse discordissa juurikaan kysellyt, sain paljon hyötyä aikaisemmista vastauksista mitä kanavalta löytyi. Opettaja oli minusta oikein symppiksen oloinen. Antamani huonot arvosanat kurssille johtuvat näistä syistä mitä olen näissä vapaissa tekstikentissä kertonut, ja tämä on vain oma kokemukseni. Kanavalla kävi ilmi että toisilla on ollut hyvin erilaiset kokemukset. Tällä kurssilla tehty ongelmanratkaisu oli minun mielestä kiinnostavaa ja koukuttavaa. Mutta kurssi olisi ollut vielä parempi jos epätoivo ei olisi ollut niin vahvasti läsnä. Turhauduin kun ilmeisesti puutteellisten koodaustaitojeni takia sain koko ajan Out of range ja Key error ja muita sen tapaisia virheilmoituksia ja tahkosin samaa koodia tuntikausia epätoivoisena ja lopulta tuurilla onnistuin lisäämään -1 jonnekin rangeen tms. ja sain tehtävän läpi…ja tuntui että perus loopitkaan eivät onnistuneet, en tiennyt mihin järjestykseen koodia pitäisi kirjoittaa että loopin suoritus jatkuisi niin että kaikki luvut saataisiin käytyä läpi. Viikon 5 tehtävät olivat minulle erityisen vaikeita. Viikon ensimmäinen tehtävä Sivuvälit, oli yksi vaikeimmista tehtävistä koko kurssillla, sain sen vasta ihan viimeisten tehtävien joukossa ratkaistua! en vaa millään meinannut osata ja ratkaisustani tuli ihan kummallinen mutta läpi meni lopulta…. eli jotain oleellista minulta varmaan on jäänyt oppimatta. Aluksi siivosin palauttamiani vastaustiedostoja niin, että jätin niihin vain toimivan ratkaisun. Mutta sen jälkeen kun lueskelin kanavalta noista tekoälyvilppiepäilyistä, aloin jättää tiedostoihin kaikki koodiräpellykseni, että niistä ainakin voi nähdä että olen tosissani yrittänyt ja ihan omin kätösin koodannut.