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:
- Ohjelmistotekniikan menetelmät, 4 op
- Käyttöliittymät, 4 op
- Ohjelmistotuotanto, 4 op
- Ohjelmistotuotantoprojekti, 9 op
Kandidaatin tutkintoon voi lisäksi valita linjalle soveltuvia valinnaisia kursseja, kuten
- C-ohjelmointi, 4 op
- Ohjelmointitekniikka (C++), 6 op
- Ohjelmointitekniikka (Java), 5 op
- Graafisten käyttöliittymien ohjelmointi, 6-10 op
- Pelit ja virtuaaliympäristöt, 6 op
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
- Ohjelmointikielten periaatteet, 8 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
- Ohjelmistojen laadunhallinta, kevät 2006, 3 op
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
- yrityksen tarjoaman ohjaajan nimi (vähintään FM, DI tai vastaava),
- lupa siihen, että tekijä saa tehdä gradun yritykselle ja
- 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:
- Gustafsson, Juha, FM, yliopistonlehtori
- Paakki, Jukka, FT, professori, Matemaattis-Luonnontieteellisen tiedekunnan dekaani
- Pasanen, Tomi, FT, yliopistonlehtori
- Pohjalainen, Pietu, FM, tutkijakoulutettava
- Salmenkivi, Marko, FM, yliopistotutkija
- Simola, Kimmo, FM, tutkijakoulutettava
- Taina, Juha, FT, professori
- Vihavainen, Juha, FL, lehtori
- Wikla, Arto, FL, lehtori
Juha.Taina@poistatama.cs.helsinki.fi