Masterprogram i Programvarukvalitet (co-op)
120 högskolepoäng (start ht-12)
Översikt
Profil - innehåll
Programvara har blivit ett allt viktigare element i många produkter som utvecklas idag. Detta ökar behovet av att kunna utveckla programvaror med rätt funktionalitet, kvali¬tet, i tid och inom budget. Det har dessutom skett en förskjutning i utvecklingskostnaderna från hårdvaruutveckling till programvarulös¬ningar.Masterprogrammet i programvaruteknik med inriktning på kvalitet är konstruerat för att möta dessa utmaningar ge¬nom att utbilda programvaruutvecklare i avancerade koncept inom pro-gramvaruteknik som täcker hela utvecklingskedjan, från företagsledningens perspektiv till de tekniska och de utvecklande perspektiven. Masterprogrammet fokuserar i synnerhet på kvali-tetsaspekter inom programvaruutveckling och utbildningen är starkt fokuserad på att studen-terna ska få praktiska erfarenheter genom de praktikperioder som ingår i programmet.
Utbildningsprogrammet är tvåårigt och består av stora inslag av arbetsintegrerat lärande (d.v.s. praktik i näringslivet samt kurser vid högskolan där stora praktiska inslag återfinns tagna direkt från näringslivet). Kurserna är i stora delar inriktade på kvalitetsaspekter inom programvaruut¬veckling, även om generella kurser också ges för att säkra en bredd hos studenterna. Kursutbudet är designat för att erbjuda en blandning av den senaste praktiken i samverkan med företag. Detta stärks ännu mer av det faktum att högskolan har aktiv forskning inom alla de obligatoriska kursernas ämnen.
En av tankarna med detta program är att knyta näringsliv, studenter och högskolan närmare varandra och ständigt förbättra innehållet. Högskolans förhoppning är att alla tre parterna tjä-nar på detta samarbete.
En högskolepoäng motsvarar en poäng i European Credit Transfer System (ECTS).
Examen
Utbildningen leder fram till en examen på avancerad nivå, med benämningenTeknologie masterexamen.
Huvudområde: programvaruteknik
Motsvarande benämning på engelska är
Master of Science (120 credits).
Main field of study: Software Engineering
Anmälan
Det är inte längre möjligt att anmäla sig till detta anmälningsalternativ.
Välkomstbrev
Programtid
2012 vecka 36 till
2014 vecka 23
2014 vecka 23
Undervisningsform
Campus, Dagtid, heltid
Ort
Karlskrona
Språk
Undervisningen bedrivs på engelska.
Nivå
Avancerad nivå
Huvudområde
Programvaruteknik
Utbildningsplan
Programansvarig
Länkar
Antal platser
5
Antagning
Förkunskapskrav
Förkunskapskraven för masterprogrammet i programvaruteknik (inriktning kvalitet) med arbetsintegrerat lärande är:- För tillträde till utbildningsprogrammet krävs kandidatexamen (180 högskolepoäng) med något av huvudområdena datavetenskap, programvaruteknik, vilken innefattar avslutade studier motsvarande 90 högskolepoäng inom området programvaruteknik. Vidare ska examen omfatta minst 15 högskolepoäng i matematik.
- Engelska B.
Läs mer om grundläggande behörighet på avancerad nivå.
Urval
Programmet tar endast in det antal studenter som kan garanteras praktikplatser i näringslivet. Detta beslutas på en årlig basis och innebär att kurserna inte drivs de år då det saknas praktikplatser. Vid mer behöriga sökande än antal tillgängliga platser görs ett urval. Detta går till på följande sätt:Till utbildning tillämpas särskilt urval. Det särskilda urvalet innebär att flera urvalsgrunder vägs samman enligt nedanstående metod som resulterar i ett meritvärde.
URVALSGRUND
Tidigare högskoleutbildning, arbetslivserfarenhet och engelska.
PRECISERING AV URVALSGRUND
En bedömning görs av:
Hur relevant område och inriktning den sökandes tidigare examina från högskola eller universitet. Bedömningen görs i tre kategorier:
Minimal relevans givet förkunskapskraven = meritvärde 0, medelhög relevans = meritvärde 0,5, hög relevans = meritvärde 1.
Nivå och kunskaper i kurser inom Datavetenskap speciellt inom programmering, algoritmer, datastrukturer, operativsystem och datakommunikation.
Den sökandes kunskaper normeras till ett värde mellan 0 och 1. Minimal relevans= meritvärde 0, medelhög relevans=meritvärde 0.5, hög relevans= meritvärde 1.
Nivå och kunskaper i kurser inom Programvaruteknik. Detta inkluderar projektstyrning inom programvarutillverkning, kvalitetsstyrning och verifiering och validering.
Den sökandes kunskaper normeras till ett värde mellan 0 och 1. Minimal relevans= meritvärde 0, medelhög relevans=meritvärde 0.5, hög relevans= meritvärde 1.
Arbetslivserfarenhet från programvaruutveckling inom industrin, t ex har arbetat med programmering, programutveckling, test, kvalitetsstyrning och projektledning.
Den sökandes erfarenheter normeras till ett värde mellan 0 och 1. Minimal relevans= meritvärde 0, medelhög relevans=meritvärde 0.5, hög relevans= meritvärde 1.
Slutligen normeras den sökandes TOEFL - respektive IELTS-nivåer i engelska till ett värde mellan 0 och 1, där 0 är minimal nivå för att vara behörig och 1 är maximal nivå på testet.
Sökande som är undantagna från att visa sin nivå i engelska med TOEFL/IELTS-nivåer får meritvärdet 1.
De fem värdena läggs till ett samlat meritvärde som kan variera mellan 0-5.
Anmälningar som accepteras för granskning baserad på de grundläggande förkunskapskraven för programmet kommer rangordnas enligt ovan. Om inte alla sökande med lika lägsta meritvärde kan erbjudas plats tillgrips lottning.
Antagningsprocedur
Läs mer om antagningsproceduren.Tillgodoräknande av tidigare studier och utlandsstudier
Student som antagits till programmet och som tidigare läst någon kurs,
som motsvarar en kurs inom programmet, kan ansöka om att få kursen tillgodoräknad.
Om det är möjligt erbjuds studenten att genomgå en alternativ kurs.
Vid studier utomlands under tiden programmet pågår kan en större del
(vanligtvis en hel termin) tillgodoräknas. I detta fall ges ett
förhandsbesked om tillgodoräknandet via s k Learning agreement.
Läs mer om studier utomlands
Praktisk information
Praktisk information hittas under 'Vill studera'.
Lärandemål
Profil - innehåll
Programvara har blivit ett allt viktigare element i många produkter som utvecklas idag. Detta ökar behovet av att kunna utveckla programvaror med rätt funktionalitet, kvali¬tet, i tid och inom budget. Det har dessutom skett en förskjutning i utvecklingskostnaderna från hårdvaruutveckling till programvarulös¬ningar.Masterprogrammet i programvaruteknik med inriktning på kvalitet är konstruerat för att möta dessa utmaningar ge¬nom att utbilda programvaruutvecklare i avancerade koncept inom pro-gramvaruteknik som täcker hela utvecklingskedjan, från företagsledningens perspektiv till de tekniska och de utvecklande perspektiven. Masterprogrammet fokuserar i synnerhet på kvali-tetsaspekter inom programvaruutveckling och utbildningen är starkt fokuserad på att studen-terna ska få praktiska erfarenheter genom de praktikperioder som ingår i programmet.
Utbildningsprogrammet är tvåårigt och består av stora inslag av arbetsintegrerat lärande (d.v.s. praktik i näringslivet samt kurser vid högskolan där stora praktiska inslag återfinns tagna direkt från näringslivet). Kurserna är i stora delar inriktade på kvalitetsaspekter inom programvaruut¬veckling, även om generella kurser också ges för att säkra en bredd hos studenterna. Kursutbudet är designat för att erbjuda en blandning av den senaste praktiken i samverkan med företag. Detta stärks ännu mer av det faktum att högskolan har aktiv forskning inom alla de obligatoriska kursernas ämnen.
En av tankarna med detta program är att knyta näringsliv, studenter och högskolan närmare varandra och ständigt förbättra innehållet. Högskolans förhoppning är att alla tre parterna tjä-nar på detta samarbete.
En högskolepoäng motsvarar en poäng i European Credit Transfer System (ECTS).
Lärandemål
Utöver de nationellt reglerade målen, vilka återfinns under punkt 8, gäller följande mål för utbildningen.Efter genomförd utbildning skall studenten:
- Känna till och övergripande förstå utmaningarna i storskalig utveckling av programvaruteknik.
- Känna till och övergripande förstå rådande praxis i storskalig utveckling av programvaruteknik.
- Känna till och i detalj förstå kvalitetsaspekter inom programvaruutveckling.
- Behärska färdigheterna som behövs för att anpassa och tillämpa rådande praxis i en given situation i programvaruutveckling.
- Behärska färdigheterna som behövs för att planera, följa upp och utvärdera kvalitetsarbeten inom programvaruutveckling i industriell skala.
- Behärska förmågan att kritiskt utvärdera utmaningar och föreslagna lösningar för storskalig utveckling, att identifiera starka och svaga punkter och möjligheter till förbättring.
- Behärska förmågan att självständigt leda en undersökning inom området.
Upplägg
Upplägg av utbildningen
Studenterna förväntas studera heltid under två läsår. Dock är studierna förlagda ute i näringslivet del av tiden.Hela första terminen (30 högskolepoäng) och halva andra terminen (15 högskolepoäng) består av ett antal obligatoriska som syftar till att förbereda studenten för de praktikperioder som påbörjas under andra terminen. Kurserna ger en bred grund avseende projektledning inom programvarutillverkning, samt leder studenterna in på utbildningens specialistområde - programvarukvalitet. Därefter följer en period av arbetsintegrerat lärande ute i näringslivet då studenten genomför ett antal projektkurser. Slutligen återkommer studenten till högskolan och förbereder sig för examensarbetet som lämpligen genomförs i samarbete med studentens praktikplats.
Föreläsningar, seminarier etc. ges på engelska och endast kurslitteratur skriven på engelska används. Erfarenhet från professionell programvaruutveckling eller kursstudier in¬kluderande projektarbete och/eller praktiska arbetsuppgifter är en fördel för studier i utbildningspro-grammet.
OBS! Lägg märke till att det är kursens starttermin som anges i tabellen nedan. Se varje kurs för att se kursens faktiska utsträckning i tiden.
Kurser höstterminen 2012
Obligatoriska kurser
Avancerad projektstyrning inom programvarutillverkning, 7,5 hp, avancerad nivå.
Idag utvecklas merparten av programvara i team. Det är därför mycket viktigt att utvecklare har ingående kunskaper och färdigheter i att leda och arbeta effektivt i projektteam.
Denna kurs syftar till att ge deltagarna en solid teoretisk kunskapsbas inom allmän projektledning, beteendevetenskap och organisationsstudier relaterat till frågeställningar som rör projektstyrning inom programvaruutveckling (SPM).
Kursen förutsätter att deltagarna redan har praktiskt erfarenhet av projektarbete.
Läs all information om kursen 'Avancerad projektstyrning inom programvarutillverkning'
Idag utvecklas merparten av programvara i team. Det är därför mycket viktigt att utvecklare har ingående kunskaper och färdigheter i att leda och arbeta effektivt i projektteam.
Denna kurs syftar till att ge deltagarna en solid teoretisk kunskapsbas inom allmän projektledning, beteendevetenskap och organisationsstudier relaterat till frågeställningar som rör projektstyrning inom programvaruutveckling (SPM).
Kursen förutsätter att deltagarna redan har praktiskt erfarenhet av projektarbete.
Läs all information om kursen 'Avancerad projektstyrning inom programvarutillverkning'
Introduktion till datasäkerhet, 7,5 hp, grundnivå.
Säkerhet handlar om att skydda tillgångar, tillgångar som alltmer förlitar sig på datorbaserade system. Detta gör att organisationer blir mer beroende av dessa system. Allt eftersom användandet av Internet ökar, så exponeras fler av dessa system för allmänheten. På så sätt ställs individen regelbundet inför säkerhetslösningar som erbjuder olika nivå av skydd. Idag måste individer och organisationer förlita sig på att skyddsnivån på de olika datorsystem de använder är tillräcklig, medan designers och utvecklare av dessa system måste säkerställa att deras lösningar är pålitliga.
Kursens huvudsakliga syfte är att ge studenter med grundläggande kunskaper i datavetenskap en introduktion till datasäkerhet i både teori och praktik.
För att ge en bred förståelse av området, så täcker kursen dels teoretiska fält såsom säkerhetsmodeller och deras tillämpbarhet, dels mer praktiska moment, såsom den korrekta användningen av kryptografi för att hantera osäkerhet i datornätverk och exempel på vanliga säkerhetsbrister i mjukvara.
Studenten lär sig inte bara att kritiskt granska och jämföra olika säkerhetslösningar, utan lär sig även att implementera några av dem i en datoriserad miljö.
Efter avslutad kurs bör studenten kunna hjälpa användare och organisationer att fatta underbyggda beslut angående ett datorsystems trovärdighet. Studenten kommer även att bli medveten om säkerhetskonsekvenser av olika design- och programvaruutvecklingsbeslut.
Läs all information om kursen 'Introduktion till datasäkerhet'
Säkerhet handlar om att skydda tillgångar, tillgångar som alltmer förlitar sig på datorbaserade system. Detta gör att organisationer blir mer beroende av dessa system. Allt eftersom användandet av Internet ökar, så exponeras fler av dessa system för allmänheten. På så sätt ställs individen regelbundet inför säkerhetslösningar som erbjuder olika nivå av skydd. Idag måste individer och organisationer förlita sig på att skyddsnivån på de olika datorsystem de använder är tillräcklig, medan designers och utvecklare av dessa system måste säkerställa att deras lösningar är pålitliga.
Kursens huvudsakliga syfte är att ge studenter med grundläggande kunskaper i datavetenskap en introduktion till datasäkerhet i både teori och praktik.
För att ge en bred förståelse av området, så täcker kursen dels teoretiska fält såsom säkerhetsmodeller och deras tillämpbarhet, dels mer praktiska moment, såsom den korrekta användningen av kryptografi för att hantera osäkerhet i datornätverk och exempel på vanliga säkerhetsbrister i mjukvara.
Studenten lär sig inte bara att kritiskt granska och jämföra olika säkerhetslösningar, utan lär sig även att implementera några av dem i en datoriserad miljö.
Efter avslutad kurs bör studenten kunna hjälpa användare och organisationer att fatta underbyggda beslut angående ett datorsystems trovärdighet. Studenten kommer även att bli medveten om säkerhetskonsekvenser av olika design- och programvaruutvecklingsbeslut.
Läs all information om kursen 'Introduktion till datasäkerhet'
Kvalitetsstyrning, 7,5 hp, avancerad nivå.
Kvalitet är ett svårgripbart begrepp som påverkar, och påverkas av, hela produktutvecklingsprocessen. Inom programvaruutveckling, som är en komplex verksamhet, är kvalitetstänkande speciellt viktigt, eftersom kvaliteten på programvaran påverkas av varje process, stödfunktion och delprodukt inom utvecklingscykeln.
Målet med denna kurs är att deltagarna ska tillägna sig en djupare förståelse för vad kvalitet är och vilka utmaningar det innebär att uppnå hög kvalitet. Kursdeltagarna förväntas erhålla en allmän förståelse för kvalitetsbegreppet, och förväntas utveckla en förståelse för de utmaningar som gäller speciellt för programvarukvalitet.
Deltagarna bör tillägna sig en förståelse för kvalitetsstyrning för programvauutveckling och dess roll i relation till andra delar av programvaruutvecklingen, såväl som för de aktiviteter, tekniker och modeller som är centrala i kvalitetssäkring av programvara.
Det övergripande målet med kursen är att medvetandegöra deltagarna om rådande ”state-of-the-art” för att sedan kunna förbättra “state-of-the-practice” i programvaruindustrin.
Läs all information om kursen 'Kvalitetsstyrning'
Kvalitet är ett svårgripbart begrepp som påverkar, och påverkas av, hela produktutvecklingsprocessen. Inom programvaruutveckling, som är en komplex verksamhet, är kvalitetstänkande speciellt viktigt, eftersom kvaliteten på programvaran påverkas av varje process, stödfunktion och delprodukt inom utvecklingscykeln.
Målet med denna kurs är att deltagarna ska tillägna sig en djupare förståelse för vad kvalitet är och vilka utmaningar det innebär att uppnå hög kvalitet. Kursdeltagarna förväntas erhålla en allmän förståelse för kvalitetsbegreppet, och förväntas utveckla en förståelse för de utmaningar som gäller speciellt för programvarukvalitet.
Deltagarna bör tillägna sig en förståelse för kvalitetsstyrning för programvauutveckling och dess roll i relation till andra delar av programvaruutvecklingen, såväl som för de aktiviteter, tekniker och modeller som är centrala i kvalitetssäkring av programvara.
Det övergripande målet med kursen är att medvetandegöra deltagarna om rådande ”state-of-the-art” för att sedan kunna förbättra “state-of-the-practice” i programvaruindustrin.
Läs all information om kursen 'Kvalitetsstyrning'
Praktisk projektstyrning inom programvarutillverkning, 7,5 hp, avancerad nivå.
Idag utvecklas merparten av programvara i projektform. Därför är det viktigt att programvaruutvecklare har kunskap om och erfarenhet av detta arbetssätt.
Målet med denna kurs är att förmedla hur man planerar, utför och slutför ett projekt. Detta inkluderar, men begränsas inte till, projektstyrning och administration från början till slut, tillämpning av metoder och tekniker för att säkerställa att projektet avslutas på ett framgångsrikt sätt. Ytterligare ett syfte är att uppnå en förståelse för, och kunskap om, hur man ska tolka olika intressenters roller och behov i ett typiskt projekt.
Läs all information om kursen 'Praktisk projektstyrning inom programvarutillverkning'
Idag utvecklas merparten av programvara i projektform. Därför är det viktigt att programvaruutvecklare har kunskap om och erfarenhet av detta arbetssätt.
Målet med denna kurs är att förmedla hur man planerar, utför och slutför ett projekt. Detta inkluderar, men begränsas inte till, projektstyrning och administration från början till slut, tillämpning av metoder och tekniker för att säkerställa att projektet avslutas på ett framgångsrikt sätt. Ytterligare ett syfte är att uppnå en förståelse för, och kunskap om, hur man ska tolka olika intressenters roller och behov i ett typiskt projekt.
Läs all information om kursen 'Praktisk projektstyrning inom programvarutillverkning'
Valbara kurser
Global programvaruteknik, 7,5 hp, avancerad nivå.
Med utvidgningen mot globala marknader, är det idag vanligt att programvaran utvecklas av globala programutvecklingsteam. Den här utvecklingen har en betydande påverkan på de traditionella processer och tekniker som finns inom området programvaruutveckling.
Syftet med kursen är att tillhandahålla kunskap, kompetens och praktisk erfarenhet gällande kommunikation, samarbete och koordinering av programvaruutvecklingsprojekt utifrån det globala perspektivet. Kursen syftar även till att lära studenterna olika sätt att kommunicera i ett globalt nätverk, i ett globalt team och hur de ska tolka och lyhört utnyttja mångfald i sina yrkesmässiga liv.
Läs all information om kursen 'Global programvaruteknik'
Med utvidgningen mot globala marknader, är det idag vanligt att programvaran utvecklas av globala programutvecklingsteam. Den här utvecklingen har en betydande påverkan på de traditionella processer och tekniker som finns inom området programvaruutveckling.
Syftet med kursen är att tillhandahålla kunskap, kompetens och praktisk erfarenhet gällande kommunikation, samarbete och koordinering av programvaruutvecklingsprojekt utifrån det globala perspektivet. Kursen syftar även till att lära studenterna olika sätt att kommunicera i ett globalt nätverk, i ett globalt team och hur de ska tolka och lyhört utnyttja mångfald i sina yrkesmässiga liv.
Läs all information om kursen 'Global programvaruteknik'
Programvaruarkitektur och kvalitet, 7,5 hp, grundnivå.
Programvaruarkitekturer är ett viktigt tekniskt koncept i modern storskalig programvaruutveckling som tjänar flera syften; man planerar utvecklingsresurser baserat på arkitekturen, man analyserar problemdomänen ur ett flertal perspektiv med hjälp av arkitekturen, och man abstraherar stora mängder information för att kunna få en användbar överblick med hjälp av arkitekturen. Dessutom är arkitekturen, och hur man väljer att konstruera arkitekturen, en nyckelkomponent för att planera och åstadkomma en viss kvalitetsnivå i ett system, vilket därmed bestämmer hur framgångsrikt systemet kommer vara.
I den här kursen förväntas studenten införskaffa detaljerade kunskaper om programvaruarkitekturer och programvarukvalitet och, i synnerhet, hur det senare påverkas av det förra.
Vidare förväntas studenten införskaffa en förståelse av hur man konstrurerar en programvaruarkitektur baserat på moderna metoder och idéer såsom designmönster, objektorienterade ramverk, och komponentbaserad programvaruteknik som tar hänsyn till den planerade produkten, den omgivande teknologin och den utvecklande organisationen på ett sätt som skapar långlivade och hållbara system med en planerad och predikterbar kvalitetsnivå.
Läs all information om kursen 'Programvaruarkitektur och kvalitet'
Programvaruarkitekturer är ett viktigt tekniskt koncept i modern storskalig programvaruutveckling som tjänar flera syften; man planerar utvecklingsresurser baserat på arkitekturen, man analyserar problemdomänen ur ett flertal perspektiv med hjälp av arkitekturen, och man abstraherar stora mängder information för att kunna få en användbar överblick med hjälp av arkitekturen. Dessutom är arkitekturen, och hur man väljer att konstruera arkitekturen, en nyckelkomponent för att planera och åstadkomma en viss kvalitetsnivå i ett system, vilket därmed bestämmer hur framgångsrikt systemet kommer vara.
I den här kursen förväntas studenten införskaffa detaljerade kunskaper om programvaruarkitekturer och programvarukvalitet och, i synnerhet, hur det senare påverkas av det förra.
Vidare förväntas studenten införskaffa en förståelse av hur man konstrurerar en programvaruarkitektur baserat på moderna metoder och idéer såsom designmönster, objektorienterade ramverk, och komponentbaserad programvaruteknik som tar hänsyn till den planerade produkten, den omgivande teknologin och den utvecklande organisationen på ett sätt som skapar långlivade och hållbara system med en planerad och predikterbar kvalitetsnivå.
Läs all information om kursen 'Programvaruarkitektur och kvalitet'
Programvarusäkerhet, 7,5 hp, avancerad nivå.
Datorteknik har revolutionerat sättet vi samlar, lagrar och processar information. Vårt samhälle blir allt mer beroende av datorteknik för att tillhandahålla och bibehålla olika tjänster till medborgarna. Tekniska problem påverkar denna service negativt, vilket kan få allvarliga konsekvenser, till exempel inom medicinska och nukleära system. En av hörnstenarna i att tillhandahålla pålitlig service är processen att konstruera och underhålla driftsatt programvaran på ett acceptabelt sätt, även när den innehåller många buggar, som används av angripare för att avsiktligt sabotera programvaran. Dagens programvaru-utveckling är en snabbgående, kostnadskänslig industri, vilket resulterar i att programvaran ofta inte har testats tillräckligt då den släpps (för tidigt) till marknaden. Därför finns det idag osäker och sårbar programvara nästan överallt.
Den här kursen ger studenten chansen att praktiskt analysera och experimentera med olika programvarusäkerhetsproblem i en säker och kontrollerad miljö.
Under kursen kommer studenten att tillägna sig bade teoretiska och praktiska kunskaper om olika typer av säkerhetsproblem hos programvara, och tekniker som kan användas för att skydda programvaran från sådan hot. Studenten kommer också att läras sig förstå motståndarnas arbetssätt, något som kan användas för att öka programvarans pålitlighet.
Kursen fokuserar på praktiska uppgifter, där studenten tränas i att analysera och bemöta programvarufel i riktiga driftsatta programvarusystem. Under dessa praktiska övningar, då studenten implementerar olika teorier för att skydda programvarusystem, fördjupas förståelsen för dessa teorier.
Läs all information om kursen 'Programvarusäkerhet'
Datorteknik har revolutionerat sättet vi samlar, lagrar och processar information. Vårt samhälle blir allt mer beroende av datorteknik för att tillhandahålla och bibehålla olika tjänster till medborgarna. Tekniska problem påverkar denna service negativt, vilket kan få allvarliga konsekvenser, till exempel inom medicinska och nukleära system. En av hörnstenarna i att tillhandahålla pålitlig service är processen att konstruera och underhålla driftsatt programvaran på ett acceptabelt sätt, även när den innehåller många buggar, som används av angripare för att avsiktligt sabotera programvaran. Dagens programvaru-utveckling är en snabbgående, kostnadskänslig industri, vilket resulterar i att programvaran ofta inte har testats tillräckligt då den släpps (för tidigt) till marknaden. Därför finns det idag osäker och sårbar programvara nästan överallt.
Den här kursen ger studenten chansen att praktiskt analysera och experimentera med olika programvarusäkerhetsproblem i en säker och kontrollerad miljö.
Under kursen kommer studenten att tillägna sig bade teoretiska och praktiska kunskaper om olika typer av säkerhetsproblem hos programvara, och tekniker som kan användas för att skydda programvaran från sådan hot. Studenten kommer också att läras sig förstå motståndarnas arbetssätt, något som kan användas för att öka programvarans pålitlighet.
Kursen fokuserar på praktiska uppgifter, där studenten tränas i att analysera och bemöta programvarufel i riktiga driftsatta programvarusystem. Under dessa praktiska övningar, då studenten implementerar olika teorier för att skydda programvarusystem, fördjupas förståelsen för dessa teorier.
Läs all information om kursen 'Programvarusäkerhet'
Kurser vårterminen 2013
Obligatoriska kurser
Forskningsmetodik i programvaruteknik och datavetenskap, 7,5 hp, avancerad nivå.
En nyckelfråga i forskningen inom programvaruteknik och datavetenskap är framtagning, utvärdering och jämförelse av metoder, tekniker och verktyg och hur dessa påverkar olika system eller organisationer.
I denna kurs får studenten en förståelse för forskningsmetodik som gör en sådan utvärdering och jämförelse möjligt. Studenten får en introduktion till samhälleliga och etiska aspekter av sådant forskning och får första erfarenheter av att planera, genomföra och rapportera ett forskningsprojekt.
Läs all information om kursen 'Forskningsmetodik i programvaruteknik och datavetenskap'
En nyckelfråga i forskningen inom programvaruteknik och datavetenskap är framtagning, utvärdering och jämförelse av metoder, tekniker och verktyg och hur dessa påverkar olika system eller organisationer.
I denna kurs får studenten en förståelse för forskningsmetodik som gör en sådan utvärdering och jämförelse möjligt. Studenten får en introduktion till samhälleliga och etiska aspekter av sådant forskning och får första erfarenheter av att planera, genomföra och rapportera ett forskningsprojekt.
Läs all information om kursen 'Forskningsmetodik i programvaruteknik och datavetenskap'
Verifiering och validering, 7,5 hp, avancerad nivå.
All programvara av betydande storlek behöver verifieras och valideras för att säkerställa en viss kvalitetsnivå. Målet med den här kursen är att förse studenterna med en översiktlig bild av verifiering och validering (V&V) för programvarusystem. Dessutom praktiseras och undersöks flera tekniker (som används i industrin och akademin).
Läs all information om kursen 'Verifiering och validering'
All programvara av betydande storlek behöver verifieras och valideras för att säkerställa en viss kvalitetsnivå. Målet med den här kursen är att förse studenterna med en översiktlig bild av verifiering och validering (V&V) för programvarusystem. Dessutom praktiseras och undersöks flera tekniker (som används i industrin och akademin).
Läs all information om kursen 'Verifiering och validering'
Verksamhetsförlagd utbildning inom programvaruteknik I, 7,5 hp, grundnivå.
Den mest mjukvaran tillverkas idag i projektform. Det är därför viktigt att programmerare har denna kunskapen inom detta området. Denna kursen är den först i raden av tre kurser i ”arbetsplats relaterad utbildning inom mjukvara” med det bestämda syftet att låta deltagarna ta en aktiv del i mjukvaruutveckling inom industrin. Målet med denna kurs är att få se hur ett projekt är planerat och exekverat i en industrivärld och sedan föreslå förbättringar inom mjukvaruutvecklingen för ett företag där deltagaren har en arbetserfarenhet ifrån.
Läs all information om kursen 'Verksamhetsförlagd utbildning inom programvaruteknik I'
Den mest mjukvaran tillverkas idag i projektform. Det är därför viktigt att programmerare har denna kunskapen inom detta området. Denna kursen är den först i raden av tre kurser i ”arbetsplats relaterad utbildning inom mjukvara” med det bestämda syftet att låta deltagarna ta en aktiv del i mjukvaruutveckling inom industrin. Målet med denna kurs är att få se hur ett projekt är planerat och exekverat i en industrivärld och sedan föreslå förbättringar inom mjukvaruutvecklingen för ett företag där deltagaren har en arbetserfarenhet ifrån.
Läs all information om kursen 'Verksamhetsförlagd utbildning inom programvaruteknik I'
Kurser höstterminen 2013
Obligatoriska kurser
Verksamhetsförlagd utbildning inom programvaruteknik II, 15 hp, grundnivå.
Till största delen utvecklas programvara idag i projekt. Det är därför väsentligt att programvaruingenjörer har kunskap och förmåga inom detta område. Denna kurs är den sista av tre kurser i ”Verksamhetsförlagd utbildning inom programvaruteknik” med det explicita syftet att låta deltagarna få ta en aktiv del i utvecklingsprojekt för programvara inom industrin. Syftet med kursen är att aktivt ta del i ett projekt utfört i en industrimiljö och ge förslag på förbättringar av aktiviteterna i ett utvecklingsprojekt för programvara i det företaget där deltagaren har en praktikplats.
Läs all information om kursen 'Verksamhetsförlagd utbildning inom programvaruteknik II'
Till största delen utvecklas programvara idag i projekt. Det är därför väsentligt att programvaruingenjörer har kunskap och förmåga inom detta område. Denna kurs är den sista av tre kurser i ”Verksamhetsförlagd utbildning inom programvaruteknik” med det explicita syftet att låta deltagarna få ta en aktiv del i utvecklingsprojekt för programvara inom industrin. Syftet med kursen är att aktivt ta del i ett projekt utfört i en industrimiljö och ge förslag på förbättringar av aktiviteterna i ett utvecklingsprojekt för programvara i det företaget där deltagaren har en praktikplats.
Läs all information om kursen 'Verksamhetsförlagd utbildning inom programvaruteknik II'
Företagsdriven fördjupningskurs, 7,5 hp, avancerad nivå.
Kursen bedrivs i en företagsmiljö, där hemma problem, information och handling kommer ifrån företaget som är involverat. Kursens mål är att ge studenten en förståelse och kunskap om företagets område, kopplat till erfarenhet med akademisk fakta. Resultatet, d.v.s. den nya kunskapen, presenteras för BTH och för företaget.
Läs all information om kursen 'Företagsdriven fördjupningskurs'
Kursen bedrivs i en företagsmiljö, där hemma problem, information och handling kommer ifrån företaget som är involverat. Kursens mål är att ge studenten en förståelse och kunskap om företagets område, kopplat till erfarenhet med akademisk fakta. Resultatet, d.v.s. den nya kunskapen, presenteras för BTH och för företaget.
Läs all information om kursen 'Företagsdriven fördjupningskurs'
Verksamhetsförlagd utbildning inom programvaruteknik III, 7,5 hp, avancerad nivå.
Till största delen utvecklas programvara idag i projekt. Det är därför väsentligt att programvaruingenjörer har kunskap och förmåga inom detta område. Denna kurs är den sista av tre kurser i ”Verksamhetsförlagd utbildning inom programvaruteknik” med det explicita syftet att låta deltagarna få ta en aktiv del i utvecklingsprojekt för programvara inom industrin. Syftet med kursen är att aktivt ta del i ett projekt utfört i en industrimiljö och ge förslag på förbättringar av aktiviteterna i ett utvecklingsprojekt för programvara i det företaget där deltagaren har en praktikplats.
Läs all information om kursen 'Verksamhetsförlagd utbildning inom programvaruteknik III'
Till största delen utvecklas programvara idag i projekt. Det är därför väsentligt att programvaruingenjörer har kunskap och förmåga inom detta område. Denna kurs är den sista av tre kurser i ”Verksamhetsförlagd utbildning inom programvaruteknik” med det explicita syftet att låta deltagarna få ta en aktiv del i utvecklingsprojekt för programvara inom industrin. Syftet med kursen är att aktivt ta del i ett projekt utfört i en industrimiljö och ge förslag på förbättringar av aktiviteterna i ett utvecklingsprojekt för programvara i det företaget där deltagaren har en praktikplats.
Läs all information om kursen 'Verksamhetsförlagd utbildning inom programvaruteknik III'
Valbara kurser
Programmering i UNIX-miljö, 7,5 hp, grundnivå.
Nuförtiden är det knappast någon programmerare som jobbar direkt mot datorns hårdvara (och så har faktiskt varit fallet de senaste 30 åren!). Istället jobbar programmeraren (och användaren) via någon form av programmeringsgränssnitt på hög nivå som, tillsammans med resursallokering och annan “administration” (book-keeping), utgör ett operativsystem.
Andra kurser lär ut operativsystemens “hur” och “varför”, och de lägger därmed grunden för denna kurs som i sin tur lär ut detaljerna i hur man designar mjukvara som interagerar med datorn via operativsystemet UNIX (och i förlängningen därmed även UNIX-baserade/liknande operativsystem såsom Linux och MacOS). Anledningen till att UNIX föredras är dess långa och framgångsrika historia. Många kommersiellt viktiga system byggs på UNIX, men det fungerar lika bra i egna fri- eller öppen-källkodsprojekt, operativsystemets källkod går att studera, programmeringsgränssnittet är storleksmässigt hanterbart och väl dokumenterat. Det passar lika bra i de största datorerna som i små inbyggda system. Dessutom är det populärt, och har ett stort antal anhängare.
Syftet med kursen blir således att studenten tillägnar sig en fördjupad förståelse för UNIX-baserade system och för operativsystemnära programmering. Detta innebär bland annat att utveckla förtrogenhet med att programmera operativsystemet på dess mest abstrakta nivå, närmast användaren och vidare nedåt genom abstraktionsnivåerna till den lägsta nivån, systemuppringing. Det här lägger grunden för vidare studier inom andra områden (till exempel datasäkerhet) som kräver konkret, inte abstrakt, förståelse för den underliggande teknologin. Syftet uppnås genom att studenten via en serie laborationer erhåller en försvarlig dos av programmeringserfarenhet.
Läs all information om kursen 'Programmering i UNIX-miljö'
Nuförtiden är det knappast någon programmerare som jobbar direkt mot datorns hårdvara (och så har faktiskt varit fallet de senaste 30 åren!). Istället jobbar programmeraren (och användaren) via någon form av programmeringsgränssnitt på hög nivå som, tillsammans med resursallokering och annan “administration” (book-keeping), utgör ett operativsystem.
Andra kurser lär ut operativsystemens “hur” och “varför”, och de lägger därmed grunden för denna kurs som i sin tur lär ut detaljerna i hur man designar mjukvara som interagerar med datorn via operativsystemet UNIX (och i förlängningen därmed även UNIX-baserade/liknande operativsystem såsom Linux och MacOS). Anledningen till att UNIX föredras är dess långa och framgångsrika historia. Många kommersiellt viktiga system byggs på UNIX, men det fungerar lika bra i egna fri- eller öppen-källkodsprojekt, operativsystemets källkod går att studera, programmeringsgränssnittet är storleksmässigt hanterbart och väl dokumenterat. Det passar lika bra i de största datorerna som i små inbyggda system. Dessutom är det populärt, och har ett stort antal anhängare.
Syftet med kursen blir således att studenten tillägnar sig en fördjupad förståelse för UNIX-baserade system och för operativsystemnära programmering. Detta innebär bland annat att utveckla förtrogenhet med att programmera operativsystemet på dess mest abstrakta nivå, närmast användaren och vidare nedåt genom abstraktionsnivåerna till den lägsta nivån, systemuppringing. Det här lägger grunden för vidare studier inom andra områden (till exempel datasäkerhet) som kräver konkret, inte abstrakt, förståelse för den underliggande teknologin. Syftet uppnås genom att studenten via en serie laborationer erhåller en försvarlig dos av programmeringserfarenhet.
Läs all information om kursen 'Programmering i UNIX-miljö'
Fördjupningskurs i Datavetenskap och kommunikation, 7,5 hp, avancerad nivå.
Kursens syfte är att ge studenterna möjligheter till att fördjupa sina kunskaper och sin förståelse inom ett specifikt område inom datavetenskap eller programvaruteknik. Kursen utgör en direkt förberedelse för ett kommande magisterarbete.
Läs all information om kursen 'Fördjupningskurs i Datavetenskap och kommunikation'
Kursens syfte är att ge studenterna möjligheter till att fördjupa sina kunskaper och sin förståelse inom ett specifikt område inom datavetenskap eller programvaruteknik. Kursen utgör en direkt förberedelse för ett kommande magisterarbete.
Läs all information om kursen 'Fördjupningskurs i Datavetenskap och kommunikation'
Programvarusäkerhet, 7,5 hp, avancerad nivå.
Datorteknik har revolutionerat sättet vi samlar, lagrar och processar information. Vårt samhälle blir allt mer beroende av datorteknik för att tillhandahålla och bibehålla olika tjänster till medborgarna. Tekniska problem påverkar denna service negativt, vilket kan få allvarliga konsekvenser, till exempel inom medicinska och nukleära system. En av hörnstenarna i att tillhandahålla pålitlig service är processen att konstruera och underhålla driftsatt programvaran på ett acceptabelt sätt, även när den innehåller många buggar, som används av angripare för att avsiktligt sabotera programvaran. Dagens programvaru-utveckling är en snabbgående, kostnadskänslig industri, vilket resulterar i att programvaran ofta inte har testats tillräckligt då den släpps (för tidigt) till marknaden. Därför finns det idag osäker och sårbar programvara nästan överallt.
Den här kursen ger studenten chansen att praktiskt analysera och experimentera med olika programvarusäkerhetsproblem i en säker och kontrollerad miljö.
Under kursen kommer studenten att tillägna sig bade teoretiska och praktiska kunskaper om olika typer av säkerhetsproblem hos programvara, och tekniker som kan användas för att skydda programvaran från sådan hot. Studenten kommer också att läras sig förstå motståndarnas arbetssätt, något som kan användas för att öka programvarans pålitlighet.
Kursen fokuserar på praktiska uppgifter, där studenten tränas i att analysera och bemöta programvarufel i riktiga driftsatta programvarusystem. Under dessa praktiska övningar, då studenten implementerar olika teorier för att skydda programvarusystem, fördjupas förståelsen för dessa teorier.
Läs all information om kursen 'Programvarusäkerhet'
Datorteknik har revolutionerat sättet vi samlar, lagrar och processar information. Vårt samhälle blir allt mer beroende av datorteknik för att tillhandahålla och bibehålla olika tjänster till medborgarna. Tekniska problem påverkar denna service negativt, vilket kan få allvarliga konsekvenser, till exempel inom medicinska och nukleära system. En av hörnstenarna i att tillhandahålla pålitlig service är processen att konstruera och underhålla driftsatt programvaran på ett acceptabelt sätt, även när den innehåller många buggar, som används av angripare för att avsiktligt sabotera programvaran. Dagens programvaru-utveckling är en snabbgående, kostnadskänslig industri, vilket resulterar i att programvaran ofta inte har testats tillräckligt då den släpps (för tidigt) till marknaden. Därför finns det idag osäker och sårbar programvara nästan överallt.
Den här kursen ger studenten chansen att praktiskt analysera och experimentera med olika programvarusäkerhetsproblem i en säker och kontrollerad miljö.
Under kursen kommer studenten att tillägna sig bade teoretiska och praktiska kunskaper om olika typer av säkerhetsproblem hos programvara, och tekniker som kan användas för att skydda programvaran från sådan hot. Studenten kommer också att läras sig förstå motståndarnas arbetssätt, något som kan användas för att öka programvarans pålitlighet.
Kursen fokuserar på praktiska uppgifter, där studenten tränas i att analysera och bemöta programvarufel i riktiga driftsatta programvarusystem. Under dessa praktiska övningar, då studenten implementerar olika teorier för att skydda programvarusystem, fördjupas förståelsen för dessa teorier.
Läs all information om kursen 'Programvarusäkerhet'
Kurser vårterminen 2014
Obligatoriska kurser
Masterarbete i programvaruteknik, 30 hp, avancerad nivå.
Masteruppsatsen är kulmen av flera års studier inom ett huvudämne och skall visa att studenten har mognat till en sådan nivå att denne kan bidra med ett vetenskapligt gångbart bidrag till området. Kursens syfte är att deltagarna skall vidareutveckla och visa prov på den kunskap och förståelse samt de färdigheter som behövs för att kunna arbeta självständigt och professionellt inom programvaruteknik. Detta inkluderar förmågan att självständigt identifiera problem/utmaningar/brister i ”state-of-the-art” och/eller i ”state-of-practice”. Därefter planera, designa, utföra, sammanställa resultat, och utföra analys av resultat, samtidigt som alla steg noggrant redovisas i uppsatsen. Det inkluderar också att visa på omfattande kunskap om forskningsmetodiker och deras tillämpning. Studierna som utförs skall vara förenlig med, och genom rapporterad redovisning uppvisa, vedertagna karaktäristika för god vetenskaplig metod.
Studierna kan definieras som sökandet efter kunskap eller systematisk utredning för att etablera fakta. Det primära målet med tillämpad forskning (till skillnad från grundforskning) är upptäckande av, förståelse för, och utveckling av metoder/modeller/processer/tekniker och system för befrämjandet av programvaruteknik.
Läs all information om kursen 'Masterarbete i programvaruteknik'
Masteruppsatsen är kulmen av flera års studier inom ett huvudämne och skall visa att studenten har mognat till en sådan nivå att denne kan bidra med ett vetenskapligt gångbart bidrag till området. Kursens syfte är att deltagarna skall vidareutveckla och visa prov på den kunskap och förståelse samt de färdigheter som behövs för att kunna arbeta självständigt och professionellt inom programvaruteknik. Detta inkluderar förmågan att självständigt identifiera problem/utmaningar/brister i ”state-of-the-art” och/eller i ”state-of-practice”. Därefter planera, designa, utföra, sammanställa resultat, och utföra analys av resultat, samtidigt som alla steg noggrant redovisas i uppsatsen. Det inkluderar också att visa på omfattande kunskap om forskningsmetodiker och deras tillämpning. Studierna som utförs skall vara förenlig med, och genom rapporterad redovisning uppvisa, vedertagna karaktäristika för god vetenskaplig metod.
Studierna kan definieras som sökandet efter kunskap eller systematisk utredning för att etablera fakta. Det primära målet med tillämpad forskning (till skillnad från grundforskning) är upptäckande av, förståelse för, och utveckling av metoder/modeller/processer/tekniker och system för befrämjandet av programvaruteknik.
Läs all information om kursen 'Masterarbete i programvaruteknik'
Skriftliga arbeten
Programmet avslutas med ett skriftligt examensarbete motsvarande 30 hp.Internationellt innehåll
Läs om utlandsstudierJobbprofiler
Student med examen från programmet kan bl.a. arbeta inom samtliga branscher där programvaruutveckling sker med följande typer av arbetsuppgifter: kravframställning, projektledning, design, implementering och verifiering och validering. Fokus kan ligga på rena kvalitetsaspekter.Utbildningen är särskilt intressant för studenter som vill arbeta i stora programvaruprojekt.
Fortsatta studier
Student med examen från programmet kan generellt söka vidare utbildning på forskarnivå inom huvudområdet programvaruteknik samt datavetenskap.På BTH finns följande program på forskarnivå som är öppna för studenter med examen från detta program: programvaruteknik.
Programråd
Programmet har ännu inte etablerat ett programråd.Examination
Examen
Utbildningen leder fram till en examen på avancerad nivå, med benämningenTeknologie masterexamen.
Huvudområde: programvaruteknik
Motsvarande benämning på engelska är
Master of Science (120 credits).
Main field of study: Software Engineering
Bedömning och examination
Bedömning och examination varierar mellan olika kurser i programmet. Se information för respektive kurs i programmet.Programutvärderingar
Programutvärdering sker årligen. Alla synpunkter tas till vara och analyseras av samtliga fyra universitet. Studenternas synpunkter på utbildningen används för att förbättra moment i programmet.Alumni
Tidigare studenter arbetar nu bl.a. som: forskarstuderande, deltagare i större programvaruprojekt samt projektledare.
Kontakta studievägledare
För övergripande frågor om studier på BTH, kontakta våra centrala Studie- och Karriärvägledare.






