Matematiikan sivuaineopinnoista

Versio hetkellä 27. elokuuta 2010 kello 01.07 – tehnyt Malloc (keskustelu | muokkaukset)

Tämä kirjoitus on tarkoitettu auttamaan tietojenkäsittelytieteen fukseja matematiikan sivuaineopintojen aloittamisessa ja sopivien kurssien valitsemisessa. Ne tarjoavat myös erään näkemyksen siitä, mitä jotkut matematiikan kurssit pitävät sisällään ja kuinka relevantteja ne ovat käpistelijän kannalta. Annettuihin neuvoihin kannattaa kuitenkin suhtautua varauksella, sillä alkuperäinen kirjoittaja on päättänyt lukea matematiikkaa keskivertoa laajemman pääaineoppimäärän verran. Tekstin alkuperäisversion laati Jouni Siren. Päivittämiseen ovat osallistuneet ainakin Tomi Jylhä-Ollila ja Anssi Syrjäsalo.

Miksi matematiikkaa kannattaa opiskella?

Monilla käpistelijöillä on tunnetusti kielteinen asenne matematiikkaa kohtaan. Matematiikan kurssit tuntuvat usein teoreettisilta ja olevan vailla kosketuspintaa tietojenkäsittelytieteeseen. Matematiikan laitoksen kurssitarjontaa pidetään pelkästään matemaatikoille suunnattuna. Kuitenkin opintojen loppuvaiheessa useimmat huomaavat, että matematiikan opiskeleminen oli todellakin tarpeellista opintojen kannalta.

On totta, ettei Matematiikan laitos tarjoa sellaista opetusta, mitä käpistelijät tarvitsevat. Kuitenkin niin kauan kuin laitoksellamme ei ole resursseja ja/tai halua järjestää omia matematiikan kursseja, tämän ongelman kanssa on yritettävä tulla toimeen. Parhaiten soveltuvien kurssien valitseminen heti alusta asti on olennaista, varsinkin jos aikomuksena ei ole opiskella matematiikkaa sen itsensä takia.

Tietojenkäsittelytieteessä on kieltämättä monia osa-alueita, joilla perinteistä matematiikkaa tarvitaan vain vähän tai ei lainkaan. Käyttöliittymätutkimus ja ohjelmistotuotanto ovat eräitä esimerkkejä tällaisista aloista. Nekään eivät ole vapaita matematiikasta eivätkä etenkään matemaattisesta ajattelusta. Kaikilla tietojenkäsittelytieteen osa-alueilla on keskeistä samankaltainen abstraktioiden ja analogioiden etsiminen kuin matematiikassakin. Teknisemmillä osa-alueilla matemaattista täsmällisyyttä tarvitaan erityisen paljon, sillä tietokoneet eivät tunnetusti tee sitä mitä niiden halutaan tekevän, vaan mitä niiden käsketään tekevän. Toimiva tietokone tekee asiat täsmälleen niin kuin on käsketty, jolloin pienimmätkin virheet suunnittelussa tai toteutuksessa voivat olla kriittisiä.

Matemaattisen ajattelun lisäksi tarvitaan myös matematiikan osaamista. Tietojenkäsittelytieteestä ei valmistuta pelkäksi ohjelmistotuotanto- tai tietokanta-asiantuntijaksi, vaan tuoreella maisterilla on oltava jokseenkin laajat perustiedot kaikilta tietojenkäsittelytieteen osa-alueilta. Tietojenkäsittelytiede syntyi loogikoiden ajatusleikkinä ja eriytyi matematiikasta omaksi tieteenalakseen vasta joitain vuosikymmeniä sitten. Sen monet osa-alueet ovat edelleen tiiviissä yhteydessä matematiikkaan, eikä niiden perusteidenkaan ymmärtäminen ole mahdollista ilman lukiomatematiikkaa syvempää matematiikan osaamista.

Matematiikan taitoja tarvitaan tietojenkäsittelytieteen opinnoissa jo varhaisessa vaiheessa. Malliopintosuunnitelmassa ensimmäisen vuoden keväälle sijoitetut Tietorakenteet ja Tietokantojen perusteet ovat esimerkkejä tällaisista kursseista. Toisena opiskeluvuonna matematiikkaa tarvitaan jo ainakin Laskennan malleissa ja Rinnakkaisohjelmoinnissa. Lisätietoja tietojenkäsittelytieteen kurssien matemaattisista esitietovaatimuksista ja -suosituksista löytyy omalta sivultaan.

Antti Valmarin artikkeli Matematiikan tarve ohjelmistotyössä tarjoaa erään näkemyksen siitä, millaista matematiikkaa tietojenkäsittelytieteessä tarvitaan ja miksi nykyinen tarjonta ei vastaa tarvetta. Artikkeli nostaa esiin monia hyviä pointteja, vaikka yksityiskohdista voikin olla eri mieltä.

Pari neuvoa

Ensimmäinen neuvo on ilmeinen: Lue huolella sekä tietojenkäsittelytieteen että matematiikan opinto-oppaat. Niistä löytyy paljon hyödyllistä informaatiota, joka on ensimmäisellä lukukerralla jäänyt huomaamatta, koska asioita ei silloin ymmärtänyt. Myös Limeksen vaihtoehtoinen Älä Hätäile -opas sisältää runsaasti hyödyllistä tietoa, vaikka matematiikan osuus onkin kirjoitettu matemaatikon näkökulmasta.

Jos jokin asia tuntuu vaikealta, syy saattaa hyvinkin olla siinä, että asia on vaikea. Ongelman kanssa ei kuitenkaan kannata tuskailla yksin, vaan siihen kannattaa etsiä apua. Muut samalla kurssilla olevat tai sen jo käyneet opiskelijat ovat yksi vaihtoehto. Matematiikan laitoksella heitä kannattanee etsiä opiskelijahuoneesta, joka löytyy Exactumin 3. kerroksesta huoneesta C338 (Komero). Matematiikan laitoksella pidetään myös laskupajaa, jonne voi mennä hakemaan apua käynnissäolevien kurssien tehtäviin. Tietojenkäsittelytieteen laitoksella voi suunnata Gurulaan, jonka vakioasukkaat päinvastaisista huhuista huolimatta myös opiskelevat.

Vielä yksi neuvo: Nuku riittävästi. Vaikka 5-6 tunnin yöunilla pärjääkin pitkään, opiskeleminen on huomattavasti helpompaa ja motivoivampaa hyvin nukkuneena. Matematiikan opiskeleminen vaatii aivan toisella tavalla keskittymistä kuin monesta muusta aineesta tuttu tiiliskivien selailu ja esseiden kirjoittaminen. Kirjoissa ja monisteissa on vähän sivuja, mutta se vähä on (mahdollisimman) tiivistä asiaa ja tulee osaamisen lisäksi myös ymmärtää. Kymmenen sivua tunnissa on jo kova lukutahti ja kertoo siitä, ettei mitään ongelmakohtia ole tullut vastaan.

Kurssien suorittaminen

Matematiikan kurssien suorittamiseen on kaksi vaihtoehtoista tapaa: 1) luentokurssi laskareineen ja kurssikokeineen tai 2) erilliskoe. Luentokurssilla luentoja on tyypillisesti neljä tai viisi tuntia viikossa koko lukukauden ajan, minkä lisäksi on laskuharjoituksia kahden viikkotunnin verran. Sekä luennot että laskuharjoitukset ovat vapaaehtoisia, mutta laskareissa käymisestä saa yleensä jonkin verran ylimääräisiä pisteitä kurssikoepisteiden päälle. Nämä pisteet voivat osoittautua juuri kriittiseksi kurssin läpäisyn kannalta.

Kurssikokeiden etuna on, että tyypillinen kymmenen opintopisteen kurssi jaetaan kahteen tai kolmeen osaan, jolloin kokeeseen on vähemmän luettavaa. Toisaalta matematiikan koealueet eivät yleensä ole kovin laajoja; opintopistettä kohti luettavaa tulee vain 10-20 sivua. Vaikka suurin osa tästä täytyykin osata, useimmat kurssit pystyy suorittamaan erilliskokeella huomattavan vähällä vaivalla. On järkevää kokeilla kurssien suorittamista sekä kurssikokeilla että erilliskokeella, jotta löytäisi itselleen parhaiten sopivan opiskelutekniikan.

Matematiikan yleistenttejä järjestetään helmi-, heinä- ja syyskuuta lukuunottamatta joka kuukausi. Syksyisin luennoitavat kurssit voi tenttiä loka-, tammi- tai huhtikuussa, kevään kurssit taas marras-, maalis- tai toukokuussa. Joulukuun tentti on varattu joillekin syventävien opintojen kursseille, kun taas kesän tenteissä voi suorittaa minkä kurssin tahansa. Yleistentteihin, kuten matematiikan kursseillekin, ilmoittaudutaan WebOodissa.

Matemaattinen kielenkäyttö ja ajattelu

Opettele lukemaan ja kirjoittamaan matematiikkaa. Se mikä näyttää harjaantumattomalle silmälle vain läjältä käsittämättömiä koukeroita, on todellisuudessa tekstiä, jota luetaan ylhäältä alas ja vasemmalta oikealle. On totta, että matemaattinen kieli pyrkii tiiviyteen ja täsmällisyyteen selkeyden ja luettavuuden kustannuksella. Yksi ainoa symboli saattaa tarkoittaa sanaa, lausetta tai kokonaista kappaletta. Täsmällisyyttä korostetaan myös käyttämällä aina samoja fraaseja samassa tilanteessa.

Kannattaa muistaa, että järkeviä symboleita on paljon vähemmän kuin matemaattisia käsitteitä, muuttujista puhumattakaan. Niinpä samoja symboleita käytetään, uudelleenkäytetään ja väärinkäytetään tarkoittamaan lukuisia eri asioita. Onkin aina hyvä selittää symboleiden merkitys sanallisesti, jos ei koe sen käyvän (tarkastajalle) selväksi kontekstin perusteella.

Muista, ettet tee vaikutusta keneenkään käyttämällä matemaattista kieltä. Symboleiden ja lyhenteiden runsas käyttö synnyttää helposti vaikutelman, ettei kirjoittaja itsekään tunne asiaa kunnolla, vaan yrittää peittää sitä korostetun matemaattisella kielenkäytöllä. Kaikenlaiset pienet tyylirikot ja poikkeamat vakiintuneista käytännöistä paljastavat kuitenkin kokemattomuuden. Jos jonkin asian voi ilmaista lyhyesti ja täsmällisesti myös suomeksi, niin kannattaa tehdä. Assarisetä tai -täti arvostaa sitä ja saattaa jopa muistaa sinua pisteillä.

Täsmällinen matemaattinen kieli antaa helposti kuvan siitä, että matemaattinen ajattelu olisi mekaanista ja tiukasti rajattua. Tämä mielikuva on kuitenkin selvästi väärä. Vaikka joidenkin väitetään pystyvän ajattelemaan formaalisti, useimmat tarvitsevat intuitiivisen idean matemaattisesta tuloksesta tai rakenteesta pystyäkseen hyödyntämään sitä. Voidaan siis hyvällä syyllä sanoa, että matemaattinen ajattelu tapahtuu pääosin intuitiivisella tasolla.

Täsmällisyyttäkin tarvitaan. Intuitiivisesti hyvältä näyttävä idea ei välttämättä toimi, ellei tilannetta rajoita jollain tavalla. Osan rajoitteista pystyy löytämään intuitiivisesti, mutta rajoitteiden täydentämiseen ja niiden riittävyyden osoittamiseen tarvitaan yleensä täsmällisempää otetta. Matemaattisen ajattelun "mekaaninen" puoli astuu tässä kohdassa mukaan peliin.

Matemaattiset ideat ovat usein monimutkaisia ja monivivahteisia. Niiden välittäminen ihmiseltä toiselle edellyttää, että vastaanottaja ymmärtää perusidean lisäksi myös yksityiskohdat ja vivahteet. Koska ihmisten välinen viestintä on luonnostaan epämääräistä ja häviöllistä, tarvitaan matemaattisten ideoiden välittämiseen jokin riittävän täsmällinen ja rajoitettu kieli. Vaikka matemaattinen kieli ei kuvastakaan kovin hyvin matemaattista ajattelua, ei hyviä vaihtoehtoja ole olemassa.

Yliopistomatematiikka on hyvin poikkeavaa esimerkiksi Aalto-yliopiston teknillisen korkeakoulun "insinöörimatematiikasta". Lukion matematiikka on perusteellisesti juuri insinöörimatematiikkaa. Esimerkiksi matematiikan laitoksen kursseille tyypillinen joukko-opillinen lähestymistapa sivuutetaan pitkän matematiikan oppimäärässäkin kokonaan. Hyvät lukiotiedot eivät takaa menestymistä yliopistomatematiikassa; vastaavasti huonot lukiotiedot eivät takaa, että yliopistomatematiikka olisi erityisen mahdotonta. Menestymisessä (monelle tarkoittaa kurssin läpäisyä) lienee kuitenkin kyse enemmän ennakkoluuloista ja motivaatiosta. Motivaation olisi tietysti hyvä olla kunnossa.

Muita näkökulmia

Matematiikan opiskelu kannattaa aloittaa hyvissä ajoin, koska se kehittää matemaattista ajattelukykyä, josta on hyötyä lähes kaikilla TKTL:n kurseilla varsinkin Algoritmit ja koneoppiminen -linjan syventävissä opinnoissa Lisäksi joidenkin kurssien (esim. Diskreetti matematiikka I ja Logiikka I) varsinaiset asiat ovat kävelleet vastaan myös tietojenkäsittelytieteen perus- ja aineopintojen kursseilla.

Matematiikkaan orientoitunut käpistelijä pääsee kursseista läpi, jos jaksaa avata kirjan, mutta tyypillisen, matematiikkaa hieman vierastavan, tietojenkäsittelijän on syytä varata aikaa erityisesti laskareiden tekoon. Ei ole ollenkaan tavatonta, että laskaritehtävät tulevat kokeessa vastaan sellaisenaan.

Matematiikan laitoksen aineopintojen kurssit eivät välttämättä ole keskiverto matematiikan pääaineopiskelijallekaan helppoja. Johdatus diskreettiin matematiikkaan -kurssin kohdalla läpipääsyprosentti on matematiikan laitoksella ollut jotakuinkin samaa luokkaa kuin meillä tietojenkäsittelytieteen laitoksellakin.