Software Engineering
180 högskolepoäng (start ht-13)
Översikt
Profil - innehåll
Detta utbildningsprogram syftar till att studenten skall tillägna sig både grundläggande och fördjupade kunskaper inom huvudområdet programvaruteknik för att efter fullgjord utbildning vara anställningsbar inom industrin och vara förberedd för en fortsatt akademisk karriär.Utbildningen präglas av sina praktiska inslag som genomförs i ett antal projektkurser där studenten praktiskt tillämpar sina teoretiska kunskaper i programutvecklingsprojekt. Dessa projekt strävar att efterlikna verklighetens projekt, vilket ofta innebär att problemställningarna inte enbart är tekniska. Lyckade projekt måste också hantera aspekter såsom planering, uppföljning, organisation och kommunikation mellan människor. I projekten ställs studenten inför en extern beställare och kravställare vilket innebär att studenten får använda teoretiska kunskaper, uppfinningsrikedom och sunt förnuft. I projektkurserna förvärvar studenten kunskap av sådan art att den svårligen kan läras in på annat sätt.
Programmet Software Engineering är för den som vill jobba med programutveckling, oavsett vilken specialisering man tänker sig och oavsett om man söker en karriär inom industrin, akademin eller som egen företagare.
Examen
Utbildningen leder fram till en examen på grundnivå:Teknologie kandidatexamen.
Huvudområde: Programvaruteknik.
Motsvarande benämning på engelska är
Degree of Bachelor of Science.
Main field of study: Software Engineering.
Anmälan
Anmälningskod: BTH-86721
Välkomstbrev
Länk till välkomstbrev från ansvarig lärare finns här senast 3 veckor innan kursstart.
Programtid
2013 vecka 36 till
2016 vecka 22
2016 vecka 22
Undervisningsform
Campus, Dagtid, heltid
Ort
Karlskrona
Språk
Undervisningen bedrivs huvudsakligen på svenska. Dock kan undervisning på engelska förekomma.
Nivå
Grundnivå
Huvudområde
Programvaruteknik
Utbildningsplan
Programansvarig
Antagning
Förkunskapskrav
Områdesbehörighet 8: Matematik C (Fysik B, Kemi A och Matematik D krävs ej).Eller:
Områdesbehörighet A8: Matematik 3b alt 3c (Fysik 2, Kemi 1 krävs ej).
Läs mer om grundläggande behörighet.
Urval
Vid fler behöriga sökande än antal tillgängliga platser, till aktuell programstart, görs ett urval. Detta går till på följande sätt:Alla behöriga sökande placeras i en eller flera urvalsgrupper parallellt och deltar då i urvalet inom respektive grupp.
Betygsurval:
BG jämförelsetal i 20-skalan
Slutbetyg från gymnasieskolans program, avgångsbetyg från gymnasieskolans linje, komvux, utländska betyg och samlat betygsdokument.
BF - omdöme
Folkhögskola, med intyg om allmän/grundläggande behörighet och studieomdöme Fördelningen av platser mellan de två betygsgrupperna görs i proportion till antalet sökande i varje grupp.
SA sent anmälda Denna urvalsgrupp är till för sena anmälningar. Sökande som inkommer med en sen anmälan placeras i denna urvalsgrupp och tilldelas meritvärde efter ankomstdag.
Provurval:
HP högskoleprov
I provurvalet HP deltar alla behöriga sökande med giltigt högskoleprov. Lägsta godkända resultat för att delta i provurvalet är 0,1 poäng.
Övriga sökande: ÖS Sökande som uppfyller kravet på behörighet, men saknar meritvärde kan bara antas under förutsättning att samtliga i ovanstående grupper har erbjudits plats.
DA Direktantagning kan ske i särskilda fall genom individuell prövning.
Fördelning av platser:
Vid antagningen till ett utbildningsprogram ska 67 % av platserna fördelas i ett betygsurval och 33 % i ett provurval. Sökande som uppfyller kraven för båda urvalsgrupperna ska ingå i båda.
Behöriga sökande med lika meriter:
Om två eller flera sökande till ett sökalternativ på grund- och avancerad nivå har samma meritvärde ges förtur till underrepresenterat kön. Därefter tillämpas lottning.
För fullständig information om urval se BTH:s antagningsordning.
För utbildningsprogram som vänder sig till nybörjare och tillämpar särskilt urval för en del av platserna, kompletteras texten med metodbeskrivning från antagningsordningen. Exemplet nedan gäller sjuksköterskeprogrammet:
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
Detta utbildningsprogram syftar till att studenten skall tillägna sig både grundläggande och fördjupade kunskaper inom huvudområdet programvaruteknik för att efter fullgjord utbildning vara anställningsbar inom industrin och vara förberedd för en fortsatt akademisk karriär.Utbildningen präglas av sina praktiska inslag som genomförs i ett antal projektkurser där studenten praktiskt tillämpar sina teoretiska kunskaper i programutvecklingsprojekt. Dessa projekt strävar att efterlikna verklighetens projekt, vilket ofta innebär att problemställningarna inte enbart är tekniska. Lyckade projekt måste också hantera aspekter såsom planering, uppföljning, organisation och kommunikation mellan människor. I projekten ställs studenten inför en extern beställare och kravställare vilket innebär att studenten får använda teoretiska kunskaper, uppfinningsrikedom och sunt förnuft. I projektkurserna förvärvar studenten kunskap av sådan art att den svårligen kan läras in på annat sätt.
Programmet Software Engineering är för den som vill jobba med programutveckling, oavsett vilken specialisering man tänker sig och oavsett om man söker en karriär inom industrin, akademin eller som egen företagare.
Lärandemål
Utöver de nationellt reglerade målen gäller följande mål för utbildningen.Efter genomförd utbildning ska studenten
- behärska storskalig produktion av programvara av hög kvalitet för såväl administrativa som tekniska tillämpningsområden.
- förstå och praktiskt kunna tillämpa moderna teknologier för analys, design, konstruktion och test av programvara.
- ha förvärvat grundläggande kunskaper om de organisatoriska aspekter som påverkar programvarukonstruktionen samt praktiskt kunna tillämpa denna kunskap i en projektgrupp.
- i detalj förstå de, för programvarukonstruktion, viktigaste utvecklingsmetoderna och deras tillämpningar samt praktiskt kunna tillämpa dem.
- visa förmågan att självständigt söka kunskap och på egen hand tillägna sig nya färdigheter i ett snabbt föränderligt område.
Upplägg
Upplägg av utbildningen
Det tredje året väljer studenten själv kurser om 30 hp som skall läsas. Programansvarig bestämmer de kurser som finns tillgängliga att välja bland.Utbildningsprogrammets mål uppnås genom de kurser som ingår i examen. Bedömning och examination sker på kursnivå och detaljer rörande examination och betygssättning finns i respektive kursplan.
Under utbildningens gång utvärderas varje kurs, och kursutvärderingarna ligger till grund för fortsatt utvecklingsarbete.
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 2013
Obligatoriska kurser
Analys med problemlösning, 7,5 hp, grundnivå.
Kursens syfte är att introducera matematiska begrepp och metoder inom analys samt träna olika strategier för problemlösning, för att ge en god grund till fortsatta studier inom matematik och datavetenskap.
Läs all information om kursen 'Analys med problemlösning'
Kursens syfte är att introducera matematiska begrepp och metoder inom analys samt träna olika strategier för problemlösning, för att ge en god grund till fortsatta studier inom matematik och datavetenskap.
Läs all information om kursen 'Analys med problemlösning'
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.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
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.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Diskret matematik, 7,5 hp, grundnivå.
Kursens syfte är att introducera matematiska begrepp, metoder och problemställningar inom diskret matematik och att ge en grund för fortsatta studier inom matematik och datavetenskap.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kursens syfte är att introducera matematiska begrepp, metoder och problemställningar inom diskret matematik och att ge en grund för fortsatta studier inom matematik och datavetenskap.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Programmering, datastrukturer och algoritmer, 22,5 hp, grundnivå.
Denna kurs sträcker sig över flera terminer, denna termin läser man 15 hp
Programmering ligger till grund för det mesta som hör till tillämpad IT. En stor del av dagens system är uppbyggda enligt objektorienterade principer med olika varianter av datastrukturer och algoritmer. Syftet är att studenten efter fullföljd kurs ska ha de kunskaper i objektorienterad programmering, datastrukturer och algoritmer som krävs för fortsatta studier i datavetenskap.
Läs all information om kursen 'Programmering, datastrukturer och algoritmer'
Denna kurs sträcker sig över flera terminer, denna termin läser man 15 hp
Programmering ligger till grund för det mesta som hör till tillämpad IT. En stor del av dagens system är uppbyggda enligt objektorienterade principer med olika varianter av datastrukturer och algoritmer. Syftet är att studenten efter fullföljd kurs ska ha de kunskaper i objektorienterad programmering, datastrukturer och algoritmer som krävs för fortsatta studier i datavetenskap.
Läs all information om kursen 'Programmering, datastrukturer och algoritmer'
UNIX och Linux, en översikt och introduktion, 7,5 hp, grundnivå.
UNIX erfarenhet är en nödvändig färdighet i många roller inom IT-sektorn. Storskaliga servrar kör mest operativsystemet UNIX för sin tillförlitlighet och skalbarhet. För forskningsjobb inom datavetenskap förväntas ofta kandidater med en viss exponering av UNIX. Framgången för OS-X och Linux gör att allt fler vanliga stationära system kör någon form av UNIX-miljö.
Målet med kursen är att introducera studenterna till Linux och de kraftfulla problemlösningsverktyg som finns tillgängliga via kommandotolken. Detta innefattar en hög filosofisk nivå för UNIX-system: hur man delar upp ett arbete i mindre bitar och lär sig att kombinera de verktyg som finns för att lösa problem. Kursen kommer att introducera studenterna till kommandotolken, grundläggande kommandon, verktyg och de metoder som finns tillgängliga att kombinera till större arbetsflöden.
Efter avslutad kurs ska varje student vara bekväm med att använda Linux som ett operativsystem för dagliga aktiviteter. De tekniker som de lärt sig på kursen ska vara en tillräcklig grund i UNIX för att ge varje student den erfarenhet som krävs för att fortsätta utveckla sina färdigheter själva.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
UNIX erfarenhet är en nödvändig färdighet i många roller inom IT-sektorn. Storskaliga servrar kör mest operativsystemet UNIX för sin tillförlitlighet och skalbarhet. För forskningsjobb inom datavetenskap förväntas ofta kandidater med en viss exponering av UNIX. Framgången för OS-X och Linux gör att allt fler vanliga stationära system kör någon form av UNIX-miljö.
Målet med kursen är att introducera studenterna till Linux och de kraftfulla problemlösningsverktyg som finns tillgängliga via kommandotolken. Detta innefattar en hög filosofisk nivå för UNIX-system: hur man delar upp ett arbete i mindre bitar och lär sig att kombinera de verktyg som finns för att lösa problem. Kursen kommer att introducera studenterna till kommandotolken, grundläggande kommandon, verktyg och de metoder som finns tillgängliga att kombinera till större arbetsflöden.
Efter avslutad kurs ska varje student vara bekväm med att använda Linux som ett operativsystem för dagliga aktiviteter. De tekniker som de lärt sig på kursen ska vara en tillräcklig grund i UNIX för att ge varje student den erfarenhet som krävs för att fortsätta utveckla sina färdigheter själva.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kurser vårterminen 2014
Obligatoriska kurser
Programvarudesign, 7,5 hp, grundnivå.
För att kunna producera programvara som uppfyller rätt krav för rätt kostnad, inom rätt tidram och med rätt kvalitet så krävs det att man följer en kontrollerad process och att man lägger tid på tidig planering av programvaruproduktionen (modellering och design).
I den här kursen förväntas studenten införskaffa förståelse för en utvecklingsprocess för mjukvara och för de grundläggande aktiviteter och artefakter som tas fram under utvecklingsprocessen. Vidare förväntas studenten införskaffa förståelse för objektorienterad modellering och design. Detta binds sedan samman i och med att studenten förväntas visa sina förvärvade kunskaper genom att utveckla ett mindre system.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
För att kunna producera programvara som uppfyller rätt krav för rätt kostnad, inom rätt tidram och med rätt kvalitet så krävs det att man följer en kontrollerad process och att man lägger tid på tidig planering av programvaruproduktionen (modellering och design).
I den här kursen förväntas studenten införskaffa förståelse för en utvecklingsprocess för mjukvara och för de grundläggande aktiviteter och artefakter som tas fram under utvecklingsprocessen. Vidare förväntas studenten införskaffa förståelse för objektorienterad modellering och design. Detta binds sedan samman i och med att studenten förväntas visa sina förvärvade kunskaper genom att utveckla ett mindre system.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Valbara kurser
Data- och telekommunikation, 7,5 hp, grundnivå.
Syftet med kursen är att studenten skall få grundläggande kunskaper i ämnet datakommunikation med inriktning mot Internet samt en översikt på systemnivå över GSM-nätet och framtida mobiltelefoninät.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Syftet med kursen är att studenten skall få grundläggande kunskaper i ämnet datakommunikation med inriktning mot Internet samt en översikt på systemnivå över GSM-nätet och framtida mobiltelefoninät.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Datorteknik, 7,5 hp, grundnivå.
Inom alla datavetenskapens områden arbetar man med datorer och det är då viktigt att känna till de tekniska förutsättningarna. Kännedom om datorns logiska funktion på låg nivå behövs för att man ska förstå och kunna hantera datorn även om man använder högnivåspråk. Man behöver dock inte fördjupa sig i de fysiska förutsättningarna. Särskilt inom realtid- och operativsystem, är detaljerade kunskaper om datorns funktion behövliga. Inom realtid- och operativsystem måste man förstå hur datorn fungerar på avbrottsnivå och hur man hanterar minne och kontakt med yttre enheter
I denna kurs ska studenten lära sig de underliggande förutsättningarna för ett operativsystems konstruktion och funktion.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Inom alla datavetenskapens områden arbetar man med datorer och det är då viktigt att känna till de tekniska förutsättningarna. Kännedom om datorns logiska funktion på låg nivå behövs för att man ska förstå och kunna hantera datorn även om man använder högnivåspråk. Man behöver dock inte fördjupa sig i de fysiska förutsättningarna. Särskilt inom realtid- och operativsystem, är detaljerade kunskaper om datorns funktion behövliga. Inom realtid- och operativsystem måste man förstå hur datorn fungerar på avbrottsnivå och hur man hanterar minne och kontakt med yttre enheter
I denna kurs ska studenten lära sig de underliggande förutsättningarna för ett operativsystems konstruktion och funktion.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kurser höstterminen 2014
Obligatoriska kurser
Databasteknik, 7,5 hp, grundnivå.
Inom tillämpad informationsteknologi är utveckling av applikationer baserade på databaser ett stort område. En viktig komponent i dessa applikationer är utvecklingen av själva databasen där aspekter såsom modellering och design, prestanda och svarstider, samt strukturerad programmering och utbyggbarhet är viktiga komponenter.
Studenten får här en grundlig genomgång i ämnet, både teoretisk och praktisk, som syftar till att studenten självständigt skall förstå och lära sig använda processen att modellera och implementera en databasapplikation.
Läs all information om kursen 'Databasteknik'
Inom tillämpad informationsteknologi är utveckling av applikationer baserade på databaser ett stort område. En viktig komponent i dessa applikationer är utvecklingen av själva databasen där aspekter såsom modellering och design, prestanda och svarstider, samt strukturerad programmering och utbyggbarhet är viktiga komponenter.
Studenten får här en grundlig genomgång i ämnet, både teoretisk och praktisk, som syftar till att studenten självständigt skall förstå och lära sig använda processen att modellera och implementera en databasapplikation.
Läs all information om kursen 'Databasteknik'
Individuellt programvaruprojekt, 7,5 hp, grundnivå.
Att lyckas med småskalig programutveckling är en utmaning som ställer krav på ett brett tekniskt kunnande, en förmåga att se fördelar och nackdelar med olika tekniska lösningar, en lyhördhet i kommunikation med beställaren samt ett välorganiserat och strukturerat arbetssätt.
Studenten övar här sin förmåga att enligt en bestämd tidplan och budget konstruera och leverera mjukvara med tillhörande dokumentation enligt beställarens specifikation.
Genom att genomföra ett programutvecklingsprojekt mot en verklig och extern beställare förvärvar studenten de förmågor, insikter och praktiska erfarenheter som är nödvändiga för att lyckas med projektbaserad småskalig programutveckling.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Att lyckas med småskalig programutveckling är en utmaning som ställer krav på ett brett tekniskt kunnande, en förmåga att se fördelar och nackdelar med olika tekniska lösningar, en lyhördhet i kommunikation med beställaren samt ett välorganiserat och strukturerat arbetssätt.
Studenten övar här sin förmåga att enligt en bestämd tidplan och budget konstruera och leverera mjukvara med tillhörande dokumentation enligt beställarens specifikation.
Genom att genomföra ett programutvecklingsprojekt mot en verklig och extern beställare förvärvar studenten de förmågor, insikter och praktiska erfarenheter som är nödvändiga för att lyckas med projektbaserad småskalig programutveckling.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Valbara kurser
Realtids- och operativsystem, 7,5 hp, grundnivå.
Ett operativsystem utgör gränssnitt mellan mjukvaruapplikationer och hårdvara. Operativsystemet hanterar och fördelar datorsystemets resurser och påverkar därför alla mjukvaruapplikationers prestanda och realtidsegenskaper. Det är därför nödvändigt att mjukvaruutvecklare har god förståelse för hur ett operativsystem fungerar.
Läs all information om kursen 'Realtids- och operativsystem'
Ett operativsystem utgör gränssnitt mellan mjukvaruapplikationer och hårdvara. Operativsystemet hanterar och fördelar datorsystemets resurser och påverkar därför alla mjukvaruapplikationers prestanda och realtidsegenskaper. Det är därför nödvändigt att mjukvaruutvecklare har god förståelse för hur ett operativsystem fungerar.
Läs all information om kursen 'Realtids- och operativsystem'
UNIX och Linux, en översikt och introduktion, 7,5 hp, grundnivå.
UNIX erfarenhet är en nödvändig färdighet i många roller inom IT-sektorn. Storskaliga servrar kör mest operativsystemet UNIX för sin tillförlitlighet och skalbarhet. För forskningsjobb inom datavetenskap förväntas ofta kandidater med en viss exponering av UNIX. Framgången för OS-X och Linux gör att allt fler vanliga stationära system kör någon form av UNIX-miljö.
Målet med kursen är att introducera studenterna till Linux och de kraftfulla problemlösningsverktyg som finns tillgängliga via kommandotolken. Detta innefattar en hög filosofisk nivå för UNIX-system: hur man delar upp ett arbete i mindre bitar och lär sig att kombinera de verktyg som finns för att lösa problem. Kursen kommer att introducera studenterna till kommandotolken, grundläggande kommandon, verktyg och de metoder som finns tillgängliga att kombinera till större arbetsflöden.
Efter avslutad kurs ska varje student vara bekväm med att använda Linux som ett operativsystem för dagliga aktiviteter. De tekniker som de lärt sig på kursen ska vara en tillräcklig grund i UNIX för att ge varje student den erfarenhet som krävs för att fortsätta utveckla sina färdigheter själva.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
UNIX erfarenhet är en nödvändig färdighet i många roller inom IT-sektorn. Storskaliga servrar kör mest operativsystemet UNIX för sin tillförlitlighet och skalbarhet. För forskningsjobb inom datavetenskap förväntas ofta kandidater med en viss exponering av UNIX. Framgången för OS-X och Linux gör att allt fler vanliga stationära system kör någon form av UNIX-miljö.
Målet med kursen är att introducera studenterna till Linux och de kraftfulla problemlösningsverktyg som finns tillgängliga via kommandotolken. Detta innefattar en hög filosofisk nivå för UNIX-system: hur man delar upp ett arbete i mindre bitar och lär sig att kombinera de verktyg som finns för att lösa problem. Kursen kommer att introducera studenterna till kommandotolken, grundläggande kommandon, verktyg och de metoder som finns tillgängliga att kombinera till större arbetsflöden.
Efter avslutad kurs ska varje student vara bekväm med att använda Linux som ett operativsystem för dagliga aktiviteter. De tekniker som de lärt sig på kursen ska vara en tillräcklig grund i UNIX för att ge varje student den erfarenhet som krävs för att fortsätta utveckla sina färdigheter själva.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kurser vårterminen 2015
Obligatoriska kurser
Programvaruprojekt i grupp, 15 hp, grundnivå.
Att utveckla programvara ställer stora krav på tekniskt kunnande. Man måste vara en duktig programmerare och man behöver förståelse för och kunskap i att designa arkitekturen av större programvaror. Man måste också ha kunskap om tredjeparts programvaror och ha förmågan att integrera dessa med sin egen programvara.
I denna kurs får studenten användning av ett flertal av de förmågor som hon tidigare tillägnat sig under sin studietid. Kursen syftar till att binda ihop denna flora av kunskaper inom ramen för ett grupprojekt där en större programvara skall utvecklas. Kursen är upplagd för att, så nära det är möjligt, efterlikna ett projekt som det normalt kan bedrivas ute i industrin.
Programvaruutveckling innebär att tillämpa systematiska, disciplinerade och mätbara metoder för utvecklande, användande och underhåll av programvara. I denna kurs praktiserar studenten metoder som understödjer detta ingenjörsmässiga arbetssätt. Programvaruutveckling i grupp ställer dessutom krav på organisation, ledning, samarbetsförmåga och muntlig såsom skriftlig kommunikation med medarbetare, kunder och andra intressenter. Inom ramen för denna kurs ges studenten möjlighet att vidare utveckla sina kunskaper inom dessa mjukare bitar av konsten att lyckas med programutveckling.
Sammantaget utvecklar studenten sina förmågor inom programutveckling för att ytterligare förbereda sig inför sin yrkesverksamhet inom programutvecklingsindustrin.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Att utveckla programvara ställer stora krav på tekniskt kunnande. Man måste vara en duktig programmerare och man behöver förståelse för och kunskap i att designa arkitekturen av större programvaror. Man måste också ha kunskap om tredjeparts programvaror och ha förmågan att integrera dessa med sin egen programvara.
I denna kurs får studenten användning av ett flertal av de förmågor som hon tidigare tillägnat sig under sin studietid. Kursen syftar till att binda ihop denna flora av kunskaper inom ramen för ett grupprojekt där en större programvara skall utvecklas. Kursen är upplagd för att, så nära det är möjligt, efterlikna ett projekt som det normalt kan bedrivas ute i industrin.
Programvaruutveckling innebär att tillämpa systematiska, disciplinerade och mätbara metoder för utvecklande, användande och underhåll av programvara. I denna kurs praktiserar studenten metoder som understödjer detta ingenjörsmässiga arbetssätt. Programvaruutveckling i grupp ställer dessutom krav på organisation, ledning, samarbetsförmåga och muntlig såsom skriftlig kommunikation med medarbetare, kunder och andra intressenter. Inom ramen för denna kurs ges studenten möjlighet att vidare utveckla sina kunskaper inom dessa mjukare bitar av konsten att lyckas med programutveckling.
Sammantaget utvecklar studenten sina förmågor inom programutveckling för att ytterligare förbereda sig inför sin yrkesverksamhet inom programutvecklingsindustrin.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Grundläggande systemverifiering, 7,5 hp, grundnivå.
Kursens syfte är att introducera systemverifiering och testning. Kursen tar upp testmetoder, strategier och testmiljö. Det tas även upp hur gruppen kring testningen kan organiseras och hur testgruppen fungerar tillsammans med övriga delar av systemutvecklingsgruppen. Test av mjukvarusystem är en komplex och viktig del i att få ett fungerande system levererat till användarna. Kompetens inom systemverifiering och test är och kommer vara efterfrågat.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kursens syfte är att introducera systemverifiering och testning. Kursen tar upp testmetoder, strategier och testmiljö. Det tas även upp hur gruppen kring testningen kan organiseras och hur testgruppen fungerar tillsammans med övriga delar av systemutvecklingsgruppen. Test av mjukvarusystem är en komplex och viktig del i att få ett fungerande system levererat till användarna. Kompetens inom systemverifiering och test är och kommer vara efterfrågat.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Valbara kurser
Användbarhet och interaktion, 7,5 hp, grundnivå.
Kursen syftar till att synliggöra användarens behov och ge kunskap om hur olika sorters gränssnitt kan utformas för ökad användbarhet. Kursen erbjuder en introduktion till området människa datorinteraktion, särskilt med avseende på användbarhet och tillgänglighet.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kursen syftar till att synliggöra användarens behov och ge kunskap om hur olika sorters gränssnitt kan utformas för ökad användbarhet. Kursen erbjuder en introduktion till området människa datorinteraktion, särskilt med avseende på användbarhet och tillgänglighet.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kompilator- och översättarteknik, 7,5 hp, grundnivå.
Alla inom datavetenskap är storanvändare av kompilatorer och översättare. Det är då av stort värde att känna till dessas funktion, dels för att kunna bedöma dess kvalite, dels för att vara avancerade användare av dessa. Vidare har man ofta behov av enkel eller mer komplicerad översättning varvid man själv kan behöva konstruera översättare. Den teknik som används inom översättning och kompilering är också tillämpbar inom många andra områden, varför kunskaper i detta ämne är synnerligen nyttiga.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Alla inom datavetenskap är storanvändare av kompilatorer och översättare. Det är då av stort värde att känna till dessas funktion, dels för att kunna bedöma dess kvalite, dels för att vara avancerade användare av dessa. Vidare har man ofta behov av enkel eller mer komplicerad översättning varvid man själv kan behöva konstruera översättare. Den teknik som används inom översättning och kompilering är också tillämpbar inom många andra områden, varför kunskaper i detta ämne är synnerligen nyttiga.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kurser höstterminen 2015
Obligatoriska kurser
Linjär algebra, 7,5 hp, grundnivå.
I kursen skall studenten inhämta de grundläggande kunskaper inom linjär algebra som fordras inom tekniska utbildningsprogram.
Läs all information om kursen 'Linjär algebra'
I kursen skall studenten inhämta de grundläggande kunskaper inom linjär algebra som fordras inom tekniska utbildningsprogram.
Läs all information om kursen 'Linjär algebra'
Valbara kurser
Grunder i spelutveckling, 7,5 hp, grundnivå.
Spelutveckling handlar om att implementera och förverkliga en spelidé. Syftet med kursen är att studenten ska förvärva kunskaper om hur datorspel utvecklas i teorin och i praktiken. Kursen är därför uppbyggd kring spelkoncept och teorier som kommer att tillämpas i ett spelkonceptutvecklingsprojekt. Genom att arbeta med spelkonceptutveckling får studenten en bas för akademiskt skrivande, kritiskt förhållningssätt, presentationsteknik och arbete i grupp. Detta för att kunna tillgodogöra sig fortsatta studier, även utöver spelområdet.
Då speltekniker sällan har erfarenhet att använda verktyg för att skapa spel kommer kursen att vara en viktig del i studentens fortsatta utveckling inom området spelutveckling.
Läs all information om kursen 'Grunder i spelutveckling'
Spelutveckling handlar om att implementera och förverkliga en spelidé. Syftet med kursen är att studenten ska förvärva kunskaper om hur datorspel utvecklas i teorin och i praktiken. Kursen är därför uppbyggd kring spelkoncept och teorier som kommer att tillämpas i ett spelkonceptutvecklingsprojekt. Genom att arbeta med spelkonceptutveckling får studenten en bas för akademiskt skrivande, kritiskt förhållningssätt, presentationsteknik och arbete i grupp. Detta för att kunna tillgodogöra sig fortsatta studier, även utöver spelområdet.
Då speltekniker sällan har erfarenhet att använda verktyg för att skapa spel kommer kursen att vara en viktig del i studentens fortsatta utveckling inom området spelutveckling.
Läs all information om kursen 'Grunder i spelutveckling'
Programmering i UNIX-miljö, 7,5 hp, grundnivå.
Syftet med kursen är att studenten ska tillägna 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, systemanropen.
Många 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). 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.
Kursen 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ö'
Syftet med kursen är att studenten ska tillägna 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, systemanropen.
Många 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). 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.
Kursen 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ö'
Tillämpad artificiell intelligens, 7,5 hp, grundnivå.
Artificiell intelligens i olika former finns i en allt större del av de datoriserade system vi använder - optimeringstekniker inom logistik, datorstyrda karaktärer i datorspel, beslutsstödssystem, bildbehandlingsalgoritmer och mobila robotar. Kursen syftar till att introducera studenten till området artificiell intelligens och några av dess tillämpningsområden.
Läs all information om kursen 'Tillämpad artificiell intelligens'
Artificiell intelligens i olika former finns i en allt större del av de datoriserade system vi använder - optimeringstekniker inom logistik, datorstyrda karaktärer i datorspel, beslutsstödssystem, bildbehandlingsalgoritmer och mobila robotar. Kursen syftar till att introducera studenten till området artificiell intelligens och några av dess tillämpningsområden.
Läs all information om kursen 'Tillämpad artificiell intelligens'
3D-programmering I, 7,5 hp, grundnivå.
3D-programmering är en av huvudbyggstenarna inom spelproduktion och utgör en brygga mellan 3D-modellering och berättelse. Syftet med kursen är att studenterna ska skaffa sig en ökad förståelse för 3D-grafik och 3D-programmering samt kunskap om de viktigaste begreppen i ämnet. Den teoretiska grunden för 3D grafik kombineras med praktiska tillämpningar för att öka förståelsen för sambandet mellan teori och praktik.
Aktuella tekniker som bland annat används inom spelindustrin, introduceras i kursen. Teknikerna utgör en bas för studenternas vidare kunskapsutveckling.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
3D-programmering är en av huvudbyggstenarna inom spelproduktion och utgör en brygga mellan 3D-modellering och berättelse. Syftet med kursen är att studenterna ska skaffa sig en ökad förståelse för 3D-grafik och 3D-programmering samt kunskap om de viktigaste begreppen i ämnet. Den teoretiska grunden för 3D grafik kombineras med praktiska tillämpningar för att öka förståelsen för sambandet mellan teori och praktik.
Aktuella tekniker som bland annat används inom spelindustrin, introduceras i kursen. Teknikerna utgör en bas för studenternas vidare kunskapsutveckling.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Lärande system, 7,5 hp, avancerad nivå.
En konsekvens av den tekniska utvecklingen är att vi blivit mer beroende av databaser för lagring och databehandling. Antalet, och speciellt storleken på, databaserna växer snabbt. I takt med denna tillväxt blir det allt svårare att manuellt finna användbar information från den stora mängden data. Vi behöver därför automatiserade metoder för att aggregera, analysera och extrahera användbar information. Metoder och tekniker från lärande system (machine learning) och artificiell intelligens har visat sig användbara för detta syfte.
Det huvudsakliga syftet med kursen är att ge studenten grundläggande kunskaper om artificiell intelligens, en fördjupad teknisk förståelse för forskning och teorier inom ämnet lärande system, samt praktiskt erfarenhet vad gäller både användande och utveckling av informationsutvinningstekniker (data mining technologies).
Forskning inom området Lärande system har tidigare varit väldigt teoretisk i sin natur, alternativt har den baserats på experimentella studier av syntetiska datamängder. Idag används lärande system i allt högre utsträckning i riktiga tillämpningar, exempelvis informationsutvinning (data mining). Kursen är fokuserad kring denna typ av tillämpningar och ligger därför helt i linje med det prioriterade området Tillämpad IT.
Studenten lär sig inte bara hur man kritiskt granskar och jämför olika algoritmer och metoder, utan även att planera, designa och implementera lärande komponenter och applikationer och hur man genomför experiment med lärande system.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
En konsekvens av den tekniska utvecklingen är att vi blivit mer beroende av databaser för lagring och databehandling. Antalet, och speciellt storleken på, databaserna växer snabbt. I takt med denna tillväxt blir det allt svårare att manuellt finna användbar information från den stora mängden data. Vi behöver därför automatiserade metoder för att aggregera, analysera och extrahera användbar information. Metoder och tekniker från lärande system (machine learning) och artificiell intelligens har visat sig användbara för detta syfte.
Det huvudsakliga syftet med kursen är att ge studenten grundläggande kunskaper om artificiell intelligens, en fördjupad teknisk förståelse för forskning och teorier inom ämnet lärande system, samt praktiskt erfarenhet vad gäller både användande och utveckling av informationsutvinningstekniker (data mining technologies).
Forskning inom området Lärande system har tidigare varit väldigt teoretisk i sin natur, alternativt har den baserats på experimentella studier av syntetiska datamängder. Idag används lärande system i allt högre utsträckning i riktiga tillämpningar, exempelvis informationsutvinning (data mining). Kursen är fokuserad kring denna typ av tillämpningar och ligger därför helt i linje med det prioriterade området Tillämpad IT.
Studenten lär sig inte bara hur man kritiskt granskar och jämför olika algoritmer och metoder, utan även att planera, designa och implementera lärande komponenter och applikationer och hur man genomför experiment med lärande system.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Prestandaoptimering, 7,5 hp, grundnivå.
Prestanda är en viktig aspekt i alla programvaror, och extra viktig i just datorspel. För att kunna utveckla bra program med hög prestanda är det väsentligt att studenten utvecklar en god förståelse för olika metoder och tekniker för att analysera och optimera prestandan för ett datorprogram.
Läs all information om kursen 'Prestandaoptimering'
Prestanda är en viktig aspekt i alla programvaror, och extra viktig i just datorspel. För att kunna utveckla bra program med hög prestanda är det väsentligt att studenten utvecklar en god förståelse för olika metoder och tekniker för att analysera och optimera prestandan för ett datorprogram.
Läs all information om kursen 'Prestandaoptimering'
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.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
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.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kurser vårterminen 2016
Obligatoriska kurser
Kandidatarbete - Stort programvaruprojekt i grupp, 30 hp, grundnivå.
Kursen syftar till att binda ihop tidigare kunskaper inom ramen för ett stort grupprojekt där en omfattande programvara skall utvecklas. Kursen är upplagd för att, så nära det är möjligt, efterlikna ett projekt som det normalt kan bedrivas ute i industrin och är också ett kandidatarbete i Programvaruteknik.
Att utveckla programvara ställer stora krav på tekniskt kunnande. Man måste vara en duktig programmerare och man behöver förståelse för och kunskap i att designa arkitekturen av större programvaror. Man måste också ha kunskap om tredjeparts programvaror och ha förmågan att integrera dessa med sin egen programvara. I denna kurs får studenten användning av ett flertal av de förmågor som tidigare tillägnats under studietiden.
Programvaruutveckling innebär att tillämpa systematiska, disciplinerade och mätbara metoder för utvecklande, användande och underhåll av programvara. I denna kurs praktiserar studenten metoder som understödjer detta ingenjörsmässiga arbetssätt.
Programvaruutveckling i grupp ställer dessutom krav på organisation, ledning, samarbetsförmåga och muntlig såsom skriftlig kommunikation med medarbetare, kunder och andra intressenter. Inom ramen för denna kurs ges studenten möjlighet att vidare utveckla sina kunskaper inom dessa mjukare bitar av konsten att lyckas med programutveckling.
Sammantaget utvecklar studenten sina förmågor inom programutveckling för att vara väl förberedd inför en yrkesverksamhet inom programutvecklingsindustrin, alternativt en akademisk karriär.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Kursen syftar till att binda ihop tidigare kunskaper inom ramen för ett stort grupprojekt där en omfattande programvara skall utvecklas. Kursen är upplagd för att, så nära det är möjligt, efterlikna ett projekt som det normalt kan bedrivas ute i industrin och är också ett kandidatarbete i Programvaruteknik.
Att utveckla programvara ställer stora krav på tekniskt kunnande. Man måste vara en duktig programmerare och man behöver förståelse för och kunskap i att designa arkitekturen av större programvaror. Man måste också ha kunskap om tredjeparts programvaror och ha förmågan att integrera dessa med sin egen programvara. I denna kurs får studenten användning av ett flertal av de förmågor som tidigare tillägnats under studietiden.
Programvaruutveckling innebär att tillämpa systematiska, disciplinerade och mätbara metoder för utvecklande, användande och underhåll av programvara. I denna kurs praktiserar studenten metoder som understödjer detta ingenjörsmässiga arbetssätt.
Programvaruutveckling i grupp ställer dessutom krav på organisation, ledning, samarbetsförmåga och muntlig såsom skriftlig kommunikation med medarbetare, kunder och andra intressenter. Inom ramen för denna kurs ges studenten möjlighet att vidare utveckla sina kunskaper inom dessa mjukare bitar av konsten att lyckas med programutveckling.
Sammantaget utvecklar studenten sina förmågor inom programutveckling för att vara väl förberedd inför en yrkesverksamhet inom programutvecklingsindustrin, alternativt en akademisk karriär.
Kursen och programmet är under utveckling och ingen mer information är tillgänglig för närvarande.
Skriftliga arbeten
Programmet avslutas med ett skriftligt examensarbete (kandidatarbete) motsvarande 15 hp.Internationellt innehåll
Möjlighet till studier utomlands finns och uppmuntras.Läs om utlandsstudier
Jobbprofiler
Studenter med examen från programmet kan komma att arbeta som följande: Software Engineer, Consultant, Web manager, Key Account Manager, Utbildare, Senior Consultant, Developer, Software Architect, System Manager, Project Manager, Technical product managerFortsatta studier
Vill du bygga på en befintlig kandidatexamen så har vi flera masterprogram som kan passa. Närheten till duktiga forskargrupper gör det extra intressant att studera här. Flera av våra masterprogram har internationella kopplingar där du kan studera en viss tid i utlandet. Några av utbildningarna är industrinära och du får tillbringa en del av din tid i företag.Programråd
Programmet har ännu inte etablerat ett programråd.Examination
Examen
Utbildningen leder fram till en examen på grundnivå:Teknologie kandidatexamen.
Huvudområde: Programvaruteknik.
Motsvarande benämning på engelska är
Degree of Bachelor of Science.
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
Programmet kommer fr.o.m. 2011 att årligen utvärderas av studenterna.Studenternas synpunkter på utbildningen används för att förbättra moment i programmet.
Alumni
Tidigare studenter arbetar nu bl.a som: Software Engineer, Consultant, Web manager, Key Account Manager, Utbildare, Senior Consultant, Developer, Software Architect, System Manager, Project Manager, Technical product manager
Kontakta studievägledare
För övergripande frågor om studier på BTH, kontakta våra centrala Studie- och Karriärvägledare.






