Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

Ohjelmistotekniikan erikoistumislinja

Ohjelmistotekniikan erikoistumislinja sulautui 1.8.2008 alkaen osaksi Ohjelmistojärjestelmien erikoistumislinjaa. Ennen 1.8.2008 aloittaneet ohjelmistotekniikan maisteriopiskelijat voivat suorittaa 2005 tutkintovaatimusten mukaisen tutkinnon toistaiseksi.

Seuraavassa on osittain vanhentunutta tietoa ohjelmistotekniikan erikoistumislinjasta.



- Linjan profiili

Maailma pyörii yhä enenevässä määrin tietotekniikan varassa, ja taloudellisen kasvun painopiste on siirtynyt tietointensiivisiin tuotteisiin ja palveluihin. Näissä tuotteissa ja palveluissa puolestaan ohjelmistoilla on keskeinen rooli: ne sekä tarjoavat käyttäjille heidän haluamansa toiminnallisuuden että valvovat ja turvaavat tuotteiden ja palveluiden toimivuuden. Ohjelmistojen laatu on näin ollen uuden uljaan tietoyhteiskunnan tukipilari.

Ohjelmistojen yleistä merkitystä voi korostaa vaikkapa seuraavilla lainauksilla, jotka on poimittu erilaisten asiantuntijatyöryhmien raporteista:

Ohjelmistotekniikan (engl. Software Engineering) erikoistumislinjalla tarkastellaan laadukkaiden ohjelmistojen systemaattista tuottamista. "Laadukkuus" ja "systemaattisuus" pitävät sisällään sekä ohjelmistotuotteisiin kohdistuvia teknisempiä aiheita (kuten ohjelmointitekniikat ja -kielet, suunnittelu- ja mallinnusmenetelmät sekä ohjelmistotyökalut) että ohjelmistotuotantoa tukevia ja valvovia toimenpiteitä (kuten prosessit, projektityö, mittaaminen, testaus ja dokumentointi). Ohjelmistotekniikan laaja hallitseminen vaatii täten varsin monipuolista osaamista, jota pyritään edistämään erikoistumislinjan opetuksessa ja tutkimuksessa.

- Tutkimus

Linjan nykyinen tutkimustyö perustuu laitoksella jo 1970-luvun alkupuolella aloitettuun ohjelmointikielten ja niiden kääntäjien tutkimukseen, joten automaatiolla on keskeinen osuus linjan tutkimushankkeissa: niissä kehitetään johonkin uuteen ohjelmistotekniseen ideaan perustuvia automaattisia työkaluja, joilla voidaan parantaa ohjelmistotyön tuottavuutta ja laatua. Tällä hetkellä käynnissä olevat hankkeet keskittyvät ennen muuta ohjelmistojen suunnitteluvaiheeseen ja ohjelmistojen arkkitehtuuriin, jotka ovat ratkaisevassa asemassa hallittaessa kehitteillä olevan ohjelmiston laatua. Uudempia, tulossa olevia kiinnostuksen kohteita ovat empiirinen ohjelmistotutkimus ja vaatimusten määrittelyyn, kuvaamiseen ja hallintaan liittyvät kysymykset.

Linjan ulkopuolisesti rahoitetut tutkimushankkeet suoritetaan Roosa-tutkimusryhmässä. (Roosa = Research group on Object-Oriented Software Architectures). Ryhmän rahoittajia ovat mm. Suomen Akatemia, Teknologian kehittämiskeskus (Tekes), Nokia Research Center, Nokia Mobile Phones, Nokia Networks, Kone, Space Systems Finland ja SysOpen.

Roosa-ryhmän tutkimushankkeita:

- Tutkintovaatimukset

Vanhat tutkintovaatimukset

Ennen 1.8.2005 opintonsa aloittaneet voivat suorittaa opintonsa vanhojen (so. vuonna 2004 tai sitä ennen voimaan astuneiden) tutkintovaatimusten mukaisesti 31.7.2008 mennessä. Mikäli tutkinnon valmistuminen tähän määräaikaan mennessä on epätodennäköistä tai jos laudaturopintoja ei ole vielä aloitettu tai sivuaineopintoja puuttuu paljon, on syytä siirtyä opiskelemaan uusien tutkintovaatimusten mukaisesti.

Vanhat tutkintovaatimukset löytyvät vanhoista opinto-oppaista.

Uudet tutkintovaatimukset

Syyslukukaudesta 2005 alkaen opintonsa aloittavat opiskelevat uusien tutkintovaatimusten mukaan, joissa kandidaatin tutkinto ja maisterin tutkinto on erotettu toisistaan.

Luonnontieteen kandidaatin tutkinto on kaikille linjoille yhteinen. Pakollisten ohjelmointikurssien ja harjoitustöiden lisäksi tietojenkäsittelytieteen perus- ja aineopinnot sisältävät pakollisina seuraavat linjan vastuualueelle kuuluvat kurssit, jotka tarjoavat pohjan linjan maisteriopinnoille:

Kandidaatin tutkintoon voi lisäksi valita linjalle soveltuvia valinnaisia kursseja, kuten

Linjan maisteriopinnot sisältävät kaksi pakollista opintojaksoa:

Tarkoitus on, että nämä suoritetaan ennen muita syventäviä opintoja, jotka sisältävät

Ajantasainen luettelo linjakohtaisista valinnaisista opinnoista on alla. Mikäli on aihetta epäillä, sopiiko jokin kurssi linjakohtaisiin opintoihin, asia kannattaa varmistaa linjavastaavalta. Linjan pakolliset kurssit on suoritettava ennen gradun aloittamista. Valinnaiset kurssit kannattaa valita siten, että ne tukevat gradun aihetta.

- Valinnaiset kurssit ja seminaarit

Valinnaisiin linjakohtaisiin opintoihin sopivia kursseja

Ohjelmointikielten kääntäjät, 9 op
Ohjelmointikielten periaatteet, 8 op
Ohjelmistojen vaatimusmäärittely, 5 op
Ohjelmistojen testaus, 5 op
Ohjelmistojen suorituskyvyn suunnittelu
Laudatur-projektityö, 6 op
Empiirinen ohjelmistotutkimus, 4 op
Ohjelmistoprojektien johtaminen, 5 op
Ohjelmistoliiketoimintaprojekti
Käyttöliittymät II, 8 op
Spesifioinnin ja verifioinnin perusteet, 4 op
Suorituskykyanalyysi, 4 op
Tietoturva, 4 op
Component-Based Development, 8 op
Mobiiliohjelmointi, 6 op
Hajautetut järjestelmät, 6 op
Tosiaikajärjestelmät, 4 op
Väliohjelmistot, 4 op

Seminaareja

Linjalla järjestetään lukukausittain seminaareja ajankohtaisista ohjelmistotekniikan aiheista. Seuraavassa esimerkkejä viime aikoina järjestetyistä seminaareista:

Käyttöliittymien arviointimenetelmät, kevät 2006, 3 op
Ohjelmistojen laadunhallinta, kevät 2006, 3 op
Ohjelmistotuotanto ja tietokonepelit, kevät 2006, 3 op
Software Metrics, kevät 2006, 3 op
Aspektit ohjelmistotuotannossa, syksy 2005, 3 op
Tekoälyalgoritmit tietokonepeleissä, syksy 2005, 3 op
Ohjelmistojen ylläpito, kevät 2005, 2 ov
Ohjelmistotuotanto ja tietokonepelit, kevät 2005, 2 ov
Geneerinen metaohjelmointi, syksy 2004, 2 ov
Ohjelmistotekniikan laatumallit, syksy 2004, 2 ov
Tekoälyalgoritmit tietokonepeleissä, syksy 2004, 2 ov
Empiirinen ohjelmistotutkimus, kevät 2004, 2 ov
Käyttöliittymät ja suorituskyky, kevät 2004, 2 ov
Skriptikielet, kevät 2004, 2 ov
Ohjelmistojen vaatimusmäärittely, syksy 2003, 2 ov
Käyttöliittymän suunnitteluprosessi: tavoitteista käyttöliittymäratkaisuun, syksy 2003, 2 ov
Ohjelmistotuotanto ja tietokonepelit, syksy 2003, 2 ov
Generatiivinen ohjelmointi, kevät 2003, 2 ov
Ohjelmistojen testaus, kevät 2003, 2 ov
Ohjelmistotekniikan tutkimusseminaari, syksy 2002, 2 ov
Oliomallinnus UML-kielellä, syksy 2002, 2 ov
Ohjelmistojen suorituskyky, kevät 2002, 2 ov
Tosiaikajärjestelmät, kevät 2002, 2 ov
Ohjelmistotekniikan faktat ja fiktiot, syksy 2001, 2 ov
Ohjelmointiparadigmat, syksy 2001, 2 ov
Ohjelmistoprosessit, kevät 2001, 2 ov
Ohjelmointiparadigmat, syksy 2000, 2 ov
Ohjelmistotuotantovälineet, syksy 2000, 2 ov
Komponenttiperustainen ohjelmistotuotanto, kevät 2000, 2 ov

- Pro gradu -tutkielmat

Gradun aihetta valittaessa periaatteena on, että gradun voi tehdä ainakin sellaisesta aihepiiristä, josta laitoksella pidetään laudatur-kurssi tai seminaari. Myös jonkin yrityksen ohjelmistokehitykseen liittyvät gradut ovat nykyään yleisiä, mutta on huomattava, että kaikki yrityksistä tarjottavat aiheet eivät välttämättä ole kelvollisia graduaiheita.

Oman tai yrityksestä saadun aiheidean sovelutuvuudesta gradun aiheeksi on syytä käydä keskustelemassa jonkun linjan professorin, yliopistonlehtorin tai lehtorin kanssa. Jos teet gradun yritykselle, tarvitset yritykseltä todistuksen, josta selviävät ainakin

  1. yrityksen tarjoaman ohjaajan nimi (vähintään FM, DI tai vastaava),
  2. lupa siihen, että tekijä saa tehdä gradun yritykselle ja
  3. tieto siitä, että yritys on tietoinen siitä, että gradu on kaikin puolin julkinen dokumentti, joka ei siis saa sisältää mitään salaista tietoa.

Graduaiheesta on ehdottomasti käytävä sopimassa linjan vastuuhenkilön kanssa ennen gradun aloittamista!

- Opintojen ajoitus

Pakolliset syventävien opintojen kurssit on tarkoituksenmukaista suorittaa heti ensimmäisenä maisteriopintojen vuonna. Niiden lisäksi tulee suorittaa joitakin valinnaisia kursseja. Loput valinnaiset kurssit ja yksi seminaari suoritetaan seuraavana syksynä. Tällöin toisen vuoden keväälle jää pro gradu ja toinen seminaari.

- Valmistuminen ja opintokokonaisuusmerkinnät

Opiskelija noudattaa oletusarvoisesti opintojensa aloitusvuonna määriteltyjä tutkintovaatimuksia. Halutessaan hän voi siirtyä noudattamaan joitakin myöhemmin voimaan tulleita tutkintovaatimuksia.

Tutkintovaatimuksia sovelletaan siten, että niiden kaikki osat - niin pääaine, sivuaineet kuin muutkin opinnot - on suoritettava saman tutkintosäännön puitteissa; so. yhden ja saman opinto-oppaan mukaisina. Opinto-oppaiden varassa voi arvioida, miten eri vuosina tarjolla olevat kurssit vastaavat uudempia tutkintovaatimuksia, ja laudaturmerkinnän antajalta voi kysyä varmempaa tulkintaa.

Merkintöjä linjan syventävien opintojen kokonaisuudesta / laudatur-kokonaisuudesta sekä muista opinnoista antaa linjavastaava. Merkintää haettaessa on otettava mukaan:

Opintokokonaisuuslomakkeita saa mm. laitoksen kansliasta.

- Linjavastaava ja erikoistuutori

Linjavastaavana lukuvuonna 2008-2009 on professori (mvs) Juha Taina

Linjan erikoistuutorina toimii Juha Gustafsson

- Linjaväkeä

Laitoksen opetusviroissa:


Juha.Taina@poistatama.cs.helsinki.fi
Last modified: Wed Oct 29 14:04:31 EET 2008