Tietotekniikka luonnontieteilijän toisena oppiaineena - mitä ja miksi?
(Ynnän sivuaineinfo 9.9.2020)
Mitä on tietotekniikan opiskelu
Virallinen opas on Informaatioteknologian tiedekunnan sähköinen opinto-opas, mutta osa tiedoista on koronavuoden kiireessä päivittämättä.
Normaaliolosuhteissa opetus ja IT-tiedekunnan opinto-oppaan päivittäminen tapahtuvat yllä olevan kuvan Agora-rakennuksessa (kuvaaja: Sergei Chernov). Nähdään siellä, kunhan kulkutaudit väistyvät!
Tällä hetkellä tarkin tieto on yliopiston opetussuunnitelmassa kaudelle 2020-2023 ja tietysti Sisu-järjestelmässä. Täsmälinkit vielä OPSin sisälle:
Informaatioteknologian tiedekunta ja sieltä kohdasta "Vapaasti valittavat opintokokonaisuudet ja moduulit" erityisesti Tietotekniikan perusopinnot erillisinä opintoina sekä niiden jälkeen mahdolliset aineopinnot ja lopulta jopa syventävät opinnot.
Perusopinnoista aina aloitetaan, joten puhutaan tänään eniten niistä. Ja puhutaan erityisesti oppiaineesta nimeltä tietotekniikka, joka on IT-tiedekunnan tarjonnasta ehkä suorimmin luonnontieteen opiskelijaa hyödyttävä aine.
Tietotekniikan perusopinnot (vähintään 25 op) alkavat mm. tällaisista harjoitteista:
- ITKP1010 Digitaalisen osaamisen perusteet (3 op): Kuinka tietokonetta käytetään "oikein" eli tehokkaasti, turvallisesti ja varsinkin ilman tarpeetonta otsahikeä! Vaikka ei muuta, niin jokaisen yliopisto-opiskelijan kannattaisi käydä ainakin tämä kurssi!!
- Web-julkaiseminen (2 op): Nimestään huolimatta tämä kurssi täydentää ja laajentaa edellä mainitun työvälinekurssin sisältöjä, johdatellen jo myös tietotekniikan syvällisempään ymmärrykseen.
- Ohjelmointi 1 (Peruskivijalka kaikkeen): kuinka tietokone saadaan ratkomaan ongelmia ihmisen puolesta. Ensimmäisellä kurssilla sovellusalueena on pelit, katso esim. aiempia Ohjelmointi 1 -kurssin tuotoksia YouTubessa. Pelit motivoivat joitakin, joitakin taas eivät - mutta pelikontekstissa kaikki oppivat ohjelmoinnin perusteet hyvin!
Ohjelmointi 1 on vahvasti suositeltava kurssi jokaiselle luonnontieteellisen alan opiskelijalle, vaikka ei jatkaisikaan perusopintokokonaisuutta sen pidemmälle!
- Tietoverkot (joita ilman ei nykypäivänä yksinkertaisesti pärjätä): Miten koneet ja niihin asennetut ohjelmat "keskustelevat" keskenään verkon kautta?
- Perusopintoja voi edellä mainittujen lisäksi täydentää vapaasti erilaisilla aihepiireillä, esim.:
- Ohjelmointi 2: Miten konetta käsketään paremmin (ja paremmin ja paremmin, jatkokursseilla, joita kohti tämä kurssi vielä johdattelee...)?
- Algoritmit 1 ja 2: Kun käyttäjämäärä 1000-kertaistuu, toimenpiteisiin saattaakin mennä 1 000 000 -kertainen aika... Mistä tämä johtuu, ja miten päästään parempaan tilanteeseen eli vaikkapa "vain" 1000-kertaiseen ajankäyttöön? Onko se ylipäätään mahdollista niille toimenpiteille, joita jokin suunniteltavana oleva järjestelmä tarvitsee?
- Tietokannat ja tiedonhallinnan perusteet: Harva todellinen järjestelmä toteutetaan ilman käsiteltävän tiedon järjestelmällistä hallintaa. Miten ja millä työkaluilla se tehdään?
- Funktio-ohjelmointi 1 (Erilainen näkökulma ohjelmointiin ja ongelmanratkaisuun. Potentiaalinen tulevaisuuden tapa ohjelmoida): Onko olemassa ohjelmointivälineitä, joilla väistämättä vältetään monien nykyisiä ohjelmistoja rassaavien ohjelmointivirheiden ja -vaikeuksien mahdollisuus? Ai on.. no mitenkäs sellaisella kielellä sitten ohjelmoidaan?
- Käyttöjärjestelmät: Mistä on pienet Windowsit, Linuxit, MacOS:t ym. tehty? Siis konepellin alla... Mitä tästä seuraa laadukkaiden ohjelmien suunnittelussa ja tekemisessä?
- Automaatit ja kieliopit: Mistä on pienet ohjelmointikielet tehty ("mikrotasolla" - laajempi osaaminen edellyttää useamman kurssin paketin nimenomaisesta aiheesta)? Mitä tehtäviä tietokoneella voidaan ratkaista? Mitä sillä taas ei aivan varmasti voida ratkaista?
- Lineaarinen ja diskreetti optimointi: "Okei, haluaisin minimoida tämän lineaarisen funktioni näillä rajoitteilla, mutta kynä ja paperi ei oikein riitä 1000-ulotteisiin laskuihin... Miten ratkaisen yhtälön tietokoneella salamannopeasti?"
- Tietokonegrafiikan perusteet: Mihin visualisointijärjestelmät (tieteelliset ja viihteelliset, kuten pelit tai elokuvien tehosteet) perustuvat konepellin alla? Juonipaljastus: Ohjelmoinnin lisäksi lineaarialgebraan ja mm. vektoricalculukseen. "Sneak preview": Tuotantoversio kevään 2018 grafiikkakurssin ensimmäisestä luennosta, sama 4096 tavun koossa, (automaattisesti minifioituna mutta pakkaamattomana javascriptinä).
- ... ja paljon muita tietotekniikan erityiskysymyksiä ...
(lihavoidut kurssit kuuluvat pakollisina aineopintokokonaisuuteen, joten niiden kautta voi ottaa vähän näytepaloja jo perusopintojen osana; muutkin ovat sinänsä hyödyllisiä kursseja.)
Aineopinnoissa (+35 op) on lisää aikaa miettiä mm. edellisiä kysymyksiä ja oppia samalla paremmaksi ohjelmoijaksi. Aineopinnoissa mukaan mahtuu myös esim. luonnontieteilijälle hyödyllisiä "numeronmurskaus" -kursseja eli ammattikielellä numeriikkaa. Kun valitsee huolellisesti tietyt ydinkurssit, tietotekniikan perus- ja aineopinnoista (yht. 25 + 35 = 60 op) saa olennaisesti saman ydinosaamisen kuin alan omilla kandidaateilla on.
Syventävät opinnot (+60 op) vastaavat läheisesti
tietotekniikan maisteritutkinnon pääaineopintoja. Kokonaisuutena tämä tuskin mahtuu
mukaan nykyisiin HOPSeihin, mutta yksittäisiä kurssejakin voi ilman
muuta poimia sitten aineopintojen päälle.
Esimerkiksi numeriikka ja data-analyysi viedään "perille" vasta syventävissä kursseissa.
Mitä on lupa odottaa saavansa?
Tietotekniikan perusopinnot erillisinä opintoina ("sivuaineena") tarjoavat:
- Hyvän perusohjelmointitaidon
- Yhteisen sanaston tietotekniikan alan ihmisten kanssa
(tarpeen yhteistyöprojekteissa)
- Aineopinnoissa myös ohjelmistojen suunnittelutaitoja
- Syventävissä opinnoissa myös erikoistuneemmat
asiantuntijataidot johonkin kohteeseen, kuten numeriikkaan,
data-analyysiin, koneoppimiseen, tietoliikenteeseen, IoT:hen,
tietoturvaan tai mobiili-/WWW-sovellusten suunnitteluun ja
toteuttamiseen
Sivuaineopintojen suuntautuminen varsinkin pidemmälle edettäessä on jokin seuraavista:
- Koulutusteknologia
- Ohjelmisto- ja tietoliikennetekniikka
- Teknismatemaattinen mallintaminen ja päätösanalytiikka "Laskennalliset tieteet"
Tutkijaksi halajaville sekä opettajan urasta tässä vaiheessa
epävarmoille suosituksena voisi olla
Laskennalliset tieteet tai Ohjelmisto- ja tietoliikennetekniikka.
Opettajuuteen jo määrätietoisesti tähtääville puolestaan saattaa tarjota hyödyllisiä käytännön apuvälineitä
Koulutusteknologia, joka onkin nyt syksystä 2020 alkaen erillinen oppiaineensa!
Opintojen ajoittaminen
Aloitus ensimmäisistä kursseista onnistuu joko jonakin keväänä tai syksynä.
Sen jälkeen voi edetä joko nopealla tai hitaalla tahdilla melko joustavasti. Yksityiskohtaiset tiedot kurssitoteutusten aikatauluista löytyy aina vuosittain Sisusta.
Miksi opiskella tietotekniikkaa erillisenä opintokokonaisuutena (ent. sivuaineena)?
Tässä esimerkkejä sovelluksista luonnontieteen opiskelijan tulevalla omalla alalla. Vain muutamia poimintoja loputtomista reaalimaailman sovellusesimerkeistä eri oppiaineiden pääaineopiskelijoille:
- Kemia: Uusien molekyylien etsiminen laskennallisesti, laskennallinen kemia.
Läheisesti aiheeseen liittyvä esimerkki löytyykin omasta tutkimusryhmästäni tällä hetkellä (2020)
meneillään olevasta projektista (linkki projektin ensimmäiseen julkaisuun). Emme tulisi toimeen ilman porukkaa, joka osaa eniten kemiaa/fysiikkaa, mutta lisäksi tietotekniikkaa!!
- Fysiikka: Higgsin hiukkanen - Tulokset
perustuvat massiivisen datan keräämiseen ja käsittelyyn
(linkki)
- Matematiikka: Numeerinen ja symbolinen laskenta; suunnaton määrä matematiikan
käytännön sovelluksista perustuu tietotekniikan / ohjelmoinnin käyttöön.
(linkki)
- Tilastotiede: Koneoppiminen, hahmontunnistus, bayesilaiset mallit, ...
tilastotieteen uudet sovellukset edellyttävät tietokoneen käyttöä eli
laskennallista tilastotiedettä (linkki).
- Biologia: esimerkki tutkimusartikkelista (PDF saatavilla ainakin yliopiston verkosta käsin) - jyväskyläläinen tutkimus, jossa yhdistyy matematiikka, tilastotiede, tietotekniikka ja biologia.
- Biologia: Tulevaisuudessa dronet tekee biologin työn? - ei, vaan tulevaisuuden biologi, joka osaa analysoida valtavaa, automaattisesti kerättävissä olevaa aineistoa, jota esimerkiksi dronen kuvaama peltovideo on! Esimerkiksi ihmisen genomi on kartoitettu, kuten 1000 muun eliölajin, mutta mitä se tarkoittaa biologian kannalta? Lataa data läppärillesi ja ryhdy selvittämään ("pieni" kotitehtävä siinä - haastava ja useamman elämäntyön mittainen - kannattaa osata tietotekniikka ja tilastotiede siinä bilsan ohella:))!
- Kaikilla aloilla työ tehdään enenevässä määrin tietokoneohjelmilla datan automaattiseen analyysiin perustuen. Ohjelmien ja sovellusten kehittäminen on mahdollista vain yhteistyöllä, jossa sovellusalan asiantuntija osaa kommunikoida mm. ohjelmistokehittäjien kanssa, arvioida ihan itsekin kehittämisen realistisuutta, kustannuksia ja muita ehtoja onnistuneen työkalun tai parannuksen saavuttamiseksi.
Edellä oli vain muutama esimerkki tietotekniikan (erityisesti laskennan) monista sovelluksista.
Lisäksi tietotekniikan osaaminen mahdollistaa aivan uudenlaiset mahdollisuudet
tehostaa omaa työtään (tai aloittaa jännittävä ja palkitseva harrastus!
Esimerkiksi tietotekniikan opiskelijoidemme aikoinaan perustama Instanssi kerää vuosittain digijuttujen harrastelijat oppimaan ja kisailemaan yhdessä, Jyväskylästä ja nykyään kauempaakin.
Omiakin harrastehöpsöttelyjäni päätynyt nettiarkistoihin mm. tuolla, tuolla, tuolla ja tuolla).