Syyslukukausi 2009

Tieto- ja viestintätekniikan opinnot

 
581324 Tietokone työvälineenä (1 - 2 op)
Samuli Kaipiainen 02.09. ke 12-14 B123, 09.09.-18.09. ke, pe 12-14 A111
Tietojenkäsittelytieteen pääaineopiskelijoille pakollinen työvälinekurssi, jossa itse tekemällä opitaan opiskelussa välttämättömät ja tärkeimmät työvälineet. Internet, XHTML+CSS, toimisto-ohjelmat, laitoksen Linux-ympäristö. Kurssin toinen opintopiste on vapaaehtoinen. Sivuaineopiskelija: tarvitset TKTL:n käyttäjätunnuksen! 
 
582514 TVT-ajokortti (3 op)
Samuli Kaipiainen
 
 

Muut opinnot

 
582513 Opiskelutekniikka (2 op)
Taina Kaivola
Suoritetaan Johdatus tietojenkäsittelytieteeseen -kurssin yhteydessä. Opiskelutekniikka sisältää neljä tuntia luento-opetusta ja neljä tehtävää, jotka tehdään joko yksin tai opintopiirissä. Tehtävissä perehdytään yliopisto-opiskelussa tarvittaviin tietoihin ja taitoihin, kuten ajankäytön suunnitteluun, muistiinpanotekniikoihin ja tieteellisen kirjoittamisen perusteisiin. 
 

Perusopinnot

 
582102 Johdatus tietojenkäsittelytieteeseen (4 op)
Leht. Heikki Lokki 23.09.-14.10. ke 12-14 A111, 04.11.-09.12. ke 12-14 A111
Kurssin yhteydessä suoritetaan myös muiden opintojen pakollinen opintojakso 582513 Opiskelutekniikka (2 op). 
 
582102 Johdatus tietojenkäsittelytieteeseen (itseopiskelu) (4 op)
Leht. Heikki Lokki
Kurssin yhteydessä suoritetaan myös muiden opintojen pakollinen opintojakso 582513 Opiskelutekniikka (2 op). 
 
581325 Ohjelmoinnin perusteet (5 op)
Leht. Arto Wikla 07.09. ma 10-12 A111, 10.09. to 14-17 A111, 14.09.-15.10. ma 12-14, to 14-17 A111
Kurssilla perehdytään algoritmien laatimiseen ja nykyaikaisen ohjelmoinnin perusideoihin. Opiskelijalta ei edellytetä ennakkotietoja ohjelmoinnista. Kurssi perustuu verkkomateriaaliin. Huom.: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla ja toteutetaan opintopiireinä. Kurssikoe ke 21.10. klo 9-12. 
 
582103 Ohjelmoinnin jatkokurssi (4 op)
Leht. Arto Wikla 02.11.-10.12. ma 12-14, to 14-16 A111
Kurssilla perehdytään olio-ohjelmoinnin perustekniikoihin. Painopiste on kielen perusvälineiden käytössä; esimerkkinä käytetään Java-kieltä. Esitiedot: Ohjelmoinnin perusteet. Kurssi perustuu verkkomateriaaliin. Huom.: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla ja toteutetaan opintopiireinä. Kurssikoe ma 14.12. klo 16-19. 
 
582104 Ohjelmistojen mallintaminen (4 op)
Yo-opett. Matti Luukkainen 03.11.-11.12. ti 10-12, pe 12-14 A111
Kurssilla käsitellään ohjelmistojen ja järjestelmien määrittelyä ja kuvaamista, kuvauksissa yleisesti käytettäviä tekniikoita ja tekniikoiden pohjalla olevia käsityksiä sekä erilaisten kuvausten asemaa ohjelmiston kehittämisessä. Tekniikoiden osalta pääpaino on UML-mallinnuskielessä. Esitiedot: ohjelmointitaito, oliokäsitteistön hallinta (Ohjelmoinnin perusteet). Kurssikoe ke 16.12. klo 9-12. 
 
581328 Tietokantojen perusteet (itseopiskelukurssi) (4 op)
Yonleht. Pirjo Moen 08.09. ti 12-14 B123
Kurssilla tutustutaan tiedon esitysmuotoihin ja tiedon hakuun suurista tietomääristä. Erityisenä painopisteenä ovat relaatiotietokannat, joiden kohdalla perehdytään toisaalta teoreettiseen perustaan ja toisaalta tietokannan käytännön käsittelyyn SQL-kielen avulla. Kurssilla opitaan myös perustiedot relaatiotietokantojen suunnittelusta. Kurssin pääoppimateriaali: Laine H.: Tietokantojen perusteet, HY/TKTL, 2006. Laine H.: Tietokantojen perusteet verkkokurssimateriaali, HY/TKTL, 2005. Kurssikoe ma 19.10. klo 16-19. 
 
58160 Ohjelmoinnin harjoitustyö (periodi I) (4 op)
Yonleht. Tomi Pasanen 07.09. ma 10-11 D122, ma 11-12 B221, 28.09. ma 10-11 D122, ma 11-12 B221
Esitiedot: Ohjelmoinnin jatkokurssi (Java-ohjelmointi) ja Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät). 
 
58160 Ohjelmoinnin harjoitustyö (periodi II) (4 op)
Yonleht. Tomi Pasanen 02.11. ma 10-11 D122, ma 11-12 B221, 23.11. ma 10-11 D122, ma 11-12 B221
Esitiedot: Ohjelmoinnin jatkokurssi (Java-ohjelmointi) ja Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät). 
 

Aineopinnot (pakolliset opintojaksot)

 
582216 Johdatus tekoälyyn (4 op)
Yonleht. Tomi Pasanen 10.09.-16.10. to 10-12, pe 12-14 CK112
Kurssi antaa yleiskuvan tekoälyn ongelma-alueista ja menetelmistä koostuen yleisestä johdannosta ja tutkimusryhmien esittelyluennoista. Suoritustapana ovat luentopäiväkirja ja pieni essee. Esitiedot: Tietorakenteet (tai vastaavat tiedot) sekä ohjelmointitaito. Yleinen johdanto perustuu verkkomateriaaliin ja kirjaan Artificial Intelligence, Janet Finlay & Alan Dix, Routledge, 2002. Kurssilla ei järjestetä kurssikoetta. Kurssin voi suorittaa myös yhdellä isolla esseellä. 
 
582204 Kandidaatintutkielma (Tieteellisen kirjoittamisen kurssi) (syksy 2009) (10 op)
Prof. Seppo Sippu 07.09. ma 10-12 CK112, 14.09.-12.10. ma 12-14 CK112
Kurssilla opitaan tieteellisen esityksen (tutkielman, raportin, julkaisun) laatimiseen tarvittavia taitoja: lähdemateriaalin hakua ja käyttöä, esityksen jäsentämistä sekä kirjallista ja suullista esitystaitoa. Opiskelijat suorittavat kurssilla kandidaatintutkielman (6 op), äidinkielisen viestinnän (3 op), tutkimustiedonhaun (1 op) sekä kypsyysnäytteen. 
 
582206 Laskennan mallit (6 op)
Yonleht. Juha Kärkkäinen 08.09.-13.10. ti 14-16 A111, 03.11.-08.12. ti 14-16 A111
Laskentaongelmien matemaattinen määrittely. Automaatit, formaalit kielet ja kieliopit. Algoritmikäsitteen formalisointi. Ratkeavuus. Esitiedot: Tietorakenteet-kurssin suoritus (tai esitietokoe). Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Sipser M.: Introduction to the Theory of Computation (2nd ed.), Thomson Course Technology, 2006. Kurssikokeet to 22.10. klo 9-12 ja to 17.12. klo 16-19. 
 
581305 Tietokoneen toiminta (itseopiskelukurssi) (4 op)
Leht. Teemu Kerola
Kurssilla perehdytään tietokoneohjelman suoritukseen, tietokonelaitteiston komponentteihin sekä laitteiston ja käyttöjärjestelmän luomaan ohjelman suoritusympäristöön. Esitiedot: Ohjelmoinnin perusteet. Monimuotokurssi sisältäen verkkoluentoja sekä opintopiirissä tehtäviä verkkotehtäviä, harjoitustehtäviä ja projekteja. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Stallings W.: Computer Organization and Architecture (7th ed.), Prentice Hall, 2006. Kurssikoe ke 16.12. klo 16-19. 
 
581332 Rinnakkaisohjelmointi (4 op)
Leht. Teemu Kerola 02.11.-10.12. ma 12-14 B123, to 10-12 A111
Kurssilla perehdytään rinnakkaisten ja hajautettujen järjestelmien ohjelmoinnin peruskäsitteisiin. Erityinen paino on rinnakkaisten algoritmien suunnittelussa ja toteutuksessa. Esitiedot: Tietokoneen toiminta -kurssin suoritus (tai esitietokoe). Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Ben-Ari M.: Principles of Concurrent and Distributed Programming (2nd ed.), Addison-Wesley, 2006. Kurssikoe pe 18.12. klo 9-12. 
 
581260 Ohjelmistotuotantoprojekti (syksy 2009) (9 op)
Yo-opett. Matti Luukkainen, Yonleht. Juha Taina
Opiskelijat jaetaan ryhmiin, joiden tehtävänä on vetää läpi 14 viikon mittainen ohjelmistoprojekti. Työssä käydään läpi ohjelmistoprosessin osavaiheet vaatimusmäärittelystä testaukseen. Projektin tuloksena saadaan asiakkaan vaatimukset täyttävä ohjelmisto ja dokumentaatio. Esitiedot: Ohjelmistotuotanto ja Tietorakenteiden harjoitustyö. Opiskelijat suorittavat samalla työelämään orientoinnin (1 op). 
 
58161 Tietorakenteiden harjoitustyö (periodi I) (4 op)
Leht. Otto Nurmi
Esitiedot: Tietorakenteet. 
 
58161 Tietorakenteiden harjoitustyö (periodi II) (4 op)
Leht. Otto Nurmi
Esitiedot: Tietorakenteet. 
 
582203 Tietokantasovellus (periodi I) (4 op)
Leht. Harri Laine 08.09. ti 16-18 D122
Kurssilla perehdytään tietokantaohjelmointiin ja yksinkertaisten web-sovellusten rakenteisiin sekä web-sovelluksen toteutukseen. Kurssilla harjoitellaan tietokantasuunnittelua sekä tietokannan pystytystä ja hyväksikäyttöä. Kurssin jälkeen opiskelija tuntee joitakin tietokanta- ja web-ohjelmoinnin tekniikkoja ja osaa laatia yksinkertaisia web-sovelluksia. Kurssin pääosan muodostaa harjoitustyö. Esitiedot: Tietokantojen perusteet ja Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät). 
 
582203 Tietokantasovellus (periodi II) (4 op)
Leht. Harri Laine 02.11. ma 16-18 D122
Kurssilla perehdytään tietokantaohjelmointiin ja yksinkertaisten web-sovellusten rakenteisiin sekä web-sovelluksen toteutukseen. Kurssilla harjoitellaan tietokantasuunnittelua sekä tietokannan pystytystä ja hyväksikäyttöä. Kurssin jälkeen opiskelija tuntee joitakin tietokanta- ja web-ohjelmoinnin tekniikkoja ja osaa laatia yksinkertaisia web-sovelluksia. Kurssin pääosan muodostaa harjoitustyö. Esitiedot: Tietokantojen perusteet ja Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät). 
 

Aineopinnot (valinnaiset opintojaksot)

 
58127 C-ohjelmointi (4 op)
Yo-opett. Päivi Kuuppelomäki 08.09.-16.10. ti, pe 10-12 CK112
Kurssilla opitaan ohjelmoimaan ANSI-standardin mukaisella C-kielellä. Esitiedot: Tietorakenteet. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Suositeltava kurssikirja: Müldner, T.: C for Java Programmers, Addison-Wesley, 2000, tai Kernighan B.W. & Ritchie D.M.: The C Programming Language (2nd ed.), Prentice Hall, 1988. (ANSI C edition). Kurssiin kuuluu harjoitustyö. Erilliskokeeseen voivat osallistua vain ne, jotka ovat suorittaneet kurssiin kuuluvan harjoitustyön ennen koetta. (Harjoitustyön tekemisestä voi sopia kuulustelijan kanssa.) Kurssikoe to 22.10. klo 16-19. 
 
582331 Ketterä web-kehitys ja Ruby on Rails (4 op)
Leht. Juha Vihavainen, Matti Paksula 04.11.-11.12. ke 14-16, pe 10-12 CK112
Kurssilla perehdytään Ruby ohjelmointikieleen, Ruby on Rails ohjelmistokehykseen ja MVC-arkkitehtuuriin. Kurssiin liittyy kurssin aikana tehtävä pieni harjoitustyö, jonka etenemistä seurataan harjoituksissa. Esitiedot: Tietokantasovellus. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Ruby S., Thomas D. & Hansson D.: Agile Web Development with Rails (3rd ed.), Pragmatic Bookshelf, 2009. Kurssikoe ti 15.12. klo 9-12. 
 
582329 AI for Games (3 op)
Yonleht. Tomi Pasanen, Pieter Spronck 31.08. ma 10-18 C222, 01.09. ti 10-18 C222, 02.09. ke 10-18 C222, 03.09. to 10-18 C222, 04.09. pe 10-18 C222
The course focuses on the problems of creating AI for video games, and the requirements and restrictions for such AI. The course discusses how game developers deal with these problems in practice. It also discusses where the currently used techniques fail, what goals game developers want to achieve, and how more modern techniques can actually achieve these goals. 
 
582325 Johdatus peliohjelmointiin (4 op)
Leht. Juha Vihavainen 09.09.-16.10. ke 14-16, pe 12-14 C221
Grafiikkaohjelmointi Windows-ympäristössä. Tapahtumien käsittely. Tietokonepelien arkkitehtuuri. Peliresurssien hallinta. Skriptikielet peliohjelmoinnissa. Olioperustainen 3D-grafiikkaohjelmointi. Peliohjelmointitekniikkaa. Laskuharjoituksissa ohjataan ryhmätöinä tehtäviä harjoitustöitä. Suoritus harjoitustöillä, ei kurssikoetta eikä erilliskoetta. 
 
582332 Programming in Python (4 op)
Jarkko Toivonen 08.09.-15.10. ti 12-14, to 10-12 C222
On the course basic building blocks of Python programs will be learned and Pythonic way of solving things is introduced. The parts of Python's large standard library to be concentrated on are mostly its general purpose features. The approach of the course to the subject matter is practise oriented, so exercises and the course project have larger weight than usually. The course exam is obligatory, but it forms only a third of the grade. Exercises will begin already in the first lecture week, and some of the exercise sessions will be held in a computer class. The course cannot be passed by a separate exam. Prerequisites: programming skills in at least some language is recommended. Recommended course book: Martelli, A.: Python in a Nutshell, O'Reilly, 2006. Course exam Wed 21.10. at 9-12. 
 
582334 TDD-ohjelmointimenetelmä ja koodin suunnittelu (5 op)
Esko Luontola 08.09.-15.10. ti, to 16-18 CK112
Kurssilla opetellaan kirjoittamaan ohjelmia Test-Driven Development -suunnittelumenetelmää käyttäen. Keskeisessä asemassa on oppia kirjoittamaan koodista hyvää ja ylläpidettävää, niin että sitä on helppo lukea ja muokata. Käytännön harjoittelu on tärkeässä osassa ja oppilaat ohjelmoivat kurssin aikana pari harjoitustyötä. TDD:n lisäksi käsitellään myös muita ketteriä toteutustason menetelmiä. Esitiedot: Ohjelmoinnin harjoitustyö ja Tietorakenteiden harjoitustyö. Kurssikoe ti 20.10. klo 9-12. 
 
582482 Tietokannan suunnittelu (4 op)
Prof. Seppo Sippu 09.09.-15.10. ke, to 14-16 C222
Tietokannan käsitesuunnittelu ja relaatiotietokantakaavion johtaminen käsitekaaviosta. Tietokannan looginen suunnittelu: relaatiotietokantakaavion arviointi ja muokkaus. Relaatiotietokannan fyysinen suunnittelu ja kyselynkäsittely. Esitiedot: Tietokantojen perusteet, Tietokantasovellus ja Tietorakenteet. Kurssi korvaa vanhojen tutkintovaatimusten mukaisen syventävien opintojen samannimisen kurssin. Kurssikoe ke 21.10. klo 16-19.  
 
582335 Versionhallinta (1 op)
Matti Paksula
Kurssilla tutustutaan versionhallinnan käyttöön työkaluna ja eri kurssien tukena. Esimerkkinä käydään läpi lähdekoodin hallinnan eri tilanteet, mutta myös käyttö apuvälineenä esimerkiksi tieteellisen kirjoittamisen kurssille. Tutustutaan keskitetyn ja hajautetun mallin ratkaisuihin. Kurssi suoritetaan aloitusluennolla ja pakollisilla harjoituksilla, ei tenttiä. 
 
582304 XML-metakieli (4 op)
Yonleht. Miro Lehtonen 09.09.-16.10. ke, pe 10-12 B123
XML:n perusteet. Dokumentin rakenteen mallintaminen. Nimiavaruudet. XML- dokumenttien käsittely. Muotoilu tyylien avulla. Lähistandardit. Esitiedot: HTML, Ohjelmoinnin harjoitustyö (tai hyvä ohjelmointitaito). Suositeltava kurssikirja: Bradley N.: The XML Companion (3rd ed.) Addison-Wesley, 2002. Kurssikoe ma 19.10. klo 16-19. 
 
582333 Innovaatioharjoitustyö (3 op)
Yonleht. Jaakko Kurhila, Samuli Kaipiainen, Matti Paksula 03.11.-08.12. ti 12-14 CK112
Kurssilla harjoitellaan idean kehittelyä esiteltäväksi tuotteeksi. Hyödynnetään opiskeluissa hankittuja teknisiä ja käytännöllisiä taitoja idean innovoinnissa ja prototyypittämisessä. Kurssi suoritetaan 3-4 hengen pienryhmissä. Aloitusluento ja viikoittaiset tapaamiset. Ei tenttiä, loppudemo. Oppimispäiväkirja blogina sekä työtuntikirjanpito. Esitietovaatimukset: vähintään 3 kurssia seuraavista: Digitaalisen median tekniikat, Käyttöliittymät, jokin seminaari, XML, Laskennan mallit, Ohjelmistotuotanto, Linux-ylläpito, Robottiohjelmoinnin harjoitustyö. 
 

Syventävät opinnot

 
582630 Algoritmien suunnittelu ja analyysi (4 op)
Leht. Otto Nurmi 09.09.-15.10. ke, to 14-16 B222
Algoritmien yleisiä suunnitteluperiaatteita. Kokoelma keskeisiä ongelmia ja edustavia ratkaisualgoritmeja. Keskimääräisen tapauksen analyysi. Tasoitettu vaativuus. Palautuskaavat. NP-täydellisyys. Esitietovaatimus: Tietorakenteet. Kurssi korvaa vanhojen tutkintovaatimusten mukaisen aineopintojen kurssin Algoritmien suunnittelu. Kurssikoe to 22.10. klo 16-19.  
 
582631 Introduction to Machine Learning (4 op)
Yonleht. Hannes Wettig 04.11.-11.12. ke, pe 12-14 C222
Basic concepts and methods of machine learning, in theory and in practice. Supervised learning (classification, regression) and unsupervised learning (clustering). The course serves as preparation for various courses on data analysis, machine learning and bioinformatics. Course exam Wed 16.12. at 16-19. 
 
582632 Diskreetti optimointi (4 op)
Leht. Otto Nurmi 04.11.-10.12. ke, to 14-16 B222
Lineaarinen ohjelmointi ja simplex-algoritmi. Kokonaislukuohjelmointi. Verkkoalgoritmit. Heuristiset menetelmät. Esitietovaatimus: Algoritmien suunnittelu ja analyysi. Kurssikoe to 17.12. klo 16-19. 
 
582649 Complex Networks and Data Mining (4 op)
Dino Pedreschi
Kurssi ei (periodeineen) ole vielä varmistunut. 
 
582655 Formal Type Theory (4 op)
Lauri Alanko 03.11.-10.12. ti, to 12-14 B222
The course introduces basic concepts of programming language theory: operational semantics and type systems. The approach is strictly formal, with definitions and proofs carried out with the Coq proof assistant. The course proceeds from the basics of constructive logic in Coq to the theory and metatheory of simply typed lambda calculus and beyond. A strong background in logic (formal proofs) is required. Knowledge of functional programming, lambda calculus and/or compilers is recommended. Course exam Mon 14.12. at 16-19. 
 
582650 Information-Theoretic Modeling (4 op)
Teemu Roos 08.09.-16.10. ti, pe 10-12 C222
The course introduces information-theoretic methods and their applications in modeling. The topics include Shannon's noiseless source coding theorem, data compression, and Rissanen's Minimum Description Length (MDL) principle. Course exam Tue 20.10. at 9-12. 
 
582651 Project in Information-Theoretic Modeling (2 op)
Teemu Roos 03.11.-08.12. ti 10-12 C222
The project is associated with the course Information-theoretic modeling, which is a prerequisite. 
 
582417 Hajautetut järjestelmät (4 op)
Prof. Jussi Kangasharju 03.11.-10.12. ti, to 10-12 D122
Hajautuksen problematiikka ja käsitteenmuodostus, keskeiset ratkaisuperiaatteet hajautetun päätöksenteon toteutuksissa, esimerkit käyttöjärjestelmätoiminnoista. Toisintojen ja vikasietoisuuden hallinta. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Tanenbaum A.S., van Steen M.: Distributed Systems, Principles and Paradigms, Prentice-Hall 2002. Kurssikoe ke 16.12. klo 16-19. 
 
582640 Käyttöjärjestelmät (4 op)
Aman. Tiina Niklander 08.09. ti 14-16 B222, 10.09. to 10-12 B222, 14.09.-15.10. ma 14-16, to 10-12 B222
Kurssin tavoitteena on ymmärtää käyttöjärjestelmän sovelluksille tarjoamat palvelut, käyttöjärjestelmän perusrakenne ja sen toteutusperiaatteet sekä sovelluksen että toteuttajan näkökulmasta. Osa kurssin harjoituksista toteutetaan opintopiireinä. Esitiedot: Tietokoneen toiminta, Tietoliikenteen perusteet ja Rinnakkaisohjelmointi. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Tanenbaum, A.: Modern Operating Systems (3rd ed.), Prentice Hall, 2008. Kurssikoe ke 21.10. klo 16-19. 
 
582498 Internet-protokollat (4 op)
Leht. Markku Kojo 08.09.-14.10. ti 12-14, ke 14-16 D122
Kurssilla perehdytään Internetin toiminnan kannalta keskeisten protokollien ominaisuuksiin tarkastellen erityisesti verkko- ja kuljetustason protokollien toimintaa sekä niissä käytettäviä ongelmien ratkaisuperiaatteita. Esitiedot: Tietoliikenteen perusteet. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Comer D. E.: Internetworking with TCP/IP, Vol. 1: Principles, Protocols, and Architecture (5th ed.), Prentice-Hall, 2006. Kurssikoe ma 19.10. klo 16-19. 
 
581366 Spesifioinnin ja verifioinnin perusteet (4 op)
Yonleht. Timo Karvi 02.11.-09.12. ma 12-14, ke 10-12 C222
Tavoitteena on oppia mallintamaan prosesseja siirtymäsysteemeihin perustuvilla formalismeilla ja ymmärtää sekä ekvivalensseihin että temporaalilogiikkaan perustuvan verifioinnin periaatteet. Luentomateriaalina käytetään Timo Karvin monistetta, joka on saatavissa kurssin kotisivulta pdf-muodossa. Kurssikoe ti 15.12. klo 9-12.  
 
581358 Ohjelmistoarkkitehtuurit (8 op)
Leht. Harri Laine 08.09.-15.10. ti, to 10-12 D122
Ohjelmistoarkkitehtuurin suunnittelu, kuvaaminen ja analysointi sekä suunnittelumallit, arkkitehtuurityylit, tuoteperheet, ohjelmistokehykset ja ohjelmistokomponentit. Esitiedot: Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät) ja Ohjelmistotuotanto. Kurssiin liittyy harjoitustyö (2 op), joka suoritetaan periodin II aikana. Kurssikirja: Koskimies K., Mikkonen T., Ohjelmistoarkkitehtuurit, Talentum, 2005. Erilliskokeella voi suorittaa vain luento-osuuden (6 op). (Harjoitustyön voi suorittaa myös erilliskokeen jälkeen.) Kurssikoe ti 20.10. klo 9-12. 
 
582470 Empiirinen ohjelmistotutkimus (4 op)
Prof. Juha Taina 04.11.-10.12. ke 10-12, to 12-14 D122
Empiirinen ohjelmistotutkimus -kurssilla käsitellään ohjelmistotuotannon havaittuja lainalaisuuksia ja teorioita sekä niiden selvityksessä käytettäviä menetelmiä. Kurssikirja: Endres A., Rombach D.: A Handbook of Software and Systems Engineering: Empirical Observations, Laws and Theories. Addison-Wesley, Pearson, 2003. Kurssikoe ma 14.12. klo 16-19. 
 
582656 Käytettävyyssuunnittelu (4 op)
Yonleht. Timo Jokela 04.11.-11.12. ke, pe 12-14 D122
Syventävä opintojakso käyttöliittymä- ja käytettävyyssuunnittelusta. Suunnitteluprosessi, käytettävyys- ja suunnittelumenetelmät. Esitiedot: Käyttöliittymät. Kurssille voi olla rajoitettu osanotto teknisistä syistä. Kurssikoe pe 18.12. klo 9-12.  
 
581360 Ohjelmistoprojektien johtaminen ja ryhmädynamiikka (5 op)
Yotutkija Marko Salmenkivi 08.09.-16.10. ti 10-12 B222, pe 12-14 C222
Kurssilla tarkastellaan asiantuntijaorganisaatioissa työskentelemistä ja niiden johtamista varsinkin ohjelmistoprojektien erityispiirteiden näkökulmasta. Kurssilla perehdytään aiheen kannalta keskeisiin yksilö- ja ryhmäpsykologisiin ilmiöihin. Kurssikoe to 22.10. klo 9-12. 
 
582652 Palveluperustaisten liiketoimintaprosessien suunnittelu ja toteuttaminen (4 op)
Juha Puustjärvi 08.09.-14.10. ti, ke 12-14 B222
Kurssilla tarkastellaan palveluperustaisia arkkitehtuureja liiketoimintastandardien ja menetelmien näkökulmista. Erityisesti kurssilla selvitetään palveluperustaisten arkkitehtuurien kerrosrakennetta painottuen kuhunkin kerrokseen liittyviin menetelmiin, standardeihin ja toteutustekniikkoihin. Kurssi edellyttää XML-metakielen ja tiedonhallinnan perusteiden hallintaa. Kurssikoe ke 21.10. klo 9-12. 
 
582490 Transaktioiden hallinta (4 op)
Prof. Seppo Sippu 04.11.-10.12. ke, to 14-16 C222
Looginen tietokanta ja tietokantatapahtumat eli transaktiot. Lokin ylläpito ja puskurinhallinta. Transaktioiden peruutus ja tietokannan elvytys häiriöistä. Transaktioiden eristyvyys ja samanaikaisuuden hallinta, lukitusmenetelmät. Fyysisen tietokantarakenteen eheys. Esitiedot: Tietokannan suunnittelu. Kurssikoe ke 16.12. klo 9-12.  
 
582606 Introduction to Bioinformatics (4 op)
Sirkka-Liisa Varvio 08.09.-15.10. ti, to 14-16 D122
This course gives an introduction to the central topics in bioinformatics, and gives a foundation for further courses in the Master's Degree Programme in Bioinformatics (MBI). Course book: Deonier R. C., Tavare S., Waterman M. S.: Computational Genome Analysis - An Introduction, Springer, 2005. Course exam Wed 21st of October from 16 to 19. 
 
582653 Computational Methods of Systems Biology (4 op)
Prof. Esko Ukkonen 03.11.-10.12. ti, to 10-12 B222
The course is an advanced introduction to computational methods for analysing genomic and gene expression data to find different functional units (such as genes) and regulatory structures and relations (such as gene enhancers). Course exam Thu 17th of December from 16 to 19. 
 

Seminaarit

 
58307301 Seminaari: Hajautetut algoritmit (3 op)
Jukka Suomela 10.09.-15.10. to 12-14 C220, 05.11.-10.12. to 12-14 C220
 
 
58309303 Seminaari: Malliperustainen ohjelmistotuotanto (3 op)
Ass. Toni Ruokolainen 08.09.-13.10. ti 10-12 C220, 03.11.-08.12. ti 10-12 C220
 
 
58309302 Seminar: Advanced eBusiness Transactions for B2B-Collaborations (3 op)
Prof. Lea Kutvonen, Alexander Norta 08.09.-13.10. ti 14-16 C221, 03.11.-08.12. ti 14-16 C221
 
 
58309301 Seminar: Hot Topics in IETF (3 op)
Prof. Jussi Kangasharju 10.09.-22.10. to 14-16 C220, 05.11.-10.12. to 14-16 C220
 
 
58309307 Seminaari: Ohjelmistojen testaus (3 op)
Prof. Jukka Paakki 08.09.-13.10. ti 14-16 C220, 03.11.-08.12. ti 14-16 C220
 
 
58309308 Seminaari: Suurten ohjelmisto-intensiivisten järjestelmien ketterä kehittäminen (3 op)
Prof. Pekka Abrahamsson
 
 
58309306 Seminaari: Tietokantojen suorituskykyoptimointi (3 op)
Jan Lindström 08.09.-13.10. ti 8-10 C220, 03.11.-08.12. ti 8-10 C220
 
 
58309305 Seminar: Software Business (3 op)
Nilay Oza 07.09.-12.10. ma 14-16 C220, 02.11.-07.12. ma 14-16 C220
 
 
58307312 Master's thesis seminar (MBI) (3 op)
N.N. 14.09. ma 16-17 C220, 12.10. ma 16-17 C220, 16.11. ma 16-17 C220, 14.12. ma 16-17 C220
While working on the Master's thesis, the student is expected to participate in the Master's thesis seminar on a regular basis and give two presentations, one on the research plan and the other on the (nearly) completed thesis in the seminar. The Master's thesis seminar operates throughout the year. 
 

Jatko-opinnot

 
582710 PhD Student Seminar (1 op)
Prof. Jussi Kangasharju, Prof. Hannu Toivonen 18.09. pe 12-16 B222, 13.11. pe 12-16 B222
A total of 6 credits (i.e., six semesters) from PhD Student Seminars are compulsory for a PhD degree. All 6 credits are given at the end of the PhD studies of a student. See the seminar web page for more details.