Kevätlukukausi 2011

Muut opinnot

 
582516 Software Factory Work Experience (5 - 7 op)
Pekka Abrahamsson
 
 
582516 Software Factory Work Experience (5 - 7 op)
Pekka Abrahamsson
 
 

Perusopinnot

 
582102 Johdatus tietojenkäsittelytieteeseen (itseopiskelu) (4 op)
Heikki Lokki
Kurssin yhteydessä suoritetaan myös muiden opintojen pakollinen opintojakso 582513 Opiskelutekniikka (2 op). 
 
581328 Tietokantojen perusteet (4 op)
Harri Laine 16.03.-29.04. ke 10-12 A111, pe 10-12 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 III) (4 op)
N.N.
Esitiedot: Ohjelmoinnin jatkokurssi (Java-ohjelmointi) ja Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät). 
 
58160 Ohjelmoinnin harjoitustyö (periodi IV) (4 op)
N.N.
Esitiedot: Ohjelmoinnin jatkokurssi (Java-ohjelmointi) ja Ohjelmistojen mallintaminen (Ohjelmistotekniikan menetelmät). 
 

Aineopinnot (pakolliset opintojaksot)

 
582204 Kandidaatintutkielma (10 op)
N.N. 17.01.-21.02. 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. 
 
58131 Tietorakenteet (8 op)
Matti Luukkainen 18.01.-24.02. ti, to 10-12 A111, 15.03.-28.04. ti, to 10-12 A111
Perustietorakenteet kuten pinot, jonot, puut ja verkot sekä niiden käsittelyalgoritmit. Esitiedot: Kurssien Ohjelmoinnin jatkokurssi (Java-ohjelmointi) ja Johdatus diskreettiin matematiikkaan suoritukset (tai esitietokoe). Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikokeet ma 1.3. klo 16-19 ja to 6.5. klo 9-12. 
 
581305 Tietokoneen toiminta (4 op)
Tiina Niklander
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. 
 
582215 Tietoturvan perusteet (4 op)
Timo Karvi 15.03.-27.04. ti, ke 12-14 B123
Kurssilla annetaan yleiskuva tietoturvasta, perehdytään kryptografian peruskäsitteisiin ja käsitellään ohjelmien, tiedon ja tietokoneverkkojen turvallisuutta. Lisäksi tutustutaan riskianalyysiin. Kurssikoe ti 4.5. klo 9-12. 
 
581259 Ohjelmistotuotanto (4 op)
Jukka Paakki 16.03.-29.04. ke, pe 10-12 CK112
Ohjelmistotuotanto-kurssilla opetetaan ohjelmistotuotantoprojektien hallinnan ja työvaiheiden perusteet. Tarkoitettu suoritettavaksi 2. opiskeluvuoden lopulla, kun vähintään 40 opintopistettä pakollisia opintoja on suoritettuna. Kurssikirja: Ian Sommerville, Software Engineering (8th ed.), Addison-Wesley, 2007. Kurssikoe pe 5.3. klo 9-12. 
 
581332 Rinnakkaisohjelmointi (6 op)
Teemu Kerola
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 (9 op)
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 III) (4 op)
Otto Nurmi
Esitiedot: Tietorakenteet. 
 
58161 Tietorakenteiden harjoitustyö (periodi IV) (4 op)
Otto Nurmi
Esitiedot: Tietorakenteet. 
 
582203 Tietokantasovellus (periodi III) (4 op)
Harri Laine 17.01. ma 16-18 B222
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 IV) (4 op)
Harri Laine 14.03. ma 16-18 B222
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)

 
582303 Verkkosovellusten toteuttaminen (7 op)
Markku Kojo
Kurssilla opitaan käytännöllisiä valmiuksia TCP/IP-pohjaisia tietoliikenneyhteyksiä käyttävien sovellusten suunnitteluun ja toteuttamiseen sekä sovelluskehitystyöhön Unix-ympäristössä. Esitiedot: C-ohjelmointi, Tietoliikenteen perusteet, Rinnakkaisohjelmointi, Tietorakenteiden harjoitustyö tai vastaavat tiedot. Kurssiin kuuluu harjoitustyö. Luennot pääosin periodilla III; harjoitukset ja harjoitustyö jatkuvat periodille IV. Suositeltava kurssikirja: Stevens W. R., Fenner B., Rudolf A.M.: UNIX Network Programming, Volume 1 (3rd ed.), Addison-Wesley, 2004. Erilliskokeeseen voivat osallistua vain ne, jotka ovat suorittaneet kurssiin kuuluvan harjoitustyön ennen koetta. Kurssikoe ?? ??.??. klo ??-??. 
 
582304 XML-metakieli (4 op)
Harri Laine
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. 
 

Syventävät opinnot

 
582634 Data Mining (4 op)
Hannu Toivonen 14.03.-28.04. ma, to 9-12 B222
Tiedon louhinnassa tutkitaan usein suuria aineistoja, joista pyritään löytämään uutta, mielenkiintoista ja hyödyllistä tietoa. Kurssi antaa yleiskuvan tiedonlouhintaprosessin eri vaiheista, tyypillisistä tiedonlouhintatehtävistä ja niissä käytetyistä menetelmistä. Kurssin painopiste on toistuvien hahmojen etsinnässä ja satunnaistamismenetelmissä. The course uses a problem-based approach where students learn (individually or in small groups) by actively acquiring knowledge and skills to solve data mining challenges identified during the course. Esitiedot: Tietorakenteet (tai vastaavat tiedot) sekä ohjelmointitaito. Erilliskokeessa kurssin voi suorittaa myös kirjatenttinä tenttimällä teoksen Tan P., Steinbach M. & Kumar V.: Introduction to Data Mining. Pearson, 2006. Kurssikoe ti 4.5. klo 9-12. 
 
582636 Probabilistic Models (4 op)
Huizhen Yu 18.01.-24.02. ti, to 16-18 B222
This course provides an introduction to probabilistic modeling with emphasis on graphical models and their applications in artificial intelligence, machine learning, and data mining. Topics include (i) a variety of models, such as Markov models, Markov random fields and Bayesian networks, and (ii) basic theories and algorithms for graphical models, such as conditional independence and Markov properties, efficient inference algorithms, and their connection with graph theory. 
 
582668 Project in String Processing Algorithms (2 op)
Juha Kärkkäinen
Implementation and experimental comparison of string processing algorithms. 
 
582669 Supervised Machine Learning (4 op)
Jyrki Kivinen
We study classification from the point of view of so-called statistical learning theory. The emphasis is on provable bounds on prediction error based on finite-sample performance. On the algorithmic side we consider the Support Vector Machine. 
 
582638 Unsupervised Machine Learning (4 - 7 op)
Aapo Hyvärinen 15.03.-29.04. ti, to, pe 14-16 C222
Unsupervised learning is one of the main streams of machine learning, and closely related to multivariate statistics and data mining. This course describes some of the main methods in unsupervised learning. In recent years, machine learning has become heavily dependent on statistical theory which is why this course is somewhere on the borderline between statistics and computer science. Emphasis is put both on the statistical/probabilistic formulation of the methods as well as on their computational implementation. One of the three weekly sessions is an exercise session (details will be announced on the home page). Prerequisites: Basic courses in analysis (including Vector Analysis), Linear Algebra I&II, Introduction to Probability and Introduction to Statistical Inference; additional courses in statistics or machine learning would also be useful. Course exam Fri 7th of May from 9 to 12. 
 
582635 Data Mining Project (2 op)
Hannu Toivonen
Kurssilla sovelletaan tiedon louhinnan menetelmiä käytäntöön. Opiskelija voi suorittaa opintojakson kahdella tavalla: joko 1) toteuttamalla tehtävänä annetun louhinta-algoritmin ja analysoimalla sillä annettua aineistoa; tai 2) louhimalla tietoa annetusta aineistosta laajemmalla menetelmien kirjolla käyttäen esim. jotakin soveltuvaa valmisohjelmistoa. Kummassakin vaihtoehdossa opiskelija kirjoittaa työskentelynsä tuloksista tutkimusraportin. Esitiedot: Tiedon louhinta. 
 
582633 Diskreetin optimoinnin harjoitustyö (2 op)
N.N.
Optimointialgoritmin toteuttaminen ja optimointiohjelmiston käyttäminen. Esitiedot: Diskreetti optimointi. 
 
582637 Project in Probabilistic Models (2 op)
Petri Myllymäki
Harjoitustöissä toteutetaan ja testataan todennäköisyysmallinnuksen menetelmiä, ja tulokset raportoidaan kirjoittamalla tutkielma ja pitämällä posteriesitelmä. Esitiedot: Todennäköisyysmallit.  
 
582667 Business Process Automation (4 op)
Alexander Norta
 
 
582641 Collaboration of Autonomous Business Services (4 op)
Lea Kutvonen 15.03.-29.04. ti, pe 12-14 D122
The current trend of globalization of business and increased demand for electronic business networks sets high demands for the computing platforms and business applications used in enterprises. The platforms are expected to provide support for business network establishment, participation into multiple networks simultaneously, and adaptation to heterogeneous technologies. During the course, the participants will actively gather information about the collaboration challenges and problems in an open networked environment. As potential solutions, modern middleware, business process management, and virtual organisation architectures are studied. Course exam Fri 7th of May from 9 to 12. 
 
582665 Distributed Systems Project (4 op)
Jussi Kangasharju
 
 
582666 Interactive Systems (4 op)
Giulio Jacucci
 
 
582646 Mobile Middleware (3 op)
Sasu Tarkoma 15.03.-26.04. ti 16-18 D122
Mobile computing has become truly one of the breakthrough technologies of today with over three billion mobile phones in use. As the computing power and capabilities of the devices are rapidly improving, software has become a crucial issue in the mobile marketplace. Indeed, the current trend is towards converged communication where Web resources integrate seamlessly with mobile systems. This course provides a comprehensive overview of mobile middleware technology. The focus is on understanding the key design and architectural patterns, middleware layering, data presentation, specific technological solutions, and standardization. Course exam Thu 6th of May from 9 to 12. 
 
581359 Ohjelmistoprosessit ja ohjelmistojen laatu (4 op)
Juha Taina 15.03.-28.04. ti, to 10-12 CK112
Kurssilla käsitellään ohjelmiston laadun komponentteja ja niiden mittaamista sekä eräitä keskeisiä ohjelmistoprosessimalleja. Kurssikirja: Craig Larman, Agile & Iterative Development: A Manager's Guide. Pearson Education, 2004. Kurssikoe ti 4.5. klo 16-19. 
 
582662 Game Engine Architecture (6 op)
Juha Vihavainen
 
 
582663 Ohjelmistoarkkitehtuurien harjoitustyö (3 op)
Harri Laine
 
 
582648 Ohjelmointikielten kääntäjien harjoitustyö (2 - 4 op)
Juha Vihavainen
 
 
581362 Ohjelmointikielten periaatteet (4 op)
Arto Wikla
Ohjelmointikielten käsitteet ja rakenteet, kielten kehitys ja toteutus, ohjelmointiparadigmat. Kurssikirja: Scott M.: Programming Language Pragmatics (2nd ed.), Morgan Kaufmann, 2006. Kurssikoe ?? ??.??. klo ??-??. 
 
582659 Software Factory Project (7 op)
Pekka Abrahamsson
 
 
582659 Software Factory Project (7 op)
Pekka Abrahamsson
 
 
581361 Software Testing (4 op)
Michel Jaring 18.01.-24.02. ti 14-16, to 12-14 C222
Kurssilla perehdytään ohjelmistojen testauksen yleisiin periaatteisiin, menetelmiin ja prosesseihin. Esitiedot: Ohjelmistotuotanto ja Ohjelmistotuotantoprojekti. Kurssikirja: Pezzé M. & Young M., Software testing and analysis: process, principles, and techniques. Wiley, 2007. Kurssikoe ?? ??.??. klo ??-??. 
 
582403 Tietovarastot (4 op)
Otto Nurmi 19.01.-24.02. ke, to 14-16 B222
Tietovaraston (data warehouse) mallinnus. Tietovaraston hakemistorakenteet. Tosiaikainen tiedonjalostus (OLAP). Materiaalistettujen näkymien valinta ja ylläpito. Materiaalistettuja näkymiä hyödyntävä kyselynkäsittely. Tietovaraston lataus. Esitiedot: Tietokannan suunnittelu. Kurssikoe ?? ??.??. klo ??-??. 
 
582483 Biological Sequence Analysis (4 op)
Veli Mäkinen
The course covers the basic probabilistic methods for modelling and analysis of biological sequences. Prerequisities: Elements of Bioinformatics. Course book: Durbin R., Eddy S., Krogh A. and Mitchinson G.: Biological sequence analysis, Cambridge University Press, 1998. 
 
582653 Computational Methods of Systems Biology (4 op)
N.N.
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). 
 

Seminaarit

 
58311108 Seminar: Ethics of Computing (3 op)
Tomi Pasanen
 
 
58311101 Seminar: Neuroinformatics 3 (3 op)
Aapo Hyvärinen 19.01.-23.02. ke 14-16 C220, 16.03.-27.04. ke 14-16 C220
 
 
58309104 Seminar on Intelligent Systems (3 op)
Petri Myllymäki
 
 
58305101 Tietokonegrafiikan seminaari (3 op)
Otto Nurmi
 
 
58311102 Seminaari: Tietoturvan testaus (3 op)
Timo Karvi
 
 
58311103 Seminar: Hot Topics in Mobile Computing (3 op)
Sasu Tarkoma
 
 
58311104 Seminar: Measuring the Internet (3 op)
Jussi Kangasharju
 
 
58311106 Seminaari: Ohjelmistojärjestelmät (aihe toistaiseksi auki) (3 op)
Pirjo Moen
 
 
58311105 Seminaari: Ontologiat ja WWW (3 op)
Juha Puustjärvi
 
 
58311107 Seminar: Bioinformatics (tba) (3 op)
Esko Ukkonen