Yliopiston etusivulle Suomeksi Inte på svenska No english version available
Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

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.

  • Ohjelmistojärjestelmien erikoistumislinjan kotisivu on täällä.
  • Tarkemmat siirtymäohjeet tutkintovaatimusten välillä ovat täällä.

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:

  • Ohjelmistotuotannon ja ohjelmistojen soveltamisen tulevaisuus määrää tietoteollisuuden suunnan. Ohjelmistot tulevat olemaan yhä tärkeämpiä elektroniikkateollisuudessa ja automaatiossa, ja niissä on eräs Suomen teollisen osaamisen kulmakivi. Laitteisiin ja järjestelmiin sulautettujen ohjelmistojen osuus ja merkitys kasvaa seuraavien viiden vuoden aikana paljon tärkeämmäksi kuin itse elektroniikan osuus..
    (Sähkö- ja elektroniikkateollisuusliitto SET ja Teknologian kehittämiskeskus Tekes: Visioista osaamistarpeisiin - Huippuosaamisella menestykseen. Osaamislinjaus 2004, huhtikuu 2000.)

  • Ohjelmistotuotemarkkinat kaksinkertaistuvat 12,3 % vuosikasvulla vuoden 2003 loppuun mennessä ja taas vuonna 2008. Markkamääräinen kasvu vuoteen 2010 maailmanlaajuisesti on lähes 2500 miljardia markkaa. Suomen ohjelmistotuotemarkkinat kasvaisivat vuoden 1997 2,4 miljardista markasta 12,2 miljardiin markkaan vuoteen 2010 12,3 %:n vuotuisella kasvulla. Maailman markkinoiden kymmenenkin prosentin vuosittaisella kasvulla lisääntyvät markkinat vuoteen 2010 mennessä yli 1700 miljardia markkaa. Ohjelmistoteollisuus tuleekin olemaan 2000-luvun alun ensimmäisiä voittajia.
    (Teknologian kehittämiskeskus Tekes: Suomen ohjelmistoteollisuuden kasvun strategia ja haasteet. Teknologiakatsaus 67/99, huhtikuu 1999.)

  • Ohjelmistotuoteteollisuuden kannalta haasteellisin korkeakoulumaailmaan liittyvä ongelma on ... valmistuneiden ammattilaisten riittämättömyys ... Teknologisen osaamisen puolella Suomen koulutustarjonnassa ei ole suuria aukkoja. Sen sijaan ohjelmistotuotteiden tuotepäällikkö- ja markkinointiosaajien koulutus puuttuu käytännössä maastamme ... Yritysmaailmassa erikoistuminen kapealle alueelle on avainasemassa yrityksen menestymisessä, samalla tavalla yliopistojen pitäisi pyrkiä hakemaan omia erikoistumisalueitaan, jota kautta syntyy tarpeellista huippuosaamiskeskittymistä yritysmaailman käyttöön tutkimuksen ja opetuksen muodossa.
    (Teknologian kehittämiskeskus Tekes: Ohjelmistotuotteilla kansainväliseen menestykseen. Teknologiakatsaus 74/99, syyskuu 1999.)

  • The information technology underpinning modern society is in large measure the result of past advances in the field of computer science and engineering - the theoretical and experimental science base on which computing applications build. ... The fundamental information technology research and development component of the IT2 initiative will address long-term, high risk investigations in issues that confront computer science and engineering. Four research focal points address the PITAC's recommendations: (1) Software - Software Engineering ... Software - unlike bridges, airplanes, and nuclear power plants - is constructed without the benefit of standard practice by tecnologists who lack thorough training in the engineering sciences of reliability, maintainability, and cost-effectiveness. The research and development proposed in this area will significantly improve the concepts, techniques, and tools to engineer the software infrastructure, and will help educate software developers in well-founded and more productive engineering methods to develop techniques and tools to create productive, reliable, and useful software.
    President's Information Technology Advisory Committee: Information Technology Research: Investing in Our Future. Report to the President, February 1999 & U.S. National Science and Technology Council, IT2 Working Group: Information Technology for the Twenty-First Century: A Bold Investment in America's Future. U.S. National Coordination Office for Information Techology Research and Development, Implementation Plan, June 1999.

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:

  • Fred (HY/TKTL), (TTKK) ja JavaFrames: Olioperustaisten sovelluskehysten (application frameworks) suunnittelu, toteuttaminen ja erikoistaminen ohjelmistomallien (software patterns) avulla.
  • Saara: Ohjelmistojen automaattinen muuntaminen (Fred-)sovelluskehyksiksi.
  • Maisa: Ohjelmistoarkkitehtuurien mittaaminen.
  • UML++: UML-pohjaisten ohjelmistotekniikan menetelmien ja työkalujen kehittäminen, yhteistyössä Tampereen teknillisen yliopiston ja Tampereen yliopiston kanssa.
  • Serious: Ohjelmatuotelinjan kehityskaaren aikainen laadun mittaaminen ja parantaminen.
  • Irma: Vaatimusten mallintaminen.
  • Vilpert: Visuaalisten kielten määrittely ja toteuttaminen.
  • Rita: Ohjelmatuotelinjojen testaus.

- 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

  • valinnaisia linjakohtaisia syventäviä opintoja, 10 op
  • seminaareja, 6 op
  • vapaasti valittavia tietojenkäsittelyn syventäviä opintoja (muita kuin seminaareja), 8 op
  • pro gradu -tutkielman, 40 op
  • kypsyysnäytteen

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:

  • opintokokonaisuuslomake (valmiiksi täytettynä!)
  • opintorekisteriote
  • (opintokirja)
  • jommassakummassa edellisistä merkintä LuK-tutkinnosta (uusi tutkinto) tai vastaavasti tietojenkäsittelytieteen cum laudesta (vanha tutkinto)
  • huom: koska gradu sisältyy laudaturiin, laudaturin tai syventävien opintojen kokonaisuuden merkintää ei voi saada ennen kuin gradu on hyväksytty tai ainakin gradun tarkastajat ovat ilmoittaneet aikovansa esittää sen hyväksymistä seuraavassa johtoryhmän kokouksessa.

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