Tietotekniikka / tietojenkäsittelytiede toisena tai kolmantena oppiaineena - mitä ja miksi?
(Kemian sivuaineinfo/alkukeitos 11.9.2023.)
Esityksen pitäjä "tehköön, mistä saarnaa": Pienen ohjelmointiharjoitteen avulla tämän nettisivun saa avattua myös esitysaikakellon kanssa: esitysaika 10 min | 7 min
Tarjonta kuvataan opinto-oppaassa virallisin sanoin
Virallinen tieto näistä opintokokonaisuuksista löytyy samasta paikasta kuin kaikista muistakin eli Opinto-oppaasta.
Edistyneellä haulla saa näppärästi näkyviin esimerkiksi kaikki
Informaatioteknologian tiedekunnan valinnaisena suoritettavat
perusopintokokonaisuudet
(täten).
IT-tiedekunnan opetus tapahtuu yllä olevan kuvan Agora-rakennuksessa
(kuvaaja: Sergei Chernov).
Tällä sivulla kerrotaan erityisesti tietotekniikasta,
koska se on luonnontieteilijälle perinteisesti erityisen
hyödyllinen. Ajankohtainen huomautus: Syksystä 2024 alkaen oppiaineen
nimi tulee olemaan tietojenkäsittelytiede ja
luultavasti myös opintokokonaisuuden nimi muuttuu vastaavasti.
Täsmälinkit virallisiin
kuvauksiin vielä tänä vuonna (2023) tietotekniikkana tunnettujen opintokokonaisuuksien jatkumosta:
Mitä tietotekniikan opiskelu on käytännössä
Perusopinnoista aina aloitetaan, joten puhutaan tänään eniten
niistä. Ja puhutaan erityisesti oppiaineesta
nimeltä tietotekniikka, joka on IT-tiedekunnan
tarjonnasta ehkä suorimmin jonkin muun luonnontieteellisen tutkinnon
opiskelijaa hyödyttävä aine.
Tietotekniikan perusopinnot (vähintään 25 op) alkavat tällaisista kaikille yhteisistä sisällöistä:
- ITKP1010 Digitaalisen osaamisen perusteet (3 op): Kuinka tietokonetta käytetään "oikein" eli tehokkaasti, turvallisesti ja varsinkin ilman tarpeetonta otsahikeä!
Vaikka ei mitään muuta IT-alalta, niin jokaisen yliopisto-opiskelijan kannattaisi käydä tämä kyseinen kurssi!!
- ITKP1011 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.
- ITKP102 Ohjelmointi 1 (6 op) (Peruskivijalka kaikkeen): kuinka tietokone saadaan ratkomaan ongelmia ihmisen puolesta. Ensimmäisellä kurssilla sovellusalueena on pelit, katso esimerkiksi aiempia Ohjelmointi 1 -kurssin tuotoksia YouTubessa. Pelit motivoivat joitakin enemmän kuin toisia - mutta pelikontekstissa kaikki oppivat ohjelmoinnin perusteet hyvin!
Ohjelmointi 1 on vahvasti suositeltava kurssi jokaiselle luonnontieteellisen alan opiskelijalle, vaikka ei jatkaisikaan perusopintokokonaisuutta sen pidemmälle!
- ITKP104 Tietoverkot (3-5 op) (joita ilman ei nykypäivänä yksinkertaisesti pärjätä): Miten koneet ja niihin asennetut ohjelmat viestivät keskenään verkon kautta?
- Perusopintojen 25 opintopisteen laajuus täytetään vapaasti erilaisilla aihepiireillä. Esimerkkejä tarjonnasta:
- TIEP111 Ohjelmointi 2 (8 op): 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, joka vastaa käyttäjämäärän kasvua? Onko se ylipäätään mahdollista niille toimenpiteille, joita jokin suunniteltavana oleva järjestelmä tarvitsee?
- Tietokannat ja tiedonhallinta: 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 - perinteikäs mutta myös 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ä?
- 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ä ...
(3 ensiksi mainittua ja korostettua opintojaksoa kuuluvat pakollisina aineopintokokonaisuuteen, joten niiden kautta voi ottaa vähän näytepaloja tulevasta jo perusopintojen osana; toki kaikki muutkin TIEP/TIEA -opintojaksot ovat hyödyllisiä.)
Aineopinnoissa (+35 op) on lisää aikaa miettiä muun muassa edellisiä kysymyksiä ja oppia samalla paremmaksi ohjelmoijaksi. Aineopinnoissa mukaan mahtuu myös esimerkiksi 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 datatiede ehditään viedä
perille saakka vasta syventävissä kursseissa.
Mitä on lupa odottaa saavansa?
Tietotekniikan perusopinnot erillisinä opintoina (vanhalla slangilla
"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,
datatieteeseen, koneoppimiseen, tietoliikenteeseen, IoT:hen,
tietoturvaan tai mobiili-/WWW-sovellusten suunnitteluun ja
toteuttamiseen
Sivuaineopintojen suuntautuminen varsinkin pidemmälle edettäessä on jompikumpi seuraavista:
- Ohjelmisto- ja tietoliikennetekniikka
- Teknismatemaattinen mallintaminen ja päätösanalytiikka ("Laskennalliset tieteet")
Tutkijaksi halajaville laskennallisten tieteiden
opiskelu voi tukea oman alan tutkimusta kaikkein suorimmin. Jos
opintoihin ei kuitenkaan luontevasti kuulu lisäksi matematiikkaa tai
luonnontieteitä, Ohjelmisto- ja tietoliikennetekniikka lienee
helpoiten avautuva vaihtoehto.
Opettajuuteen jo määrätietoisesti tähtääville
puolestaan saattaa tarjota hyödyllisiä käytännön apuvälineitä
Koulutusteknologia, joka on ollut syksystä 2020 alkaen ihan erillinen aineensa!
Sen perusopinnoissa on ihan pieni, 2 kurssin kokoinen, eroavuus tietotekniikan perusopintoihin.
Eli aika samasta puusta lähdetään veistämään myös koulutusteknologian opinnoissa.
Opintojen ajoittaminen
Aloitus ensimmäisistä kursseista onnistuu joko jonakin keväänä tai syksynä, lukukauden alkupäivistä alkaen. Ohjelmointi 1 on usein tarjolla myös kesäperiodissa.
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 eri alojen opiskelijan tulevalla omalla alalla.
Vain muutamia poimintoja loputtomista reaalimaailman sovellusesimerkeistä
joidenkin koulutusohjelmien pääaineopiskelijoille:
- Kemia: Uusien molekyylien etsiminen laskennallisesti, laskennallinen kemia.
Läheisesti aiheeseen liittyvä esimerkki löytyykin omasta tutkimusryhmästäni äskettäisestä
projektista (linkki projektin ehkä näkyvimpään julkaisuun 2019, ensimmäisen väittelijän väitöstiedotteeseen 2022 ja jatkoprojektiin). Tällaisissa hankkeissa ei tultaisi toimeen ilman porukkaa, joka osaa eniten kemiaa/fysiikkaa, mutta lisäksi tietotekniikkaa!!
Kemiallisten prosessien optimointi on perinteinen ja alati tarpeen oleva kenttä (linkki erääseen projektiin takavuosilta ja muihin optimointijulkaisuihin).
- 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)
Entäs "puhdas matematiikka", filosofia ja logiikka? Todistusvälineet (linkki)
- Tilastotiede: Koneoppiminen, hahmontunnistus, bayesilaiset mallit, ...
tilastotieteen uudet sovellukset edellyttävät tietokoneen käyttöä eli
laskennallista tilastotiedettä (linkki).
- Biologia: esimerkki tutkimusartikkelista ja siihen liittyvästä lähdekoodista - megatrendien (linkki), kuten luontokadon, ratkomista tietotekniikan keinoin täällä meillä Jyväskylässä.
- Biologia: aiempi 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:))!
- Psykologia: Heitänpä tähän esimerkiksi viimeisimmän oman yhteisjulkaisuni tietotekniikan ja psykologian rajapinnasta
- Humanistiset aineet: Itse yhteiskunnan lisäksi myös humanistinen tutkimus digitalisoituu. Kannattaa pysytellä siinä mukana. Esimerkkinä Suomen Akatemian rahoitusohjelma Digital Humanities (DIGIHUM) 2016-2022. Tällaiset tuskin vähenevät tulevaisuudessakaan.
- Kaikilla aloilla arkipäivän 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, tuolla ja tuolla).