Miksi matematiikkaa tietojenkäsittelytieteessä?
|
|
- Antero Ahola
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Miksi matematiikkaa tietojenkäsittelytieteessä? Wilhelmiina Hämäläinen 14th March 2004 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ä, kalkyyliä, 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) curriculum-mallin 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ä. 2 Seuraavissa kappaleissa käsittelemme 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] 2 Suomalaisista asiantuntijoista Orponen [Orp03] on käsitellyt kysymystä, mihin tietojenkäsittelytieteen teoriaa tarvitaan. Ohjelmistotuotannossa tarvittavaa matematiikan roolia on käsitellyt mm. Valmari [Val00, Val01].
2 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ärkeimpänä argumenttina matematiikan opintojen pakollisuudelle on kuitenkin ollut kyky oppia matemaattista (loogista/abstraktia/analyyttistä) ajattelua. 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ä. 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 (esim. Devlin [Dev03], Henderson [Hen03]) korostavat, että yliopisto-opiskelun 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ä. Myös 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 teoreettinen 2
3 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. Ohjelmoijille, jotka taitavat induktion, on helpompi laatia rekursiivisia ohjelmia ja varmistua niiden toimivuudesta. Lisäksi induktion käyttö mahdollistaa sen, että ohjelman kehitys ja veriointi voidaan suorittaa samanaikaisesti. Kun opiskelija on harjaantunut induktion käytössä, ei formaalia todistusta enää tarvita, vaan induktioperiaatetta voidaan soveltaa implisiittisesti. Laskettavuudenteoria on tietojenkäsittelytieteen matemaattisimpia kursseja, jolla on myös käytännön vaikutusta ohjelmointitaitoihin. 3 Kun opiskelija oppii tunnistamaan ongelmaa vastaavan formaalin kieliluokan (esimerkiksi äärellinen kieli, LL(1)-kieli, deterministinen 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. 3 Laskettavuuden teoria tarjoaa työkaluja myös vielä 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. 3
4 2.2 Ohjelmistotuotanto Matematiikasta on hyötyä kaikissa ohjelmistokehityksen vaiheissa: määrittelystä ja suunnittelusta koodaukseen sekä lopullisen toteutuksen turvallisuuden ja oikeellisuuden veriointiin [BSKT03]. Myös empiirisissä kokeissa on havaittu matemaattisten taitojen tehostavan ohjelmistotuotantoa. Esimerkiksi 3-vuotisessa Besemeprojektissa [Pag03] havaittiin opiskelijoiden pärjäävän paljon paremmin käytännön ohjelmistotuotantotehtävissä, kun he olivat opiskelleet diskreettiä matematiikkaa sovellettuna ohjelmistotuotteisiin. 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 mahdolliset 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, tarkistamiseen, 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ää 4
5 matemaattisia työkaluja. 2.3 Muiden tuotteiden formaali määrittely ja veriointi Formaalia määrittelyä ei tarvita ainoastan ohjelmistotuotannossa, vaan mikä tahansa tuote (käyttöjärjestelmä, laitteisto, tietoliikenneprotokolla) voidaan kuvata matemaattisella määrittelyllä. Vastaavasti valmis toteutus verioidaan matememaattisilla todistuksilla. Suunnittelussa mahdollisesti tapahtunut virhe on valtavan kallis, ja siksi esimerkiksi laitteistopiirin tai protokollan suorituskyky ja turvallisuus on veri- oitava huolella ennen tuotteen julkistamista. [BSKT03] Erityisen tärkeää veriointi 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 hajaututettujen järjestelmien yleistyminen sekä tietoliikenteen kasvu ovat erityisesti lisänneet spesioinnin ja verioinnin merkitystä. Esimerkiksi tietoliikenneverkkojen reititys ja protokollien testaus ja veriointi 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 usein spesifejä 4 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äisessä 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 4 Itse asiassa kaikkia mahdollisia laskennallisia ongelmia on ylinumeroituvan monta, joten samanlaisen ratkaistun ongelman löytäminen on todella neulan etsimistä heinäsuovasta! 5
6 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 ohjelmistotuotannon 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 verioida 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 tageja erilaisten tietotyyppien esittämiseen. Tietotyypin rakenne voidaan määritellä samaan tapaan kuin säännölliset lausekkeet. Tällöin voidaan tarkistaa 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. Tiedonvälitykseen liittyvät ongelmat ovat kahtalaiset: 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 salaualgoritmeista. Muita kryptograan 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. esim. Orponen [Orp97]). 2.7 Muita sovelluksia Edellä luetellut sovellusalueet eivät suinkaan kata kaikkia tietojenkäsittelytieteen alueita, joissa matematiikkaa tarvitaan. Esimerkiksi tietokonegraikka on nykyisin huomattava tuotannonala, joka edellyttää lineaarialgebraa. Tehokkaiden tiedonhakumenetelmien 6
7 (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. 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 matematiikka tule opettaa irrallaan tietojenkäsittelytieteen sovelluksista. Esimerkiksi induktiotodistuksen esimerkit voivat koskea ohjelman/ohjelmiston oikeellisuutta tai resurssien käyttöä. Pagen [Pag03] kuvaamassa Beseme-projektissa 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 (esim. lisäys listaan tai puuhun, puun tasapainotus) oli täytettävä toimiakseen oikeellisesti. Merkittävä havainto Beseme-projektissa oli, että projektiin osallistuvien opiskeljat 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ä. 7
8 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 vuodenmittaiseen diskreettien rakenteiden kurssiin. Tämän lisäksi ACM:n curriculum suosittelee sisällyttämään muitakin matematiikan kursseja, erityisesti vuoden kurssia kalkyylistä kehittämään matemaattista kypsyyttä ja ajattelua sekä varmistamaan riittävät esitiedot. Curriculumin esitietovaatimusten ja vaadittujen matematiikan kurssien välinen onkin suuri epäsuhta, joka edellyttäisi täydentäviä matematiikan kursseja.[tkb01, cur01] Valmari [Val01] on kuitenkin 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. Dierentiaalimatematiikan ja muiden numeeristen menetelmien sijasta Valmari suositteleekin keskittymistä diskreetin matematiikkaan, logiikkaan ja laskennateoriaan. 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. 5 Muuta Nykyinen curriculum vain kokoelma nykyteknologiaa heijastelevia tekniikoita ja tuotteita - eivät valmista opiskelijoita hyvin pidemmällä tähtäimellä Ks. "Revised model curriculum for a liberal arts degree in computer science", Communications of ACM 39, 12, ks. myös: Devlin: The real reason why software engineers need math. Communications of the ACM, Oct
9 Hinchey, Bowen (ed.): Applications of formal methods Prentice-Hall, London, References [Alm03] V.L. Almstrum. What is the attraction to computing? Communications of the ACM, 46(9):5155, Sep [BSKT03] K.B. Bruce, R.L. Scot, C. Kelemen, and A. Tucker. Why math? Communications of the ACM, 46(9):4144, Sep [cur01] [Dev03] [Hen03] [Orp97] Computing curricula. computer science volume. Technical report, December K. Devlin. Why universities require computer science students to take math. Communications of the ACM, 46(9):3739, Sep P.B. Henderson. Mathematical reasoning in software engineering education. Communications of the ACM, 46(9):4550, Sep P. Orponen. Matematiikka ja tietojenkäsittelytiede. Arkhimedes, (2):25 29, [Orp03] P. Orponen. Mitä tietojenkäsittelyteoriaan kuuluu? Tietojenkäsittelytiede, (19):1528, [Pag03] [TKB01] [Val00] [Val01] R.L. Page. Software is discrete mathematics. ACM SIGPLAN Notices, 38(9):7986, September A.B. Tucker, C.F. Kelemen, and K.B. Bruce. Our curriculum has become math-phobic! SIGCSE Bulletin, (33):243247, A. Valmari. Kun ohjelmistotuotanto ei riitä. Tietojenkäsittelytiede, pages 1014, Jun A. Valmari. Matematiikan tarve ohjelmistotyössä. Arkhimedes, (2):18 22,
Miksi matematiikkaa tietojenkäsittelytieteessä?
Miksi matematiikkaa tietojenkäsittelytieteessä? Wilhelmiina Hämäläinen Joensuun yliopisto Tietojenkäsittelytieteen laitos whamalai@cs.joensuu.fi Uudessa ACM:n curriculumissa matematiikan ja teoreettisten
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.
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
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
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
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
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
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
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
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
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ä
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:
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
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
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,
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
TIETOTEKNIIKAN KOULUTUSOHJELMA
TIETOTEKNIIKAN KOULUTUSOHJELMA Tietotekniikan koulutusohjelman toimintaympäristö ja osaamistavoitteet Tietotekniikan koulutusohjelmasta valmistuneet insinöörit sijoittuvat suunnittelu-, ohjelmointi-, esimies-,
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
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
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................................
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
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
815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset
815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/
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
(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
Ohjelmien automaattisen verifioinnin reunamailla
Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,
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ä
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
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
Algoritmit 1. Luento 2 Ke Timo Männikkö
Algoritmit 1 Luento 2 Ke 11.1.2017 Timo Männikkö Luento 2 Algoritmin esitys Algoritmien analysointi Suoritusaika Asymptoottinen kertaluokka Peruskertaluokkia NP-täydelliset ongelmat Algoritmit 1 Kevät
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
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ä
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
Ää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ää
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
Tutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
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
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
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
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
Algoritmit 2. Luento 1 Ti Timo Männikkö
Algoritmit 2 Luento 1 Ti 14.3.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin valinta Algoritmin analysointi Algoritmin suoritusaika Peruskertaluokkia Kertaluokkamerkinnät Kertaluokkien ominaisuuksia
TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 8. syyskuuta 2016
TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. syyskuuta 2016 Sisällys a https://tim.jyu.fi/view/kurssit/tie/ tiea241/2016/videoiden%20hakemisto Matemaattisen
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
811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 ari.vesanen (at) oulu.fi 5. Rekursio ja induktio Rekursio tarkoittaa jonkin asian määrittelyä itseensä viittaamalla Tietojenkäsittelyssä algoritmin määrittely niin,
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
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
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
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
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut
TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut Pisteytys on ilmoitettu välikoevaihtoehdon mukaan (joko tehtävät 1, 2 ja 3 välikokeen 1 uusintana tai tehtävät 4, 5 ja 6 välikokeen 2 uusintana).
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.
MATEMAATTIS- LUONNONTIETEELLINEN OSAAMINEN
MATEMAATTIS- LUONNONTIETEELLINEN OSAAMINEN Matematiikka ja matematiikan soveltaminen, 4 osp Pakollinen tutkinnon osa osaa tehdä peruslaskutoimitukset, toteuttaa mittayksiköiden muunnokset ja soveltaa talousmatematiikkaa
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
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
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
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,
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.
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
Laskennan teoria
581336-0 Laskennan teoria luennot syyslukukaudella 2004 Jyrki Kivinen tietojenkäsittelytieteen laudatur-kurssi, 3 ov pakollinen tietojenkäsittelytieteen suuntautumisvaihtoehdossa, opettajan suuntautumisvaihtoehdossa
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
Global Mindedness kysely. Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere May- 14
Global Mindedness kysely Muuttaako vaihto-opiskelu opiskelijan asenteita? Kv päivät Tampere 13.5. May- 14 Mistä olikaan kyse? GM mittaa, kuinka vastaajat suhtautuvat erilaisen kohtaamiseen ja muuttuuko
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
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
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ä
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
8. Kieliopit ja kielet
8. Kieliopit ja kielet Suomen kielen sanoja voidaan yhdistellä monella eri tavalla. Kielioppi määrää sen, milloin sanojen yhdistely antaa oikein muodostetun lauseen. "Mies räpyttää siipiään" on kieliopillisesti
11.4. Context-free kielet 1 / 17
11.4. Context-free kielet 1 / 17 Määritelmä Tyypin 2 kielioppi (lauseyhteysvapaa, context free): jos jokainenp :n sääntö on muotoa A w, missäa V \V T jaw V. Context-free kielet ja kieliopit ovat tärkeitä
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
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?
Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin? 2013-2014 Lasse Lensu 2 Algoritmit ovat deterministisiä toimintaohjeita
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
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
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
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.
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
815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
Teoreettisen viitekehyksen rakentaminen
Teoreettisen viitekehyksen rakentaminen Eeva Willberg Pro seminaari ja kandidaatin opinnäytetyö 26.1.09 Tutkimuksen teoreettinen viitekehys Tarkoittaa tutkimusilmiöön keskeisesti liittyvän tutkimuksen
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
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,
Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö
Johdatus diskreettiin matematiikkaan Harjoitus 5, 14.10.2015 1. Ratkaise rekursioyhtälö x n+4 2x n+2 + x n 16( 1) n, n N, alkuarvoilla x 1 2, x 2 14, x 3 18 ja x 4 42. Ratkaisu. Vastaavan homogeenisen
Matematiikan tukikurssi
Matematiikan tukikurssi Kurssikerta 4 Jatkuvuus Jatkuvan funktion määritelmä Tarkastellaan funktiota f x) jossakin tietyssä pisteessä x 0. Tämä funktio on tässä pisteessä joko jatkuva tai epäjatkuva. Jatkuvuuden
arvioinnin kohde
KEMIA 8-lk Merkitys, arvot ja asenteet T2 Oppilas asettaa itselleen tavoitteita sekä työskentelee pitkäjänteisesti. Oppilas kuvaamaan omaa osaamistaan. T3 Oppilas ymmärtää alkuaineiden ja niistä muodostuvien
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)
Matematiikka tai tilastotiede sivuaineena
Matematiikka tai tilastotiede sivuaineena Matematiikan sivuainekokonaisuudet Matematiikasta voi suorittaa 25, 60 ja 120 opintopisteen opintokokonaisuudet. Matematiikan 25 op:n opintokokonaisuus Pakolliset
Ohjelmoinnin peruskurssien laaja oppimäärä
Ohjelmoinnin peruskurssien laaja oppimäärä Luento 2: SICP kohdat 22.2.3 Riku Saikkonen 2. 11. 2010 Sisältö 1 Linkitetyt listat 2 Listaoperaatioita 3 Listarakenteet 4 Gambit-C:n Scheme-debuggeri Linkitetyt
OHJELMISTOKEHITYS -suuntautumisvaihtoehto
OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä
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
VALINNAISET OPINNOT Laajuus: Ajoitus: Kood Ilmoittautuminen weboodissa (ja päättyy 06.03.2016.)
VALINNAISET OPINNOT Valinnaisia opintoja pedagogisten opintojen yleistavoitteiden suuntaisesti tarjoavat normaalikoulu, kasvatustiede ja ainedidaktiikka. Laajuus: 3 opintopistettä Ajoitus: Pääsääntöisesti
Talousmatematiikan perusteet ORMS.1030
s16 Talousmatematiikan perusteet ORMS.1030 Matti Laaksonen, (Matemaattiset tieteet / Vaasan yliopisto) Sähköposti: matti.laaksonen@uva.fi Opettajan kotisivu: http://lipas.uwasa.fi/ mla/ puh. 044 344 2757
arvioinnin kohde
KEMIA 9-lk Merkitys, arvot ja asenteet T2 Oppilas tunnistaa omaa kemian osaamistaan, asettaa tavoitteita omalle työskentelylleen sekä työskentelee pitkäjänteisesti T3 Oppilas ymmärtää kemian osaamisen
Teollisuusautomaation standardit Osio 9
Teollisuusautomaation standardit Osio 9 Osio 1: SESKOn Komitea SK 65: Teollisuusprosessien ohjaus Osio 2: Toiminnallinen turvallisuus: periaatteet Osio 3: Toiminnallinen turvallisuus: standardisarja IEC
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
Tärkeää huomioitavaa:
Siirtymäohjeistus tietotekniikan kandivaiheen opiskelijoille 2005 tutkintorakenteesta 2013 Teknistieteellisen kandidaattiohjelman tietotekniikan pääaineeseen Tärkeää huomioitavaa: Yli 7 vuotta vanhoilla
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/
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,
VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D
VERSIONHALLINTA PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D Versio Päivä Tekijä Kuvaus 0.1 26.10.2005 Kaarlo Lahtela Ensimmäinen versio 0.2 10.12.2006 Lauri Kiiski Suomennettu 3 (8 ) SISÄLLYS
MIKSI YLIOPISTON MATEMATIIKAN OPETUSTA PITÄÄ KEHITTÄÄ?
YLIOPISTOMATEMATIIKAN OPETTAJUUDEN KEHITTÄMINEN JORMA JOUTSENLAHTI YLIOPISTONLEHTORI (TAY), DOSENTTI (TTY), 1 2 MIKSI YLIOPISTON MATEMATIIKAN OPETUSTA PITÄÄ KEHITTÄÄ? 3 1. Opiskelijoiden lähtötaso Yliopisto-opiskelijoiden
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
Pysähtymisongelman ratkeavuus [Sipser luku 4.2]
Pysähtymisongelman ratkeavuus [Sipser luku 4.2] Osoitamme nyt vihdoin, että jotkin Turing-tunnistettavat kielet ovat ratkeamattomia ja jotkin kielet eivät ole edes Turing-tunnistettavia. Lisäksi toteamme,
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
TUKIMATERIAALI: Arvosanan kahdeksan alle jäävä osaaminen
KEMIA Kemian päättöarvioinnin kriteerit arvosanalle 8 ja niitä täydentävä tukimateriaali Opetuksen tavoite Merkitys, arvot ja asenteet T1 kannustaa ja innostaa oppilasta kemian opiskeluun T2 ohjata ja
uv n, v 1, ja uv i w A kaikilla
2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko