Miksi matematiikkaa tietojenkäsittelytieteessä?

Koko: px
Aloita esitys sivulta:

Download "Miksi matematiikkaa tietojenkäsittelytieteessä?"

Transkriptio

1 Miksi matematiikkaa tietojenkäsittelytieteessä? Wilhelmiina Hämäläinen Joensuun yliopisto Tietojenkäsittelytieteen laitos Uudessa ACM:n curriculumissa matematiikan ja teoreettisten tietojenkäsittelytieteen kurssien oppimääriä on pienennetty radikaalisti. Varsinaisesta matematiikasta ydinainekseen kuuluu vain 40 tuntia diskreettiä matematiikka. Lisäksi suositellaan muitakin matematiikan kursseja, kuten tilastotiedettä, differentiaali- ja integraalilaskentaa, lineaarialgebraa, numeerisia metodeja, lukuteoriaa, geometriaa tai symbolista logiikkaa.[cur01] Curriculum-komitea on perustellut matematiikan ja teorian osuuden vähentämistä sillä, että 1) teoreettisten alueiden (algoritmiikan ja ohjelmointikielten teorian) merkitys on suhteessa pienentynyt muihin alueisiin nähden, 2) curriculum pyrkii palvelemaan mahdollisimman monenlaisia instituutioita ja 3) curriculummallin tulee palvella nykyisyyttä ja tulevaisuutta, eikä pitäytyä menneisyyden tietojenkäsittelytieteessä. Alan ammattilaiset ovat kuitenkin toista mieltä. Almstrumin [Alm03] tutkimuksessa 500 pääasiassa yhdysvaltalaista tietojenkäsittelytieteen ammattilaista kertoi kokemuksistaan matematiikan tarpeellisuudesta työssään. Vastaajista noin 1/3 työskenteli pääasiassa opetusalalla ja noin 1/3 teollisuudessa. Peräti 75% piti hyvää matematiikan ymmärrystä tärkeänä vaatimuksena alan työssä. 1 Monet asiantuntijat ovat myös esittäneet puheenvuoronsa matematiikan tarpeellisuuden puolesta varsinkin ACM Communications -lehdessä. Suomalaisista asiantuntijoista Orponen [Orp03] on käsitellyt kysymystä, mihin tietojenkäsittelytieteen teoriaa tarvitaan. Ohjelmistotuotannossa tarvittavaa matematiikan roolia on käsitellyt mm. Valmari [Val00, Val01]. Seuraavissa kappaleissa käsittelen heidän tärkeimpiä argumenttejaan. 1 On syytä huomata, että vastaajista lähes 80% oli naisia. Muiden tutkimusten mukaan tietojenkäsittelytieteessä naisille ymmärtäminen on tärkeämpää, kun taas miehet nauttivat rakentamisesta ja tekemisestä. [Dev03] 44

2 Hämäläinen 45 1 Kyky ajatella matemaattisesti Matematiikan ja teoreettisen tietojenkäsittelytieteen puolustajat ovat nostaneet esiin monia ajankohtaisia ja tulevaisuuden kehityksen kannalta tärkeitä tietojenkäsittelytieteen sovellusalueita, joissa tarvitaan matemaattisia valmiuksia. Tärkeimmät argumentit matematiikan opintojen pakollisuudelle ovat kuitenkin kyky oppia matemaattista (loogista/abstraktia/analyyttistä) ajattelua sekä kestävän kehityksen takaaminen. Devlin [Dev03] korostaa sitä, että tietojenkäsittelytieteen tuotteet ovat puhtaasti abstrakteja, ja tällaisten abstraktien tuotteiden määrittely, suunnittelu ja testaus edellyttävät abstraktia ajattelua. Henderson [Hen03] huomauttaa, että ohjelmistotuotanto edellyttää kykyä ajatella loogisesti ja täsmällisesti aivan kuten matematiikassa ja ohjelmistotuotannossa käytetään jatkuvasti implisiittisesti matemaattista päättelyä. Laajasti ottaen matemaattinen päättely voidaan määritellä "matemaattisten tekniikoiden, käsitteiden ja prosessien soveltamiseksi eksplisiittisesti tai implisiittisesti ongelmien ratkaisemisessa", jolloin kaikessa ongelmanratkaisussa tarvitaan matemaattista päättelyä [HBD + 01]. Bruce et al. [BSKT03] korostavat, ettei tärkeää ole minkään yksittäisen matematiikan osa-alueen hallinta, vaan korkean tason matemaattinen kyvykkyys: useimmat tietojenkäsittelytieteen ongelmat edellyttävät matemaattisen mallin luomista fyysisestä todellisuudesta. Tärkein hyöty matematiikasta onkin yleinen kyky formaaliin määrittelyyn ja matemaattiseen päättelyyn. Lisäksi monet kirjoittajista (esimerkiksi Devlin [Dev03], Henderson [Hen03]) korostavat, että yliopistoopiskelun tärkeimpiä päämääriä on tarjota pohja myöhemmälle oppimiselle. Vaikkei opiskelija tarvitsisi jotain tiettyä teoreemaa tai tekniikkaa koskaan tulevaisuudessa, hän on silti saanut valmiudet oppia tarvittavia uusia asioita. Tämä perustuu siihen, että oppiessa ihmisaivot aina luovat ja vahvistavat uusia hermopolkuja, jotka pysyvät kauan sen jälkeen, kun niiden luomiseen käytetyt faktat unohtuvat. Ei siis haittaa, vaikka faktat katoavat, sillä kyvyt säilyvät! [Dev03] Tietojenkäsittelytieteessä kyky jatkuvaan oppimiseen on erityisen tärkeää, sillä ala on nopeasti muuttuva. Matemaattinen tieto puolestaan on pysyvää ja hyvin testattua, eikä se vanhene. Kukaan ei esimerkiksi tiedä, mikä on neljän vuoden päästä vallitseva ohjelmointiparadigma tai -kieli, mutta on varmaa, että sille on kyettävä laatimaan kääntäjiä ja ohjelmoijien on opittava käyttämään sitä. Suomalaiset asiantuntijat ovat korostaneet, kuinka tärkeää on taata kestävä kehitys. Tietotekniikan matemaattisen teorian edistys muodostaa pitkän aikavälin kehityksen todellisen perustan, kuten Orponen [Orp97] toteaa. Valmari [Val00] on huomauttanut, että teollisuudessa haluttu täsmäkoulutus ja karsaus matemaattisia/teoreettisia kursseja kohtaan on kovin lyhytnäköistä. Laajempi

3 46 Miksi matematiikkaa teoreettinen yleissivistys auttaa sopeutumaan tulevaisuuden tekniikoihin, jolloin henkilökunnan osaaminen ei vanhene teknologian myötä. Teollisuus hyötyy teoreettisesta osaamisesta myös toisella tapaa: teorian tuntemus auttaa arvioimaan eri teknologioiden etuja ja haittoja tärkeissä strategisissa päätöksissä. 2 Missä matematiikkaa tarvitaan? 2.1 Ohjelmointitaidot Matemaattisten taitojen ja ohjelmointitaitojen välillä on havaittu selvä korrelaatio. Devlin [Dev03] selittää tämän sillä, että hyvä ohjelmointitaito edellyttää kykyä käsitellä abstraktioita tarkasti joka on matemaattinen taito. Page [Pag03] on huomannut, että matemaattisen induktion ymmärtäminen auttaa opiskelijoita ymmärtämään muitakin siihen liittyviä käsitteitä kuten rekursiota, numeerisia rekursioyhtälöitä ja silmukkavariantteja. Bruce et al. [BSKT03] ovat myös korostaneet induktiokäsitteen merkitystä rekursiivisten ohjelmien laatimisessa. Rekursiiviset ohjelmat ovat usein tehokkaita ja yksinkertaisia, mutta niiden laatiminen edellyttää rekursion idean ymmärtämistä ja mikä vielä tärkeämpää lisäksi on varmistettava, että rekursiivinen ohjelma täyttää määrittelyn. Tähän tarvitaan matemaattista induktiota. Ohjelmoijan, joka taitaa induktion, on helpompi laatia rekursiivisia ohjelmia ja varmistua niiden toimivuudesta. Lisäksi induktion käyttö mahdollistaa sen, että ohjelman kehitys ja verifiointi voidaan suorittaa samanaikaisesti. Kun opiskelija on harjaantunut induktion käytössä, ei formaalia todistusta enää tarvita, vaan induktioperiaatetta voidaan soveltaa implisiittisesti. Laskettavuuden teoria on tietojenkäsittelytieteen matemaattisimpia kursseja, jolla on myös käytännön vaikutusta ohjelmointitaitoihin. 2 Kun opiskelija oppii tunnistamaan ongelmaa vastaavan formaalin kieliluokan (esimerkiksi äärellinen kieli, LL(1)-kieli, deterministinen kontekstiton kieli), hän voi soveltaa ongelman ratkaisussa suoraan oppimiaan tehokkaita työkaluja (automaattien tai jäsentäjän ohjelmatoteutusta). Kontekstittomat kieliopit auttavat myös hahmottamaan rekursion käsitettä ja ohjelmoimaan rekursiivisen määrittelyn. 2.2 Ohjelmistotuotanto Matematiikasta on hyötyä kaikissa ohjelmistokehityksen vaiheissa: määrittelystä ja suunnittelusta koodaukseen sekä lopullisen toteutuksen turvallisuuden ja oikeellisuuden verifiointiin [BSKT03]. Myös empiirisissä kokeissa on havaittu matemaattisten taitojen tehostavan 2 Laskettavuuden teoria tarjoaa työkaluja vieläkin perustavampaa laatua olevaan kysymykseen: onko kohdattu ongelma ylipäänsä ratkeava? Tämä ongelma on itsessään laskennallisesti ratkeamaton, joten ainut keino varmistua ratkeamattomuudesta on matemaattinen todistus, mutta kurssi harjaannuttaa opiskelijoita tunnistamaan ratkeamattomat ongelmat.

4 Hämäläinen 47 ohjelmistotuotantoa. Esimerkiksi Sobel [Sob00] on raportoinut vertailututkimuksesta, jossa yhdelle opiskelijaryhmälle opetettiin perinteisiä ohjelmistotuotannon menetelmiä ja toiselle formaaleja metodeja. Havaintojen mukaan formaalin kurssin käyneet opiskelijat kykenivät abstrahoimaan ongelmat paremmin ja tuottamaan virheettömämpiä sekä rakenteellisesti laadukkaampia ohjelmia. Monet teollisuudessa tehdyt tutkimukset [LFB96, PH97, CW96, CMCP + 99] ovat päätyneet samaan johtopäätökseen: formaalit menetelmät tuottavat virheettömämpiä, tehokkaampia ja luotettavampia ohjelmistoja. Henderson [Hen03] muistuttaa, että ohjelmistotuotannon tärkeimmät tekijät ovat tuotteen kehityskustannukset ja luotettavuus mitattuna virheinä 1000:tta koodiriviä kohden. Matematiikka tarjoaa apukeinoja tehostaa tuotantoprosessia ja havaita virheet mahdollisimman aikaisessa vaiheessa. Henderson [Hen03] ja Valmari [Val00, Val01] korostavat erityisesti kahta (osittain päällekkäistä) määrittelyja suunnitteluvaiheen toimintoa, joissa matematiikasta on hyötyä: täsmällistä kommunikointia ja tuotteen abstraktia mallinnusta. Yhteisen kuvauskielen merkitys on koko ajan kasvanut, kun ohjelmistojen koko ja kehitykseen osallistuvien ihmisten lukumäärä ovat kasvaneet. Lähes poikkeuksetta ohjelmistotuotteen kehittäminen edellyttää useiden ihmisten yhteistyötä. Tätä varten tarvitaan täsmällistä yhteistä kieltä. Aivan ensiksi ohjelmistotuottajan on kyettävä karsimaan epäolennaisuudet ja kuvaamaan haluttu tuote täsmällisesti käyttäjän hajanaisten ja usein ristiriitaistenkin toiveiden pohjalta. Mikä tahansa abstrakti kuvaus ei kuitenkaan riitä, vaan se on esitettävä muiden samaan hankkeeseen osallistuvien ymmärtämässä muodossa. Ohjelmistotuottajan on kyettävä keskustelemaan ei ainoastaan oman alan vaan muidenkin alojen kollegojen kanssa. Matematiikka tarjoaa rikkaan, ymmärrettävän ja universaalin kielen kommunikoimiseen. Matemaattisilla notaatiolla ja symboleilla voidaan määritellä täsmällisesti esimerkiksi datatyypit ja haluttujen operaatioiden semantiikka. Puhekielellä ei samaan täsmällisyyteen ylletä. Toiseksi Henderson [Hen03] muistuttaa, että ohjelmisto on abstrakti tuote, jonka laatiminen edellyttää abstraktia mallia. Mitä täsmällisempi malli on, sitä aikaisemmassa vaiheessa mahdolliset virheet voidaan havaita. Matematiikka tarjoaa vahvan työkalun mallien rakentamiseen, tarkastamiseen, analysoimiseen ja testaamiseen. Valmarin [Val00, Val01] mukaan matematiikan suurin hyöty onkin juuri siinä, että se tarjoaa työkaluja abstraktioiden tunnistamiseen, muotoilemiseen ja niistä päättelemiseen. Myös ohjelman osien välisten rajapintojen, tietovarastojen, tiedostomuotojen ja ohjelmakomponenttikirjastojen suunnittelussa voidaan hyödyntää matemaattisia työkaluja.

5 48 Miksi matematiikkaa 2.3 Muiden tuotteiden formaali määrittely ja verifiointi Formaalia määrittelyä ei tarvita ainoastaan ohjelmistotuotannossa, vaan mikä tahansa tuote (käyttöjärjestelmä, laitteisto, tietoliikenneprotokolla) voidaan kuvata matemaattisella määrittelyllä. Vastaavasti valmis toteutus verifioidaan matememaattisilla todistuksilla. Suunnittelussa mahdollisesti tapahtunut virhe on valtavan kallis, ja siksi esimerkiksi laitteistopiirin tai protokollan suorituskyky ja turvallisuus on verifioitava huolella ennen tuotteen julkistamista. [BSKT03] Erityisen tärkeää verifiointi on turvallisuuskriittisten järjestelmien kohdalla. Bruce et al. [BSKT03] muistuttavat, että nykyisten virusten ja turvallisuusrikkomusten aikana on erityisen kriittistä ymmärtää olemassaolevat ja potentiaaliset uhat järjestelmälle. Turvallisuustodistukset ovat aikaavieviä, mutta vaiva maksaa itsensä takaisin, koska sillä voi ehkäistä lataamasta vahingossa viruksia tai muuta vahingollista koodia. Rinnakkaisten ja hajautettujen järjestelmien yleistyminen sekä tietoliikenteen kasvu ovat erityisesti lisänneet spesifioinnin ja verifioinnin merkitystä. Esimerkiksi tietoliikenneverkkojen reititys ja protokollien testaus ja verifiointi edellyttävät matemaattisia taitoja. 2.4 Algoritmien analyysi Matematiikka on keskeistä algoritmien suunnittelussa ja analyysissa. Vastaväitteenä voidaan esittää, että riittää kun jotkut osaavat analysoida algoritmeja, toiset voivat aina valita valmiin algoritmin. Tämä ei kuitenkaan ole helppoa! Käytännön ongelmat ovat usein spesifejä 3 ja monimutkaisia, ja toteuttajan on itse kyettävä valitsemaan paras toteutustapa. Matemaattiset todistukset ovat ainut tapa valita paras vaihtoehto. [BSKT03] Algoritmin analyysitaitoja tarvitaan hyvinkin jokapäiväisissä ohjelmointitehtävissä, kuten seuraava yksinkertainen esimerkki [BSKT03] havainnollistaa: Tehtävänä on sijoittaa alkioita yksi kerrallaan taulukkoon. Kun taulukko täyttyy, sitä on kasvatettava. Kannattaako sitä kasvattaa aina vakiomäärän F verran vai tietty prosenttimäärä p% entisestä koosta? Kun analysoidaan kumpikin vaihtoehto, huomataan, että ensimmäisellä tavalla alkion lisäys maksaa keskimäärin O(n) kun toisella tavalla lisäyksen keskimääräinen kustannus on vakio! Vaihtoehtojen välillä on siis iso ero, mutta tämän havaitseminen edellyttää algoritmin matemaattista analyysia. 2.5 Ohjelmointikielten kääntäjät Orponen [Orp97] muistuttaa, että korkean tason ohjelmointikielet ja niiden tehokkaat kääntäjät ovat ohjelmisto- 3 Itse asiassa kaikkia mahdollisia laskennallisia ongelmia on ylinumeroituvan monta, joten samanlaisen ratkaistun ongelman löytäminen on hyvin epätodennäköistä.

6 Hämäläinen 49 tuotannon perusdellytys edelleen haastava tehtävä! Ohjelmointikielten syntaksi on määritelty formaalisti kontekstittomilla kieliopeilla, jolloin sekä kääntäjän laatijalle että ohjelmoijalle on selkeää, mikä on laillinen syntaksi. Ohjelmointikielet ja niiden kääntäjät kehittyvät jatkuvasti, mutta näiden lisäksi jäsennysteoria on saanut uuden haasteen XML:stä. XML:ää voidaan jäsentää kuten ohjelmointikieliä ja tuottaa jäsennyspuita. Näitä puolestaan voidaan verifioida tietotyyppimäärittelyjä vasten samantapaisilla tekniikoilla kuin kääntäjien tyyppitarkistimet. XML:n tietotyypit eivät kuitenkaan ole kiinnitettyjä, vaan yhteistä dataa käyttävät ryhmät voivat sopia uusia merkintöjä erilaisten tietotyyppien esittämiseen. Tietotyypin rakenne voidaan määritellä samaan tapaan kuin säännölliset lausekkeet. Tällöin voidaan tarkastaa yksinkertaisilla äärellisiin automaatteihin perustuvilla algoritmeilla, että tuleva tieto on tyyppimäärittelyn mukaista. Kielioppeihin perustuvilla algoritmeilla voidaan puolestaan jäsentää ja muuntaa data muihin formaatteihin. [BSKT03] 2.6 Tietoverkot Tietoverkkojen voimakas kasvu on synnyttänyt uusia polttavia haasteita tietojenkäsittelytieteen teorialle. Edellä mainitsin jo tietoliikenneprotokollien verifioinnin, jolla pyritään varmistamaan, ettei viestejä katoa tai monistu eikä järjestelmä lukkiudu. Tiedonvälitykseen liittyy myös toisenlaisia turvallisuusongelmia: Ensinnäkin tieto pitäisi kyetä suojaamaan asiaankuulumattomilta tahoilta, ja toiseksi on kyettävä varmistumaan lähettäjätietojen aitoudesta. Ns. julkisen salauksen avaimen salausjärjestelmät ovat esimerkki salausalgoritmeista. Muita kryptografian sovelluskohteita ovat sähköinen tunnistaminen (esimerkiksi sähköraha ) ja yksityisyyden suojan turvaaminen. Kaikki nämä edellyttävät hyvin laaja-alaista matematiikan osaamista. (Ks. esimerkiksi Orponen [Orp97]). 2.7 Muita sovelluksia Edellä luetellut sovellusalueet eivät suinkaan kata kaikkia tietojenkäsittelytieteen alueita, joissa matematiikkaa tarvitaan. Esimerkiksi tietokonegrafiikka on nykyisin huomattava tuotannonala, joka edellyttää lineaarialgebraa. Tehokkaiden tiedonhakumenetelmien (information retrieval) merkitys on kasvanut entisestään tietomäärän paisuessa. Alan sovelluksissa tarvitaan mm. todennäköisyyslaskentaa, matriisilaskennan perusteita ja formaalien kielten teoriaa. Muita tärkeitä sovellusallueita ovat mm. relaatiotietokannat, hahmontunnistus, koneoppiminen, bioinformatiikka sekä muut muista tieteistä nousevat laskentatehtävät.

7 50 Miksi matematiikkaa 3 Miten opettaa matematiikkaa? Henderson [Hen03] korostaa, että on tärkeää opettaa matemaattiset peruskäsitteet mahdollisimman varhaisessa vaiheessa opintoja, ja käyttää ja vahvistaa niitä sitten myöhemmillä tietojenkäsittelytieteen kursseilla. Riittävällä harjoittelulla matemaattiset käsitteet muuttuvat mielen sisäisiksi ja tukevat ajattelua. Tucker et al. [TKB01] korostavat, että teoria ja käytäntö tulee integroida toisiinsa ja matematiikkaa tulee käsitellä myös tietojenkäsittelytieteen käytännöllisemmillä kursseilla. Myös Valmari [Val01] ja Page [Pag03] ovat korostaneet, ettei matematiikkaa tule opettaa irrallaan tietojenkäsittelytieteen sovelluksista. Esimerkiksi induktiotodistuksen esimerkit voivat koskea ohjelman/ohjelmiston oikeellisuutta tai resurssien käyttöä. Pagen [Pag03] kuvaamassa Besemeprojektissa diskreettiä matematiikkaa opeteltiin funktionaalisen ohjelmoinnin avulla. (Ohjelmointikielenä oli Haskell, mutta vastaavissa projekteissa on käytetty myös Schemeä.) Perusajatuksena oli, että funktionaalinen ohjelmointi tarjoaa suoraviivaisen tavan esittää matemaattisia käsitteitä kuten predikaattilogiikka ja todistus induktiolla. Beseme-projektin materiaalissa funktionaalisia ohjelmia käytettiin ilmaisemaan ehtoja, joita minkä tahansa funktion (esimerkiksi lisäys listaan tai puuhun, puun tasapainotus) oli täytettävä toimiakseen oikeellisesti. Beseme-projektissa havaittiin opiskelijoiden pärjäävän paljon paremmin käytännön ohjelmistotuotantotehtävissä, kun he olivat opiskelleet diskreettiä matematiikkaa sovellettuna ohjelmistotuotteisiin. Merkittäväksi havainnon tekee se, että projektiin osallistuvat opiskelijat olivat hieman keskimääräistä vähemmän lahjakkaita, mutta kurssin jälkeen heidän taitonsa olivat paremmat kuin lahjakkaampien, perinteisesti diskreettiä matematiikkaa opiskelleiden opiskelijoiden. Tämä antoi aihetta johtopäätökseen, että loogisen päättelyn harjoittelu ohjelmistotuotteilla tehostaa opiskelijoiden kykyjä käytännön ohjelmistojen kehittäjinä. 4 Millaista matematiikkaa tietojenkäsittelijä tarvitsee? Sekä ACM:n curriculumin että asiantuntijoiden mukaan diskreetti matematiikka on tärkein matematiikan osa-alue, jota tietojenkäsittelijä tarvitsee. Toinen tärkeä alue on todennäköisyyslaskenta, jonka perusteet on integroitu ACM:n vuoden mittaiseen diskreettien rakenteiden kurssiin. Tämän lisäksi ACM:n curriculum suosittelee sisällyttämään muitakin matematiikan kursseja, erityisesti vuoden kurssia differentiaali- ja integraalilaskennasta kehittämään matemaattista kypsyyttä ja ajattelua sekä varmistamaan riittävät esitiedot [cur01]. Curriculumin muilla kursseilla ei matematiikkaa kuitenkaan tarvita: matematiikkaa vaati-

8 Hämäläinen 51 vat kurssit kuten ohjelmistokielet, algoritmit ja tietorakenteet, laskennan teoria, numeerinen ja symbolinen laskenta on joko kokonaan pudotettu ydinaineksesta tai niiden osuus on karsittu minimiin. Jäljellä olevat kurssit on suunniteltu mahdollisimman käytännöllisiksi, niin että lopputulos muistuttaa enemmän kokoelmaa nykyteknologian tekniikoista ja tuotteista kuin tiedettä, kuten Tucker et. al [TKB01] toteavat. Tämä on omiaan vahvistamaan opiskelijoiden käsitystä, ettei matematiikkaa tarvita käytännössä. Siksi olisikin tärkeää integroida teoria ja käytäntö kaikilla curriculumin kursseilla. Valmari [Val01] on muistuttanut, että ohjelmistotuottaja tarvitsee erilaista matematiikkaa kuin fyysikko tai insinööri. Opintoihin pakollisena kuuluva mutta valtaosalle tarpeeton matematiikka koetaan vain turhana rasitteena, joka kasvattaa opiskelijoissa negatiivisia asenteita matematiikkaa ja teoriaa kohtaan. Differentiaalimatematiikan ja muiden numeeristen menetelmien sijasta Valmari suositteleekin keskittymistä diskreetin matematiikkaan, logiikkaan ja laskennan teoriaan. Tärkeintä on, että opiskelijat oppivat työkaluja, joilla käsitellä, ryhmitellä ja jäsentää käsitteitä sekä ilmaista niiden välisiä suhteita, kuten diskreetit rakenteet, tilakoneet, kieliopit, aikavaativuusluokat ja induktio. Jos opiskelija oppii ymmärtämään näistä useimmat, se harjaannuttaa häntä ajattelemaan täsmällisin käsittein. Muita matematiikan kursseja opiskelijat voivat sitten valita suuntautumisensa mukaan. Viitteet [Alm03] V.L. Almstrum. What is the attraction to computing? Communications of the ACM, 46(9):51 55, Sep [BSKT03] K.B. Bruce, R.L. Scot, C. Kelemen, and A. Tucker. Why math? Communications of the ACM, 46(9):41 44, Sep [CMCP + 99] E. Ciapessoni, P. Mirandola, A. Coen- Porisini, D. Mandrioli, and A. Morzenti. From formal models to formally based methods: an industrial experience. ACM Trans. Softw. Eng. Methodol., 8(1):79 113, [cur01] Computing curricula Technical report, ACM, December education/cc2001/final/ index.htm. [CW96] E. M. Clarke and J. M. Wing. Formal methods: state of the art and future directions. ACM Comput. Surv., 28(4): , [Dev03] K. Devlin. Why universities require computer science

9 52 Miksi matematiikkaa [HBD + 01] [Hen03] [LFB96] students to take math. Communications of the ACM, 46(9):37 39, Sep P. B. Henderson, D. Baldwin, V. Dasigi, M. Dupras, J. Fritz, D. Ginat, D. Goelman, J. Hamer, L. Hitchner, W. Lloyd, Jr. B. Marion, C. Riedesel, and H. Walker. Striving for mathematical thinking. In Working group reports from ITiCSE on Innovation and technology in computer science education, pages ACM Press, P.B. Henderson. Mathematical reasoning in software engineering education. Communications of the ACM, 46(9):45 50, Sep P. G. Larsen, J. Fitzgerald, and T. Brookes. Applying formal specification in industry. IEEE Softw., 13(3):48 56, [Orp97] P. Orponen. Matematiikka ja tietojenkäsittelytiede. Arkhimedes, (2):25 29, [Orp03] P. Orponen. Mitä tietojenkäsittelyteoriaan kuuluu? Tietojenkäsittelytiede, (19):15 28, [Pag03] R.L. Page. Software is discrete mathematics. ACM SIGPLAN Notices, 38(9):79 86, September [PH97] [Sob00] [TKB01] [Val00] S. L. Pfleeger and L. Hatton. Investigating the influence of formal methods. Computer, 30(2):33 43, A. E. Kelley Sobel. Empirical results of a software engineering curriculum incorporating formal methods. In Proceedings of the thirtyfirst SIGCSE technical symposium on Computer science education, pages ACM Press, A.B. Tucker, C.F. Kelemen, and K.B. Bruce. Our curriculum has become mathphobic! SIGCSE Bulletin, (33): , A. Valmari. Kun ohjelmistotuotanto ei riitä. Tietojenkäsittelytiede, (13):10 14, Kesäkuu [Val01] A. Valmari. Matematiikan tarve ohjelmistotyössä. Arkhimedes, (2):18 22, 2001.

Miksi matematiikkaa tietojenkäsittelytieteessä?

Miksi matematiikkaa tietojenkäsittelytieteessä? Miksi matematiikkaa tietojenkäsittelytieteessä? Wilhelmiina Hämäläinen whamalai@cs.joensuu. 14th March 2004 Uudessa ACM:n curriculumissa matematiikan ja teoreettisten tietojenkäsittelytieteen kurssien

Lisätiedot

Tarvitseeko informaatioteknologia matematiikkaa?

Tarvitseeko informaatioteknologia matematiikkaa? Tarvitseeko informaatioteknologia matematiikkaa? Oulun yliopisto Matemaattisten tieteiden laitos 1 Kyllä kai IT matematiikkaa tarvitsee!? IT ja muu korkea teknologia on nimenomaan matemaattista teknologiaa.

Lisätiedot

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan CC1991:n ja CC2001:n vertailu Tutkintovaatimukset (degree requirements) Kahden ensimmäisen vuoden opinnot Ohjelmistotekniikan

Lisätiedot

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta. Tietojenkäsittelytiede Tutkintovaatimukset Perustutkinnot LUONNONTIETEIDEN KANDIDAATIN TUTKINTO (VÄHINTÄÄN 120 OV) 1. Tietojenkäsittelytieteen cum laude approbatur -oppimäärä (vähintään 55 ov) ja kypsyysnäyte

Lisätiedot

Ohjelmien automaattisen verifioinnin reunamailla

Ohjelmien automaattisen verifioinnin reunamailla Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,

Lisätiedot

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! YLEISTÄ FORMAALEISTA

Lisätiedot

Tilanne sekä MS-A0003/4* Matriisilaskenta 5 op

Tilanne sekä MS-A0003/4* Matriisilaskenta 5 op MATEMATIIKKA Mat-1.1210 Matematiikan peruskurssi S1 ei järjestetä enää MS-A0103/4* Differentiaali- ja integraalilaskenta I 5 op sekä MS-A0003/4* Matriisilaskenta 5 op Mat-1.1110 Matematiikan peruskurssi

Lisätiedot

Opetusperiodi:I, suunnattu hakukohteille:

Opetusperiodi:I, suunnattu hakukohteille: Kurssin nimi ja koodi Muut kommentit MS-A0001 Matriisilaskenta 5 op (Matrisräkning, Kuvaus: kurssi Teknillinen fysiikka ja matematiikka käsittelee lineaarisia yhtälöryhmiä sekä vektoreita ja matriiseja

Lisätiedot

Opetusperiodi:I, suunnattu hakukohteille: Teknillinen fysiikka ja matematiikka

Opetusperiodi:I, suunnattu hakukohteille: Teknillinen fysiikka ja matematiikka Kurssin nimi ja koodi MS-A0001 Matriisilaskenta 5 op (Matrisräkning, Kuvaus: kurssi käsittelee lineaarisia yhtälöryhmiä sekä vektoreita ja matriiseja sovelluksineen. Sisältö: vektorilaskentaa, matriisit

Lisätiedot

Matematiikka ja tilastotiede. Orientoivat opinnot /

Matematiikka ja tilastotiede. Orientoivat opinnot / Matematiikka ja tilastotiede Orientoivat opinnot / 27.8.2013 Tutkinnot Kaksi erillistä ja peräkkäistä tutkintoa: LuK + FM Laajuudet 180 op + 120 op = 300 op Ohjeellinen suoritusaika 3 v + 2 v = 5 v Tutkinnot

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Matematiikka ja tilastotiede. Orientoivat opinnot / 25.8.2015

Matematiikka ja tilastotiede. Orientoivat opinnot / 25.8.2015 Matematiikka ja tilastotiede Orientoivat opinnot / 25.8.2015 Tutkinnot Kaksi erillistä ja peräkkäistä tutkintoa: LuK + FM Laajuudet 180 op + 120 op = 300 op Ohjeellinen suoritusaika 3 v + 2 v = 5 v Tutkinnot

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS. 4.5.1. Tutkinnon rakenne. Matemaattisten aineiden koulutusohjelma

4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS. 4.5.1. Tutkinnon rakenne. Matemaattisten aineiden koulutusohjelma Matemaattisten aineiden 82 4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS Koulutuksesta vastaa professori Seppo Pohjolainen, Matematiikan laitos, huone Sg207, puhelin 365 2424 email: seppo.pohjolainen@tut.fi.

Lisätiedot

TIETOTEKNIIKAN KOULUTUSOHJELMA

TIETOTEKNIIKAN KOULUTUSOHJELMA TIETOTEKNIIKAN KOULUTUSOHJELMA Tietotekniikan koulutusohjelman toimintaympäristö ja osaamistavoitteet Tietotekniikan koulutusohjelmasta valmistuneet insinöörit sijoittuvat suunnittelu-, ohjelmointi-, esimies-,

Lisätiedot

Matemaatikot ja tilastotieteilijät

Matemaatikot ja tilastotieteilijät Matemaatikot ja tilastotieteilijät Matematiikka/tilastotiede ammattina Tilastotiede on matematiikan osa-alue, lähinnä todennäköisyyslaskentaa, mutta se on myös itsenäinen tieteenala. Tilastotieteen tutkijat

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

CHERMUG-pelien käyttö opiskelijoiden keskuudessa vaihtoehtoisen tutkimustavan oppimiseksi

CHERMUG-pelien käyttö opiskelijoiden keskuudessa vaihtoehtoisen tutkimustavan oppimiseksi Tiivistelmä CHERMUG-projekti on kansainvälinen konsortio, jossa on kumppaneita usealta eri alalta. Yksi tärkeimmistä asioista on luoda yhteinen lähtökohta, jotta voimme kommunikoida ja auttaa projektin

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2003 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa esitiedot käytännössä

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 31. maaliskuuta 2011 Sisällys Sisällys Chomskyn hierarkia kieli säännöllinen kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Tietotekniikka koulutus- ja tieteenalana. Tommi Kärkkäinen

Tietotekniikka koulutus- ja tieteenalana. Tommi Kärkkäinen Tietotekniikka koulutus- ja tieteenalana Tommi Kärkkäinen Tietojenkäsittely (Computing, IT) yleisesti* Tietojenkäsittely-käsite: tavoitteellinen aktiviteetti joka vaatii, hyödyntää tai rakentaa tietokonetta

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 4. Joukot, relaatiot ja funktiot Osa 3: Funktiot 4.3 Funktiot Olkoot A ja B joukkoja. Funktio joukosta A joukkoon B on sääntö, joka liittää yksikäsitteisesti määrätyn

Lisätiedot

Tietojenkäsittelytieteen pääaine Pääaineinfo ke

Tietojenkäsittelytieteen pääaine Pääaineinfo ke Tietojenkäsittelytieteen pääaine Pääaineinfo ke Pekka Orponen Tietojenkäsittelytieteen laitos Aalto-yliopisto http://ics.aalto.fi/ Tietojenkäsittelytiede Kehitetään systemaattisia ja tehokkaita malleja

Lisätiedot

Ohjelmoinnin peruskurssien laaja oppimäärä

Ohjelmoinnin peruskurssien laaja oppimäärä Ohjelmoinnin peruskurssien laaja oppimäärä Keskeneräinen luento 3: Listat (mm. SICP 22.2.3) Riku Saikkonen 31. 10. 2011 Sisältö 1 Linkitetyt listat 2 Linkitetyt listat (SICP 2.1.1, 2.2.1) funktionaalinen

Lisätiedot

5.6.3 Matematiikan lyhyt oppimäärä

5.6.3 Matematiikan lyhyt oppimäärä 5.6.3 Matematiikan lyhyt oppimäärä Matematiikan lyhyen oppimäärän opetuksen tehtävänä on tarjota valmiuksia hankkia, käsitellä ja ymmärtää matemaattista tietoa ja käyttää matematiikkaa elämän eri tilanteissa

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

Lisätiedot

Tärkeää huomioitavaa:

Tärkeää huomioitavaa: Siirtymäohjeistus tietotekniikan kandivaiheen opiskelijoille 2005 tutkintorakenteesta 2013 Teknistieteellisen kandidaattiohjelman tietotekniikan pääaineeseen Tärkeää huomioitavaa: Yli 7 vuotta vanhoilla

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA34 Funktio-ohjelmointi, kevät 2008 Luento 3 Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 2. tammikuuta 2008 Ydin-Haskell: Syntaksi Lausekkeita (e) ovat: nimettömät funktiot: \x

Lisätiedot

Laskennan teoria

Laskennan teoria 581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa

Lisätiedot

Tutkintovaatimukset suoraan DI-vaiheeseen valituille

Tutkintovaatimukset suoraan DI-vaiheeseen valituille 1 / 10 Tutkintovaatimukset suoraan DI-vaiheeseen valituille Tutkintovaatimukset määräytyvät suoraan DI-vaiheeseen valituilla opiskelijoilla pääsääntöisesti samoin kuin muillakin DI-tutkintoa suorittavilla

Lisätiedot

Software engineering

Software engineering Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of

Lisätiedot

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti 2.12.2008 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt ja työkalut Tulevaisuuden

Lisätiedot

Tietojenkäsittelytieteen tutkintovaatimukset

Tietojenkäsittelytieteen tutkintovaatimukset Tietojenkäsittelytieteen tutkintovaatimukset Näiden tutkintovaatimusten mukaan opiskelevat lukuvuonna 2006 2007 opintonsa aloittaneet opiskelijat sekä uuteen tutkintojärjestelmään lukuvuoden 2005 2006

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Juurisyiden oivaltaminen perustuu usein matemaattisiin menetelmiin, jotka soveltuvat oireiden analysointiin.

Juurisyiden oivaltaminen perustuu usein matemaattisiin menetelmiin, jotka soveltuvat oireiden analysointiin. Juurisyiden oivaltaminen perustuu usein matemaattisiin menetelmiin, jotka soveltuvat oireiden analysointiin. Tämä pätee arkisten haasteiden ohella suuriin kysymyksiin: kestävä kehitys, talous, lääketiede,

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2012 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. maaliskuuta 2012 Sisällys Ongelma-analyysiä Sisällys Ongelma-analyysiä Hypoteettinen ongelma The Elite Bugbusters

Lisätiedot

Tutkimusmenetelmät-kurssi, s-2004

Tutkimusmenetelmät-kurssi, s-2004 Algoritmitutkimuksen menetelmistä Tutkimusmenetelmät-kurssi, s-2004 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Algoritmitutkimuksen menetelmistä p.1/20 Sisällys Tänään Tietojenkäsittelytiede

Lisätiedot

Mallintarkistus ja sen

Mallintarkistus ja sen VERSIO 0.1 LUONNOS Mallintarkistus ja sen soveltaminen PLCohjelmien verifioinnissa AS-0.3200 Automaatio- ja systeemitekniikan projektityöt -projektisuunnitelma Markus Hartikainen 2/1/2009 Sisältö 1. Projektityön

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Automaatit. Muodolliset kielet

Automaatit. Muodolliset kielet Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten

Lisätiedot

MATEMATIIKKA. Elina Mantere Helsingin normaalilyseo elina.mantere@helsinki.fi. Elina Mantere

MATEMATIIKKA. Elina Mantere Helsingin normaalilyseo elina.mantere@helsinki.fi. Elina Mantere MATEMATIIKKA Helsingin normaalilyseo elina.mantere@helsinki.fi OPPIAINEEN TEHTÄVÄ Kehittää loogista, täsmällistä ja luovaa matemaattista ajattelua. Luoda pohja matemaattisten käsitteiden ja rakenteiden

Lisätiedot

Substanssiosaamisen integroinnin vaikutus asenteisiin ja motivaatioon yliopistomatematiikassa

Substanssiosaamisen integroinnin vaikutus asenteisiin ja motivaatioon yliopistomatematiikassa Substanssiosaamisen integroinnin vaikutus asenteisiin ja motivaatioon yliopistomatematiikassa 27.-28.10.2016 Mira Tengvall Terhi Kaarakka Simo Ali-Löytty Johdanto Matemaattinen osaaminen on olennainen

Lisätiedot

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Äärellisten automaattien ja säännöllisten kielten ekvivalenssi Osoitamme seuraavan keskeisen tuloksen: Lause 1.8: [Sipser Thm. 1.54] Kieli on säännöllinen, jos ja vain jos jokin säännöllinen lauseke esittää

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Esitiedot Arvosanaan 1 2 riittävät Arvosanaan 3 4 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä

Lisätiedot

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3 T-79.48 Tietojenkäsittelyteorian perusteet Tentti 25..23 mallivastaukset. Tehtävä: Kuvaa seuraavat kielet sekä säännölisten lausekkeiden että determinististen äärellisten automaattien avulla: (a) L = {w

Lisätiedot

Haskell ohjelmointikielen tyyppijärjestelmä

Haskell ohjelmointikielen tyyppijärjestelmä Haskell ohjelmointikielen tyyppijärjestelmä Sakari Jokinen Helsinki 19. huhtikuuta 2004 Ohjelmointikielten perusteet - seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Johdanto 1 Tyyppien

Lisätiedot

Näkökulmia tietoyhteiskuntavalmiuksiin

Näkökulmia tietoyhteiskuntavalmiuksiin Näkökulmia tietoyhteiskuntavalmiuksiin Tietotekniikka oppiaineeksi peruskouluun Ralph-Johan Back Imped Åbo Akademi & Turun yliopisto 18. maaliskuuta 2010 Taustaa Tietojenkäsittelytieteen professori, Åbo

Lisätiedot

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms. Kokeellinen algoritmiikka (3 ov) syventäviä opintoja edeltävät opinnot: ainakin Tietorakenteet hyödyllisiä opintoja: ASA, Algoritmiohjelmointi suoritus harjoitustyöllä (ei tenttiä) Kirjallisuutta: Johnson,

Lisätiedot

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri } 135 4.3 Algoritmeista Churchin ja Turingin formuloinnit laskennalle syntyivät Hilbertin vuonna 1900 esittämän kymmenennen ongelman seurauksena Oleellisesti Hilbert pyysi algoritmia polynomin kokonaislukujuuren

Lisätiedot

Lakkautetut vastavat opintojaksot: Mat Matematiikan peruskurssi P2-IV (5 op) Mat Sovellettu todennäköisyyslaskenta B (5 op)

Lakkautetut vastavat opintojaksot: Mat Matematiikan peruskurssi P2-IV (5 op) Mat Sovellettu todennäköisyyslaskenta B (5 op) KORVAVUUSLISTA 31.10.2005/RR 1 KURSSIT, jotka luennoidaan 2005-2006 : Lakkautetut vastavat opintojaksot: Mat-1.1010 Matematiikan peruskurssi L 1 (10 op) Mat-1.401 Mat-1.1020 Matematiikan peruskurssi L

Lisätiedot

Testaajan eettiset periaatteet

Testaajan eettiset periaatteet Testaajan eettiset periaatteet Eettiset periaatteet ovat nousseet esille monien ammattiryhmien toiminnan yhteydessä. Tämä kalvosarja esittelee 2010-luvun testaajan työssä sovellettavia eettisiä periaatteita.

Lisätiedot

Kukin kurssi voi sisältyä vain yhteen alemman tai ylemmän perustutkinnon moduuliin.

Kukin kurssi voi sisältyä vain yhteen alemman tai ylemmän perustutkinnon moduuliin. 1.1 Teknillisen fysiikan ja matematiikan tutkinto ohjelman tarjoamat, vain sivuaineena suoritettavat moduulit kaikille tutkinto ohjelmille Sivuaineen muodostaminen Sivuaine sisältää jonkin pääaineen perusmoduulin

Lisätiedot

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla 2.5. YDIN-HASKELL 19 tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla kirjaimilla. Jos Γ ja ovat tyyppilausekkeita, niin Γ on tyyppilauseke. Nuoli kirjoitetaan koneella

Lisätiedot

Tietoyhteiskunnan perustaidot. Kesäkuu 2014

Tietoyhteiskunnan perustaidot. Kesäkuu 2014 Tietoyhteiskunnan perustaidot Kesäkuu 2014 Kurssin järjestäjästä Ohjelmistotuotannon ja Tiedonhallinnan Laitos Tuotantotalouden Tiedekunta Lappeenrannan Teknillinen Yliopisto Tietotekniikan koulutusohjelmasta

Lisätiedot

Todistusmenetelmiä Miksi pitää todistaa?

Todistusmenetelmiä Miksi pitää todistaa? Todistusmenetelmiä Miksi pitää todistaa? LUKUTEORIA JA TO- DISTAMINEN, MAA11 Todistus on looginen päättelyketju, jossa oletuksista, määritelmistä, aksioomeista sekä aiemmin todistetuista tuloksista lähtien

Lisätiedot

Piilotettu osaaminen. tunnistammeko kansainväliset osaajat

Piilotettu osaaminen. tunnistammeko kansainväliset osaajat Piilotettu osaaminen tunnistammeko kansainväliset osaajat Työpaikoilla tarvitaan uteliaita ja sitkeitä muutoksentekijöitä. Kansainvälisissä osaajissa on juuri näitä ominaisuuksia. Millaista osaamista työelämä

Lisätiedot

Johdatus L A TEXiin. 10. Matemaattisen tekstin kirjoittamisesta. Matemaattisten tieteiden laitos

Johdatus L A TEXiin. 10. Matemaattisen tekstin kirjoittamisesta. Matemaattisten tieteiden laitos Johdatus L A TEXiin 10. Matemaattisen tekstin kirjoittamisesta Matemaattisten tieteiden laitos Matemaattisesta tekstistä I Matemaattisella tekstillä tarkoitetaan tavallista (suomenkielisistä virkkeistä

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Talousmatematiikan perusteet ORMS.1030

Talousmatematiikan perusteet ORMS.1030 orms.1030 Vaasan avoin yliopisto / kevät 2013 1 Talousmatematiikan perusteet Matti Laaksonen Matemaattiset tieteet Vaasan yliopisto Vastaanotto to 11-12 huone D110/Tervahovi Sähköposti: matti.laaksonen@uva.fi

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Arvosanaan 1 2 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä ja yhtälöpareja Osaan muokata

Lisätiedot

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 24. toukokuuta 2013 Sisällys Formaalit kielet On tapana sanoa, että merkkijonojen joukko on (formaali) kieli. Hieman

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016 .. TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 20. lokakuuta 2016 Sisällys. Turingin koneiden pysähtymisongelma. Lause Päätösongelma Pysähtyykö standardimallinen

Lisätiedot

Täydentäviä muistiinpanoja laskennan rajoista

Täydentäviä muistiinpanoja laskennan rajoista Täydentäviä muistiinpanoja laskennan rajoista Antti-Juhani Kaijanaho 10. joulukuuta 2015 1 Diagonaalikieli Diagonaalikieli on D = { k {0, 1} k L(M k ) }. Lause 1. Päätösongelma Onko k {0, 1} sellaisen

Lisätiedot

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

Lisätiedot

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013 TIEA241 Automaatit ja kieliopit, kesä 2013 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 29. toukokuuta 2013 Sisällys Chomskyn hierarkia (ja muutakin) kieli LL(k) LR(1) kontekstiton kontekstinen rekursiivisesti

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden

Lisätiedot

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012 TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 19. tammikuuta 2012 Sisällys Sisällys Muistathan A B -konstruktion 0 k 1 i 2 s 3 s 4 a 5 0 k 1 o 2 i 3 r 4

Lisätiedot

Talousmatematiikan perusteet ORMS.1030

Talousmatematiikan perusteet ORMS.1030 kevät 2014 Talousmatematiikan perusteet Matti Laaksonen, (Matemaattiset tieteet / Vaasan yliopisto) Vastaanotto to 11-12 huone D110/Tervahovi Sähköposti: matti.laaksonen@uva.fi Opettajan kotisivu: http://lipas.uwasa.fi/

Lisätiedot

Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus

Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus Opintosuunnitelma Janne Paalijärvi Koulutusohjelma ja vuosikurssi: T II Opiskelijanumero: 57375S Sähköpostiosoite: jpaalija cc hut fi Opinto-opas: 2003-2004 Kirjastonkäyttöharjoitus suoritettu: 27.09.2004

Lisätiedot

Muodolliset kieliopit

Muodolliset kieliopit Muodolliset kieliopit Luonnollisen kielen lauseenmuodostuksessa esiintyy luonnollisia säännönmukaisuuksia. Esimerkiksi, on jokseenkin mielekästä väittää, että luonnollisen kielen lauseet koostuvat nk.

Lisätiedot

Kukin kurssi voi sisältyä vain yhteen alemman tai ylemmän perustutkinnon moduuliin.

Kukin kurssi voi sisältyä vain yhteen alemman tai ylemmän perustutkinnon moduuliin. Teknillisen fysiikan ja matematiikan tutkinto-ohjelma Johanna Bovellán/6.3.2009 LPM-listojen (tfm:n lista kn 24.2., tdk 10.3.) perusteella tehdyt muutokset moduuleihin on merkitty viivaamalla yli vanhat

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

TIEA341 Funktio-ohjelmointi 1, kevät 2008

TIEA341 Funktio-ohjelmointi 1, kevät 2008 TIEA341 Funktio-ohjelmointi 1, kevät 2008 Luento 10 Todistamisesta Antti-Juhani Kaijanaho Jyväskylän yliopisto Tietotekniikan laitos 21. tammikuuta 2008 Samuuden todistaminen usein onnistuu ihan laskemalla

Lisätiedot

Diplomi-insinööriksi Porissa. Let science be your playground

Diplomi-insinööriksi Porissa. Let science be your playground Diplomi-insinööriksi Porissa Let science be your playground your Haaveissa urakehitys? Opiskele diplomi-insinööriksi Porissa! 2 Voit suorittaa johtamisen ja tietotekniikan diplomi-insinööritutkinnon työn

Lisätiedot

Matematiikka ja tilastotiede

Matematiikka ja tilastotiede Matematiikka ja tilastotiede Turun yliopistossa Lauri Heinonen lakahei@utu.fi 21.12 Laitilan lukiolla Minä Kirjoitin keväällä 2015 Laitilan lukiosta Matematiikan ja tilastotieteen koulutusohjelma Luen

Lisätiedot

MALog-projekti kehittää oppimateriaalia matemaattiseen logiikkaan. Insinöörikoulutuksen foorumi

MALog-projekti kehittää oppimateriaalia matemaattiseen logiikkaan. Insinöörikoulutuksen foorumi MALog-projekti kehittää oppimateriaalia matemaattiseen logiikkaan Insinöörikoulutuksen foorumi 5.10.2012 Taustaa - MALog Huoli (matematiikan ja) matemaattisen logiikan osaamisen tasosta Oppimateriaalien

Lisätiedot

5.3 Ratkeavia ongelmia

5.3 Ratkeavia ongelmia 153 5.3 Ratkeavia ongelmia Deterministisen äärellisten automaattien (DFA) hyväksymisongelma: hyväksyykö annettu automaatti B merkkijonon w? Ongelmaa vastaava formaali kieli on A DFA = { B, w B on DFA,

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009

Tähtitieteen käytännön menetelmiä Kevät 2009 Tähtitieteen käytännön menetelmiä Kevät 2009 2009-01-12 Yleistä Luennot Luennoija hannu.p.parviainen@helsinki.fi Aikataulu Observatoriolla Maanantaisin 10.00-12.00 Ohjattua harjoittelua maanantaisin 9.00-10.00

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015 ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:

Lisätiedot

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn TIETOTEKNIIKAN KOULUTUSOHJELMA Lukuvuonna 2009-2010 aloittavat Kompetenssit Yleiset Yhteiset Ohjelmistotekniset Tietoverkkotekniset Itsensä kehittäminen Eettine Viestint Kehittä n ä m Organisaatio- a ja

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

Lisää pysähtymisaiheisia ongelmia

Lisää pysähtymisaiheisia ongelmia Lisää pysähtymisaiheisia ongelmia Lause: Pysähtymättömyysongelma H missä H = { w111x w validi koodi, M w ei pysähdy syötteellä x } ei ole rekursiivisesti lueteltava. Todistus: Pysähtymisongelman komplementti

Lisätiedot

582206 Laskennan mallit

582206 Laskennan mallit 582206 Laskennan mallit luennot syksylla 2006, periodit I{II Jyrki Kivinen tietojenkasittelytieteen aineopintokurssi, 6 op, paaaineopiskelijoille pakollinen esitietoina Tietorakenteet (ja sen esitiedot)

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

Sarjat ja integraalit, kevät 2014

Sarjat ja integraalit, kevät 2014 Sarjat ja integraalit, kevät 2014 Peter Hästö 12. maaliskuuta 2014 Matemaattisten tieteiden laitos Osaamistavoitteet Kurssin onnistuneen suorittamisen jälkeen opiskelija osaa erottaa jatkuvuuden ja tasaisen

Lisätiedot

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio

SoberIT Ohjelmistoliiketoiminnan ja tuotannon laboratorio Informaatioverkostojen koulutusohjelma Ihminen ja vuorovaikutus Pääaineen rakenne: T100-1 Informaatioverkostojen perusmoduuli (A1) T200-2 Ihminen ja vuorovaikutus (A2) UUSI T110-3 Ihmisläheiset tietojärjestelmät

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg Matematiikan ja tilastotieteen laitos Tietojenkäsittelytieteen laitos Kisällioppiminen = oppipoikamestari

Lisätiedot

Rajoittamattomat kieliopit (Unrestricted Grammars)

Rajoittamattomat kieliopit (Unrestricted Grammars) Rajoittamattomat kieliopit (Unrestricted Grammars) Laura Pesola Laskennanteorian opintopiiri 13.2.2013 Formaalit kieliopit Sisältävät aina Säännöt (esim. A -> B C abc) Muuttujat (A, B, C, S) Aloitussymboli

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Luova opettaja, luova oppilas matematiikan tunneilla

Luova opettaja, luova oppilas matematiikan tunneilla Luova opettaja, luova oppilas matematiikan tunneilla ASKELEITA LUOVUUTEEN - Euroopan luovuuden ja innovoinnin teemavuoden 2009 päätösseminaari Anni Lampinen konsultoiva opettaja, Espoon Matikkamaa www.espoonmatikkamaa.fi

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Mikä ihmeen Global Mindedness?

Mikä ihmeen Global Mindedness? Ulkomaanjakson vaikutukset opiskelijan asenteisiin ja erilaisen kohtaamiseen Global Mindedness kyselyn alustavia tuloksia Irma Garam, CIMO LdV kesäpäivät 4.6.2 Jun- 14 Mikä ihmeen Global Mindedness? Kysely,

Lisätiedot

Talousmatematiikan perusteet ORMS.1030

Talousmatematiikan perusteet ORMS.1030 orms.1030 Vaasan yliopisto / kevät 2015 Talousmatematiikan perusteet Matti Laaksonen Matemaattiset tieteet, Vaasan yliopisto Vastaanotto to 11-12 huone D110/Tervahovi Sähköposti: matti.laaksonen@uva.fi

Lisätiedot

TIETOTEKNIIKKA 2012-2013 Koodi Vanha opintojakso op ov Vastuuhenkilö LV 2011-2012 vastaavat opinnot tai korvaava suoritustapa TTE.

TIETOTEKNIIKKA 2012-2013 Koodi Vanha opintojakso op ov Vastuuhenkilö LV 2011-2012 vastaavat opinnot tai korvaava suoritustapa TTE. TIETOTEKNIIKKA 2012-2013 Koodi Vanha opintojakso op ov Vastuuhenkilö LV 2011-2012 vastaavat opinnot tai korvaava suoritustapa TTE.344 Agenttipohjainen tietojenkäsittely 3 Ei voi suorittaa, tilalle jokin

Lisätiedot

Tieteiden välinen kommunikaatio oikeus- ja yhteiskuntatieteiden välillä

Tieteiden välinen kommunikaatio oikeus- ja yhteiskuntatieteiden välillä Tieteiden välinen kommunikaatio oikeus- ja yhteiskuntatieteiden välillä Kaisa Raitio Yhteiskuntapolitiikan laitos Joensuun yliopisto Monitieteisen ympäristötutkimuksen metodit 12.-13.10.2006 SYKE Esityksen

Lisätiedot

Tutkintovaatimukset suoraan DI-vaiheeseen valituille

Tutkintovaatimukset suoraan DI-vaiheeseen valituille 1 / 12 Tutkintovaatimukset suoraan DI-vaiheeseen valituille Nämä ohjeet on laadittu muille kuin tekniikan kandidaatin pohjatutkinnolla suoraan TTYn DIvaiheeseen tulleille. Tekniikan kandidaatin tutkinnolla

Lisätiedot