Kevätlukukausi 2006

Kieliopinnot

 
582505 Äidinkielinen viestintä (3 op, 0 ov)
N.N.
Suoritetaan tieteellisen kirjoittamisen kurssilla. Vain uuden tutkinnon suorittaville. <br> <strong>Toinen kotimainen kieli ja vieras kieli suoritetaan Kielikeskuksessa.</strong> 
 

Tieto- ja viestintätekniikan opinnot

 
581324 Tietokone työvälineenä (4 op, 2 ov)
Juhani Haavisto 16.01.-15.02. ma, ke 12-14 B123
Kurssilla opetellaan opiskelussa tarvittavien työvälineohjelmien käyttöä tietojenkäsittelytieteen laitoksen laite- ja ohjelmistoympäristöissä. Kurssi suoritetaan harjoitustyöllä ja tentillä. Osa kurssin opiskelusta on verkkotyöskentelyä. Mikroluokkaharjoittelussa tarvitaan tktl:n tai yliopiston atk-käyttäjätunnus. Katso ohje tunnuksen hakemisesta laitoksen web-sivuilta. Ei erilliskoetta. 
 
582506 Tutkimustiedonhaku (1 op, 0 ov)
N.N.
Suoritetaan tieteellisen kirjoittamisen kurssilla. 
 

Perusopinnot

 
582102 Johdatus tietojenkäsittelytieteeseen (4 op, 2 ov)
N.N.
Opintojaksolla tutustutaan tietojenkäsittelyn keskeisiin osa-alueisiin, menetelmiin ja ammattietiikkaan. Tavoitteena on antaa yleiskuva niistä tiedollisista ja taidollisista valmiuksista, jotka maisterintutkinto antaa. Opintojakso suoritetaan opintopiireissä laadittavalla oppimispäiväkirjalla. Ei erilliskoetta. Kurssimoniste: Kimmo Raatikainen: Johdatus tietojenkäsittelytieteeseen, Helsingin yliopisto, Tietojenkäsittelytieteen laitos, 2005. Ei erilliskoetta. 
 
581325 Ohjelmoinnin perusteet (5 op, 3 ov)
Tomi Pasanen 17.01.-23.02. ti 13-16, to 14-16 B123
Kurssilla perehdytään algoritmien laatimiseen ja ohjelmointiin. Ohjelmointikielenä on Java. Opiskelijalta ei edellytetä ennakkotietoja ohjelmoinnista. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla ja toteutetaan opintopiireinä. Kurssikirja: Wikla A.: Ohjelmoinnin perusteet Java-kielellä (4. painos), OtaDATA, 2003.  
 
581326 Java-ohjelmointi (4 op, 2 ov)
Tomi Pasanen 14.03.-27.04. ti, to 14-16 B123
Kurssilla perehdytään Java-ohjelmointikieleen. Painopiste on kielen perusvälineiden käytössä. Esitiedot: Ohjelmoinnin perusteet. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla ja toteutetaan opintopiireinä. Kurssikirja: Wikla A.: Ohjelmoinnin perusteet Java-kielellä (4. painos), OtaDATA, 2003. 
 
582101 Ohjelmistotekniikan menetelmät (4 op, 2 ov)
Juha Gustafsson 14.03.-27.04. ti 10-12, to 12-14 B123
Kurssilla käsitellään olioperustaisessa ohjelmistokehityksessä tarvittavia menetelmiä, kaaviotekniikoita ja työkaluja painottaen UML-mallinnuskieltä. Esitiedot: Oliokäsitteistön hallinta (Ohjelmoinnin perusteet). Kurssin harjoitukset toteutetaan opintopiireinä. Kurssikirja: Maciaszek L.A., Liong B.L., Practical Software Engineering - A Case Study Approach, Addison-Wesley, 2005. 
 
581328 Tietokantojen perusteet (pääaineopiskelijoille) (4 op, 2 ov)
Harri Laine 15.03.-26.04. ke 10-12 A111
Kurssilla opitaan perustiedot relaatiotietokannoista: mitä ne ovat ja miten niitä käytetään suoraan ja toisaalta ohjelmointikielen kautta. Kurssiin sisältyy johdatus relaatiotietokannan suunnitteluun. Kurssi on osittain verkkokurssi; luennoilla käsitellään vain kurssin vaativimpia osia. Kurssikirja: Laine H.: Tietokantojen perusteet (opetusmoniste), HY/TKTL, 2001. 
 
58160 Ohjelmoinnin harjoitustyö (pääaineopiskelijoille) (4 op, 2 ov)
Tomi Pasanen
Esitiedot: Java-ohjelmointi ja Ohjelmistotekniikan menetelmät. 
 
58160 Ohjelmoinnin harjoitustyö (pääaineopiskelijoille) (4 op, 2 ov)
Tomi Pasanen
Esitiedot: Java-ohjelmointi ja Ohjelmistotekniikan menetelmät. 
 

Aineopinnot

 
582201 Käyttöliittymät (pääaineopiskelijoille) (4 op, 2 ov)
Sari A. Laakso 14.03.-28.04. ti 12-14, pe 10-12 B123
Konkreettinen peruskurssi graafisten käyttöliittymien suunnittelusta käyttötilanteiden pohjalta. Hyvät ja huonot käyttöliittymäratkaisut opetellaan erottamaan simuloimalla tosielämän käyttötilanteita. Toisena arviointimenetelmänä tutustutaan käytettävyystestaukseen.  
 
581305 Tietokoneen toiminta (pääaineopiskelijoille) (4 op, 2 ov)
Päivi Kuuppelomäki 16.01.-22.02. ma, ke 12-14 A111
Kurssilla perehdytään tietokoneohjelman suoritukseen, tietokonelaitteiston komponentteihin sekä laitteiston ja käyttöjärjestelmän luomaan ohjelman suoritusympäristöön. Kurssikirja: Häkkinen A.: Tietokoneen toiminta (opetusmoniste D390), HY/TKTL, 1998. Erilliskokeessa kurssikirjana: Stallings W.: Computer Organization and Architecture (6th ed.), Prentice Hall, 2003.  
 
582202 Tietoliikenteen perusteet (pääaineopiskelijoille) (4 op, 2 ov)
Auvo Häkkinen 13.03.-26.04. ma 10-12, ke 12-14 A111
Kurssi tutustuttaa tietoliikenneverkkojen rakenteeseen, palveluihin ja erityisesti Internet-verkon perusprotokolliin. Kurssikirja: Kurose J. F., Ross K. W.: Computer Networking, A Top-Down Approach Featuring the Internet, Addison-Wesley, 3rd ed., 2005.  
 
58131 Tietorakenteet (8 op, 4 ov)
Matti Luukkainen 17.01.-23.02. ti, to 10-12 A111, 14.03.-27.04. ti, to 10-12 A111
Perustietorakenteet kuten pinot, jonot, puut ja verkot sekä niiden käsittelyalgoritmit. Esitiedot: Java-ohjelmointi ja Johdatus diskreettiin matematiikkaan. Kurssin harjoitukset toteutetaan opintopiireinä. Esimerkki suositeltavasta lähdemateriaalista: Cormen T.H., Leiserson C.E., Rivest R.L., Stein C.: Introduction to Algorithms, Second Edition, The MIT Press, 2001. 
 
581334 Tietokannan hallinta (4 op, 2 ov)
Jan Lindström 17.01.-23.02. ti, to 8-10 B123
Tietokannanhallintajärjestelmän toiminnot: tietojen tallennus- ja hakumenetelmät, saannin valvonta, kyselyjen optimointi ja transaktioiden hallinnan perusteet. Esitiedot: Tietokantojen perusteet ja Tietorakenteet. Kurssikirja: Ramakrishnan R, and Gehrke J.: Database Management Systems (3rd ed.), McGraw-Hill, 2002. Huom: Vanhan tutkintojärjestelmän pakollinen kurssi, joka luennoidaan kevätlukukaudella viimeisen kerran!  
 
58110 Tieteellisen kirjoittamisen kurssi (pääaineopiskelijoille) (10 op, 4 ov)
Jaakko Kurhila 16.01.-20.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. Uuden tutkinnon opiskelijat suorittavat kurssilla kandidaatintutkielman (6 op), äidinkielisen viestinnän (3 op), tutkimustiedonhaun (1 op) sekä kypsyysnäytteen.  
 
582204 Kandidaatintutkielma (6 op, 0 ov)
N.N.
Suoritetaan tieteellisen kirjoittamisen kurssilla. 
 
50036 Kypsyysnäyte (0 op, 0 ov)
N.N.
Suoritetaan tieteellisen kirjoittamisen kurssilla. 
 
581259 Ohjelmistotuotanto (pääaineopiskelijoille) (4 op, 3 ov)
Juha Taina 17.01.-23.02. ti, to 10-12 B123
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 (7th ed.), Addison-Wesley, 2004. 
 
581260 Ohjelmistotuotantoprojekti (9 op, 6 ov)
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ö. Uuden tutkinnon opiskelijat suorittavat samalla työelämään orientoinnin (1 op). 
 
58161 Tietorakenteiden harjoitustyö (4 op, 2 ov)
Otto Nurmi
Esitiedot: Tietorakenteet. 
 
58161 Tietorakenteiden harjoitustyö (4 op, 2 ov)
Otto Nurmi
Esitiedot: Tietorakenteet. 
 
582203 Tietokantasovellus (pääaineopiskelijoille) (4 op, 2 ov)
Harri Laine
Harjoitellaan käytännössä pienen www-pohjaisen tietojärjestelmän määrittelyä, suunnittelua ja toteutusta. Esitiedot: Tietokantojen perusteet ja Ohjelmistotekniikan menetelmät. 
 
582203 Tietokantasovellus (pääaineopiskelijoille) (4 op, 2 ov)
Harri Laine
Harjoitellaan käytännössä pienen www-pohjaisen tietojärjestelmän määrittelyä, suunnittelua ja toteutusta. Esitiedot: Tietokantojen perusteet ja Ohjelmistotekniikan menetelmät. 
 

Aineopinnot /valinnaiset opintojaksot

 
58127 C-ohjelmointi (4 op, 2 ov)
Liisa Marttinen 17.01.-21.02. ti 16-18 CK112, 14.03.-25.04. ti 16-18 CK112
Kurssilla opitaan ohjelmoimaan ANSI-standardin mukaisella C-kielellä. Kurssi pidetään verkkokurssina, rajoitettu osanotto. Suositeltava kurssikirja: Kernighan B.W. & Ritchie D.M.: The C Programming Language, 2nd ed., Prentice Hall 1988. (ANSI C edition). Ei erilliskoetta. 
 
582309 Ohjelmointitekniikka (Java) (5 op, 3 ov)
Arto Wikla 16.01. ma 16-18 CK112, 20.01.-24.02. pe 12-14 CK112
Kurssilla perehdytään Java-kielen voimakkaisiin välineisiin: poikkeuksiin, graafisen käyttöliittymän toteutustekniikoihin, tapahtumaohjattuun ohjelmointiin, tietorakenneabstraktioihin ja rinnakkaisuuden ohjelmointiin. Esitiedot: Java-ohjelmointi, Tietorakenteet, Rinnakkaisohjelmointi. Kurssin harjoitukset toteutetaan opintopiireinä. Ei erilliskoetta.  
 
582317 Linux-ylläpito (6 op, 4 ov)
Jukka Manner 19.01.-23.02. to 16-20 CK112, 16.03.-27.04. to 16-20 CK112
Kurssilla perehdytään Linux-pohjaisten työasemien ja palvelimien hallintaan. Aihepiirejä ovat käyttöjärjestelmän asentaminen ja konfigurointi sekä erilaisten palvelimien pystytys ja hallinta. Esitiedot: Tietokoneen toiminta, Käyttöjärjestelmät I, Tietokantojen perusteet, Tietokantasovellus ja Tietoliikenteen perusteet. Kurssiin liittyy harjoitustöitä. Ei erilliskoetta. 
 
582303 Verkkosovellusten toteuttaminen (7 op, 4 ov)
Markku Kojo 17.01.-02.03. ti, to 12-14 B119, 14.03.-30.03. ti, to 12-14 B119
TCP/IP-pohjaisia tietoliikenneyhteyksiä käyttävien sovellusten suunnittelu ja toteuttaminen sekä sovelluskehitystyö Unix-ympäristössä. Esitiedot: C-ohjelmointi, Rinnakkaisohjelmointi, Käyttöjärjestelmät I, Tietoliikenne I ja Tietorakenteiden harjoitustyö. Kurssiin kuuluu harjoitustyö. Ennakkoilmoittautuminen marraskuussa 2005. Suositeltava kurssikirja: Stevens W. R., Fenner B., Rudolf A.M.: UNIX Network Programming, Volume 1 (3rd ed.), Addison-Wesley, 2004. Ei erilliskoetta. 
 
582323 Paikkatiedon käsittely (5 op, 3 ov)
Antti Leino 13.03.-27.04. ma 10-12, to 12-14 D122
Paikkatiedon käsittely relaatiotietokannassa, sen edellyttämät relaatiomallin ja SQL-kyselykielen laajennokset sekä niiden toteutus. Eksploratiivisen data-analyysin kysymykset, kuten paikkatiedon klusterointi ja spatiaalisten assosiaatioiden etsintä. Esitiedot: Tietokantojen perusteet ja Tietorakenteet sekä joko kurssin Johdatus todennäköisyyslaskentaan tai Tilastotieteen johdantokurssi sisältö. 
 
582304 XML-metakieli (4 op, 2 ov)
Oskari Heinonen 13.03.-26.04. ma 12-14 B123, 15.03.-22.03. ke 12-14 B123
XML:n perusteet. DTD ja dokumentin rakenteen mallintaminen. Nimiavaruudet. XML:n prosessointi DOMin ja SAXin avulla. HTML:n generointi XSLT:llä. XSL FO ja dokumenttien muotoilu XSLT:n avulla. Lähistandardit. Esitiedot: Digitaalisen median tekniikat (tai HTML+CSS), Ohjelmoinnin harjoitustyö (tai hyvä ohjelmointitaito), Tietorakenteet. Suositeltava kurssikirja: Neil Bradley: The XML Companion (3rd ed.) Addison-Wesley, 2002. Ei erilliskoetta. 
 

Syventävät opinnot

 
58053 Algoritmien suunnittelu ja analyysi (10 op, 5 ov)
Otto Nurmi 17.01.-24.02. ti 14-16, to 12-15 C222, 14.03.-27.04. ti 14-16, to 12-15 C222
Algoritmien yleisiä suunnittelu- ja analyysiperiaatteita. Kokoelma keskeisiä ongelmia ja edustavia ratkaisualgoritmeja. Huom: Kurssi luennoidaan viimeisen kerran!  
 
581336 Laskennan teoria (6 op, 3 ov)
Jyrki Kivinen 18.01.-24.02. ke 16-18, pe 12-13 B123, 15.03.-21.04. ke 16-18, pe 12-13 B123
Turingin kone, laskennallisten ongelmien ratkeavuus sekä laskennan vaativuusteoria. Esitiedot: Ohjelmoinnin ja laskennan perusmallit, Tietorakenteet sekä matematiikan opintoja. Suositeltava kurssikirja: Hopcroft J. E., Motwani R., Ullman J. D., Introduction to Automata Theory, Languages, and Computation (2nd ed.), Addison-Wesley, 2001. Huom: Kurssi luennoidaan viimeisen kerran! 
 
582484 Algorithm Libraries (4 op, 2 ov)
Juha Kärkkäinen 17.01.-23.02. ti, to 16-18 D122
Learning to use algorithm libraries such as STL, LEDA and CGAL. The course includes a programming project. C++-programming skills and some knowledge on algorithms and data structures are required. No separate exam. 
 
582485 Algorithm Library Design (4 op, 2 ov)
Juha Kärkkäinen 14.03.-27.04. ti, to 16-18 D122
Learning to design and implement algorithm libraries. Design methodologies and advanced C++-programming techniques. The course includes a project, where a small scale library is designed and implemented. Requires the course Algorithm Libraries. No separate exam. 
 
582486 Convex Optimization (8 op, 4 ov)
Juho Rousu 16.01.-21.02. ma, ti 14-16 D122, 13.03.-25.04. ma, ti 14-16 D122
Convex optimization problems arising in, e.g., data analysis and machine learning, and efficient algorithms for solving them are studied. Convex duality theory, interior point algorithms and gradient based approaches are among techniques covered in the course. Kurssikirja: Stephen Boyd, Lieven Vandenberghe: Convex Optimization, Cambridge University Press, 2004. 
 
582487 Data Compression Techniques (4 op, 2 ov)
Veli Mäkinen 14.03.-27.04. ti, to 10-12 D122
Course covers the standard techniques in data compression, including Huffman coding, Arithmetic coding, Lempel-Ziv parsing, PPM, Burrows-Wheeler transform, integer codes, etc. Emphasis is on efficient text compression/uncompression algorithms. Also some insights into modern specialization areas are given. 
 
582412 Kuvankäsittely (6 op, 3 ov)
Jarmo Hurri 17.01.-23.02. ti, to 12-14 B222
Kurssin aiheena ovat digitaalisen kuvankäsittelyn matemaattiset menetelmät. Kurssilla keskitytään menetelmiin, jotka soveltuvat yleisesti jatkuva-arvoisen datankäsittelyyn. Kurssiin liittyy harjoitustyö. 
 
582488 Models and Algorithms for Complex Networks (6 - 8 op, 3 - 4 ov)
Panayiotis Tsaparas 16.01.-22.02. ma, ke 14-16 B119, 13.03.-22.03. ma, ke 14-16 B119
The course covers recent research on models and algorithms for complex networks such as WWW. Topics include methods for link analysis, search algorithms, probabilistic models for networks, and connections with social networks. Good mathematical background is required on probability, graph theory, linear algebra and algorithm analysis. 
 
582492 Symbolisesti koodatun musiikin hakumenetelmät (4 op, 2 ov)
Kjell Lemström 17.01.-23.02. ti, to 10-12 D122
Laajojen digitaalisten musiikkitietokantojen sisältöä tulisi voida hakea metatietojen (kuten kappaleen nimi tai sen esittäjä) sijaan käyttäen musiikkiesimerkkejä. Kurssilla tutustutaan mm. erilaisiin musiikin symbolimuotoisiin mallinnoksiin, musiikillisesti mielekkäisiin etäisyysmittoihin ja tehokkaisiin hakualgoritmeihin. 
 
582417 Hajautetut järjestelmät (6 op, 3 ov)
Timo Alanko 20.01.-24.02. pe 9-12 C222, 17.03.-28.04. pe 9-12 C222
Hajautuksen problematiikka ja käsitteenmuodostus, keskeiset ratkaisuperiaatteet hajautetun päätöksenteon toteutuksissa, esimerkit käyttöjärjestelmätoiminnoista. Kurssikirja: Tanenbaum A.S., van Steen M.: Distributed Systems, Principles and Paradigms, Prentice-Hall 2002.  
 
582405 Käyttöjärjestelmät II (4 op, 2 ov)
Teemu Kerola 13.03.-26.04. ma, ke 12-14 B222
Kurssin tavoitteena on ymmärtää käyttöjärjestelmän perusrakenne ja sen toteutusperiaatteet. Kurssilla tarkastellaan asioita käyttöjärjestelmän toteuttajan näkökulmasta. Esitiedot: Käyttöjärjestelmät I ja Rinnakkaisohjelmointi. Kurssikirja: Stallings W.: Operating Systems, 4th ed. Prentice Hall, 2001.  
 
581366 Spesifioinnin ja verifioinnin perusteet (4 op, 2 ov)
Matti Luukkainen 16.01.-22.02. ma, ke 10-12 D122
Tavoitteena on oppia mallintamaan prosesseja siirtymäsysteemeihin perustuvilla formalismeilla yksinkertaisissa tapauksissa, ymmärtää ilman logiikkaa tapahtuvan automaattisen verifioinnin periaatteet ja osata itse verifioida yksinkertaisia protokollia joidenkin ohjelmistojen avulla.  
 
582420 Väliohjelmistot (4 op, 2 ov)
Lea Kutvonen 14.03.-28.04. ti, pe 10-12 B222
Väliohjelmistot sijoittuvat käyttöjärjestelmä- ja tietoliikennepalveluiden päälle, avustamaan sovelluksia palveluiden paikantamisessa, aktivoinnissa ja kommunikoinnissa. Modernit väliohjelmistot suuntautuvat komponenttiperustaisten ohjelmistojen tukemiseen. Kurssilla tutustutaan joihinkin väliohjelmiston tavoitteisiin, ongelmiin ja ratkaisuihin esim. CORBA- ja/tai Java-teknologiaan pohjautuvissa väliohjelmistoissa. 
 
582495 Component-Based Development (8 op, 4 ov)
Michael Przybilski 19.01.-02.03. to 14-16 C221, 16.03.-27.04. to 14-16 C221
The lecture will cover the motivation and evolution towards component-based software development. The focus is then on the theory of software components, their design and development. Widely used component models are presented, and the theory and principles will be applied using for example CORBA and the Web Service technologies. Prerequisites: Programming in Java or C++, and basic knowledge of distributed systems. Obligatory project work. No separate exam. 
 
582452 Mobiilijärjestelmien ohjelmointi (6 op, 3 ov)
Jaakko Kangasharju, Sasu Tarkoma 17.01.-21.02. ti 14-16 CK112, 14.03.-25.04. ti 14-16 CK112
Kurssin tavoitteena on opettaa osallistujille mobiilijärjestelmien ohjelmoinnin perusajatukset sekä problematiikka yleisellä tasolla. Kurssi toteutetaan valtakunnallisen virtuaaliyliopistohankkeen (OSCu) osana. Ei erilliskoetta.  
 
582425 Tosiaikajärjestelmät (4 op, 2 ov)
Tiina Niklander 13.03.-26.04. ma 14-16 C222, ke 14-16 D122
Kurssilla käsitellään tosiaikajärjestelmien toiminnan kannalta keskeisiä perusominaisuuksia kuten tapahtumien ajoitusta ja kommunikointia. Lisäksi tutustutaan tosiaikaisiin käyttöjärjestelmiin ja tietokantoihin. Huom: Kurssin harjoitukset alkavat jo ensimmäisellä luentoviikolla. Kurssikirja: Jane W. S. Liu: Real-time systems. Prentice Hall, 2000.  
 
582489 Verkkojen tietoturva (4 op, 2 ov)
Timo Karvi 20.01.-24.02. pe 12-14 D122, 17.03.-28.04. pe 12-14 D122
Langattomien verkkojen, kuten WLAN, UMTS, satelliittijärjestelmät, GPRS, BLUETOOTH, tietoturvaongelmat ja niiden ratkaisut. Uudet verkkojen turvaprotokollat, kuten DNSSEC, PANA, EAP. Mahdollisesti myös avaintenhallintaa.  
 
581358 Ohjelmistoarkkitehtuurit (8 op, 3 - 4 ov)
Jukka Viljamaa 17.01.-23.02. ti, to 12-14 D122
Ohjelmistoarkkitehtuurin suunnittelu, kuvaaminen ja analysointi sekä suunnittelumallit, arkkitehtuurityylit, tuoteperheet, ohjelmistokehykset ja ohjelmistokomponentit. Esitiedot: Ohjelmistotuotanto. Kurssiin liittyy harjoitustyö (1 ov), joka suoritetaan kurssin aikana. Kurssikirja: Koskimies K., Mikkonen T., Ohjelmistoarkkitehtuurit, Gummerus, 2005. Erilliskokeella voi suorittaa vain luento-osuuden (3 ov). 
 
582429 Laudatur-projektityö (6 op, 4 ov)
Juha Taina
Projektissa ratkaistaan pienryhmissä jokin vastuuhenkilön asettama ohjelmistotekniikan ongelma. Projektin aikana ryhmäläiset mittaavat omaa panostaan, ryhmän toimintaa ja kehitettävää tuotetta. Esitiedot: Ohjelmistotuotantoprojekti. Kurssi Ohjelmistoprosessit ja ohjelmistojen laatu on suositeltava. 
 
582460 Ohjelmistojen vaatimusmäärittely (5 op, 3 ov)
Inkeri Verkamo 18.01.-24.02. ke 16-18, pe 8-10 D122
Kurssilla käsitellään ohjelmistojen vaatimusten määrittelyn vaiheita ja niissä käytettäviä menetelmiä. Esitiedot: Ohjelmistotuotanto.  
 
58144 Ohjelmointikielten kääntäjät (9 op, 6 ov)
Juha Vihavainen 18.01.-24.02. ke 14-16, pe 12-14 B222, 15.03.-07.04. ke 14-16, pe 12-14 B222
Kääntäjän rakenneosat: selaus, jäsennys, semanttinen analyysi ja koodinluonti; kääntäjätyökalujen käyttö. Kurssin kuuluu harjoitustöinä kääntäjien toteutusta. Esimerkki suositeltavasta lähdemateriaalista: M.L.Scott: Programming Language Pragmatics. Morgan Kaufmann, USA, 2000. Ei erilliskoetta. 
 
582491 Hajautetut tietokannat (4 op, 2 ov)
Seppo Sippu 14.03.-27.04. ti, to 14-16 B222
Hajautetut tietokanta-arkkitehtuurit. Tiedon osittaminen. Rinnakkaistietokannat, tietokantaoperaatioiden rinnakkaislaskenta. Yhteislevy- ja sivupalvelinjärjestelmät. Hajautetun tietokannan transaktioiden hallinta ja kyselynkäsittely. Toisinnetut tietokannat, etävarmistusjärjestelmät. Esitiedot: Transaktioiden hallinta.  
 
581257 Information Retrieval Methods (6 op, 3 ov)
Greger Linden 16.01.-21.02. ma, ti 10-12 B222
Basic concepts of information retrieval. Storing and retrieval processes. Retrieval models. Matching methods. Processing of natural language text for retrieval. Query strategies and user interfaces. Obligatory project work. No separate exam. 
 
582410 Laajojen dokumenttiaineistojen käsittely (4 op, 2 ov)
Prof. Helena Ahonen-Myka 14.03.-27.04. ti 12-14, to 10-12 B222
Probabilistiset tiedonhakumenetelmät. Automaattinen dokumenttien aiheluokittelu. Lyhennelmien tuottaminen. Tiedon eristäminen tekstistä. Kysymysvastausjärjestelmät. Esitiedot: Tiedonhakumenetelmät. 
 
582490 Transaktioiden hallinta (4 op, 2 ov)
Seppo Sippu 17.01.-23.02. ti, to 14-16 B222
Looginen tietokanta ja tietokantatapahtumat eli transaktiot. Lokin ylläpito ja puskurinhallinta. Transaktioiden peruutus ja tietokannan elvytys häiriöistä. Transaktioiden eristyneisyys ja samanaikaisuuden hallinta, lukitusmenetelmät. Fyysisen tietokantarakenteen elvytys ja samanaikaisuuden hallinta.  
 
581339 Kolme käsitettä: päätöksenteko (6 op, 3 ov)
Raul Hakli 16.03.-27.04. to 16-19 B222
Kurssilla käsitellään etsintää moniulotteisissa etsintäavaruuksissa. Tällainen kustannusfunktioihin perustuva etsintä on tyypillistä evoluutiolaskennassa, koneoppimisessa ja matemaattisessa tilastotieteessä. Kurssilla on laskuharjoitusten sijasta ohjelmointiprojekteja. Ei erilliskoetta. 
 
581287 Kolme käsitettä: todennäköisyys (6 op, 3 ov)
Petri Myllymäki 19.01.-23.02. to 16-19 B222
Johdatus todennäköisyyslaskennan teoriaan ja sovellusmenetelmiin tietojenkäsittelytieteen näkökulmasta. Kurssin suoritukseen liittyy perehtyminen B-Course -työkalun (http://b-course.hiit.fi) käyttöön ja oheismateriaaliin sekä ohjelmointitaitoa edellyttäviä projektitöitä ja kirjallisia harjoitustöitä. Ei erilliskoetta. 
 
582469 Computational Systems Biology (6 op, 3 ov)
Liisa Holm, Juho Rousu 15.02.-23.02. ke 12-14, to 14-16 D122, 15.03.-27.04. ke 12-14, to 14-16 D122
The course discusses functioning of cells from the systems perspective: metabolic networks and gene regulation. Guest lecturers introduce the biological background, after which analysis and modeling methods are discussed. The course is organized as collaboration of the departments of computer science and biosciences.  
 
582450 Modeling of Vision (5 op, 3 ov)
Aapo Hyvärinen 02.02.-23.02. to 14-16 B119, 16.03. to 14-16 B119
The topics are mechanisms and models of human vision. The emphasis is on modelling of visual feature extraction, and modelling of object and scene recognition. The course is most suitable to students specializing in bioinformatics or intelligent systems. The course is given in cooperation with HUT (TKK) where more lectures will be given, see course home page for more information. 
 
58037 Tietokoneavusteiset oppimisympäristöt (8 op, 4 ov)
Jaakko Kurhila 19.01. to 10-12 B222
Verkko-opiskelun suunnittelu, toteutus ja evaluointi. Verkkopedagogiikka, ryhmätyöohjelmistot ja verkko-opiskelualustat. Adaptiivisuuden toteutuminen verkko-oppimisympäristöissä. Esimerkkejä käytössä ja kehitteillä olevista verkko-oppimisympäristöistä. Kurssi toteutetaan verkkokurssina. Ei erilliskoetta. Ensimmäinen tapaaminen to 19.1. klo 10-12 on pakollinen kaikille osallistujille.  
 

Seminaarit

 
58301104 Tietojenkäsittelytieteen historia (3 op, 2 ov)
Teemu Kerola 17.01.-21.02. ti 12-14 C222, 14.03.-25.04. ti 12-14 C222
 
 
58306101 Verkko-ongelmat (3 op, 2 ov)
Otto Nurmi 16.01.-20.02. ma 12-14 C222, 13.03.-24.04. ma 12-14 C222
 
 
58306105 Ad Hoc Networks (3 op, 2 ov)
Jukka Manner 18.01.-22.02. ke 16-18 C222, 15.03.-26.04. ke 16-18 C222
 
 
58306104 Käyttöjärjestelmien uudet haasteet (3 op, 2 ov)
Kimmo Raatikainen 16.01.-20.02. ma 16-18 C222, 13.03.-24.04. ma 16-18 C222
 
 
58305307 NODES Research Seminar 2005/2006 (3 op, 2 ov)
Kimmo Raatikainen 20.01.-24.02. pe 14-16 D122, 17.03.-28.04. pe 14-16 D122
The seminar is held both in autumn 2005 and in spring 2006. It will meet every other Friday. 
 
58306106 Research Seminar on Interoperability (3 op, 2 ov)
Lea Kutvonen 17.01.-21.02. ti 14-16 B119, 14.03.-25.04. ti 14-16 B119
 
 
58306103 Käyttöliittymien arviointimenetelmät (3 op, 2 ov)
Sari A. Laakso 18.01.-22.02. ke 10-12 C222, 15.03.-26.04. ke 10-12 C222
 
 
58306102 Ohjelmistojen laadunhallinta (3 op, 2 ov)
Raine Kauppinen 19.01.-23.02. to 16-18 C222, 16.03.-27.04. to 16-18 C222
 
 
58305306 Ohjelmistotekniikan linjan pro gradu -seminaari (3 op, 2 ov)
Jukka Paakki 18.01.-22.02. ke 14-16 C222, 15.03.-26.04. ke 14-16 C222
 
 
58302306 Klusterointimenetelmät (3 op, 2 ov)
Saara Hyvönen
 
 
58306108 Digitaalinen viestintä (3 op, 2 ov)
Juha Puustjärvi 16.01. ma 8-12 C222, 13.02. ma 8-12 C222, 13.03.-24.04. ma 8-12 C222
 
 
58306107 Seminar on Temporal and Spatial Data Analysis (3 op, 2 ov)
Marko Salmenkivi 17.01.-21.02. ti 10-12 C222, 14.03.-25.04. ti 10-12 C222
 
 
58306109 Seminar on Biological Sequence Analysis and Comparative Genomics (3 op, 2 ov)
Esko Ukkonen 19.01.-23.02. to 10-12 C222, 16.03.-27.04. to 10-12 C222