Webbprogrammering 180 hp
Anmälan öppnar 2019-03-15
Välkommen till en specialiserad utbildning inom programmering med webbteknologier. Utbildningen ger dig både spets och bredd – bredden av traditionell utbildning inom programvaruteknik samt spetsen av utveckling med webbteknologier. Utbildningen leder till de flesta yrken inom professionell mjukvaruutveckling såsom programmerare, systemutvecklare, användargränssnitt, databaser, lösningsarkitekt, konsult, projektledare och chef.
Under utbildningen lär du dig utveckla och kvalitetssäkra små som stora programvarusystem. Det handlar om mindre webbplatser och bloggverktyg liksom större system av e-handel och transaktionsintensiva system med stora mängder data och höga krav på skalbarhet och driftsäkerhet i molnet.
Målet med utbildningen är att förbereda dig för en bransch där populära tekniker snabbt växlar och där arbetsuppgifter skiftar mellan användargränssnitt (user experience, frontend), programmering och databaser (backend) samt driftsättning, test och kvalitetssäkring (devops). Du jobbar både enskilt och i projektgrupper. En stor del av utbildningen genomförs i skarpa projekt med företag. Det erbjuder goda möjligheter att varva praktik med teori och hjälper dig att etablera ett kontaktnät.
Utbildningen omfattar 180 högskolepoäng och leder fram till en kandidatexamen i programvaruteknik, inriktning webbprogrammering. En termin av utbildningen kan utföras som utlandsstudier.
Programinnehåll
Om du vill bli expert på frontend och UX, alltså det som är användarens upplevelse så kan du det med denna utbildning. Vill du hellre satsa på backend, ramverk och databaser så är det också möjligt. Ditt eget intresse styr var du vill lägga betoningen någonstans.
Första året får du grundläggande kunskaper i programvaruutveckling. Du läser kurser i programmering och problemlösning, algoritmer och datastrukturer, operativsystem och databaser. Detta läses parallellt med kurser i webbteknologier där du utför projekt i webbläsare och på mobila plattformar. Du använder tekniker både för frontend och backend.
Under andra året använder du teknikerna tillsammans i större projekt och fortsätter med kurser i nätverk, tester och utveckling med ramverk, samt driftsättning av webbtjänster i molnet, och lär dig om devops.
Under tredje året fortsätter fördjupningen inom traditionell programvaruutveckling tillsammans med spetstekniker inom webbteknologier och slutligen gör du både ett avslutningsprojekt i grupp och ett individuellt examensarbete.
Du får kunskaper med dig som gör att du kan arbeta brett inom IT-branschen. Några teknologier som används är Git, GitHub, Linux/Mac/Windows, Python, JavaScript, Node.js, PHP samt ramverk med JavaScript/Python/PHP. Du lär dig även SQL/NoSQL databaser, virtualisering med Docker, UX med HTML5/CSS3 och 3D- visualisering.
Vårt självklara fokus är också att du ska bli duktig på problemlösning och självständigt arbete. Det är avgörande när man ska arbeta i näringslivet. BTH satsar på att jobba i samverkan med näringslivet, och en stor del av din utbildning ger dig möjlighet att knyta kontakter med företag i olika projekt. I projektarbeten lär du dig kommunikation, kundkontakter, planering och teamarbete – sådant som inte kan läras ut i föreläsningssalen.
Exempel på studentprojekt som genomförts, redan under första året, är appar med olika funktioner – till exempel resultat och aktuell ställning för olika fotbollsligor i Europa. Ett annat exempel är en app som visar restauranger och vädret i närheten av ett visst evenemang.
Det finns ett stort behov av dig på arbetsmarknaden. Våra studenter har lätt att få jobb efter avslutad utbildning. Våra tidigare studenter arbetar numera på så vitt skilda ställen som Oracle, Pensionsmyndigheten, Webbhallen, Prisjakt, Försäkringskassan, Telia, Telenor, Ericsson och så vidare. Utbildningen ger också en bra grund för att bli egenföretagare.
Programvärderingar och programråd
Utbildningsprogrammet utvärderas kontinuerligt genom de enskilda kursernas kursvärderingar som genomförs efter avslutad kurs med återkoppling till studenterna. Kursvärderingarna redovisas och diskuteras av kurs- och programansvariga, varefter förändringar i programmet kan bli aktuella.
Programmet är kopplat till ett programråd som behandlar frågor rörande kvalitets- och utvecklingsfrågor. I programrådet eller i olika utskott till programrådet är externa ledamöter, studentrepresentanter samt tidigare studenter knutna för diskussioner om programmets utveckling, kvalitet och relevans för arbetsmarknaden.
Studentprojekt
Intervju med Daniel Lindgren (3 min)
Daniel läser utbildningen Webbprogrammering vid BTH. Han berättar om ett studentprojekt som görs i samarbete med Ericsson.
Intervju med Emma Thorén (2 min)
Emma berättar om sitt studentprojekt och fördelarna med att samarbeta med andra utbildningsprogram och riktiga företag.
Studentprojekt
Dirble skapades 2011 och släpptes 2012 som en gratis tjänst av Håkan Nylén under en öppen api-projektgrupp, kallad Devality som just nu bara har Dirble under sig. Dirble började som ett hobbyprojekt och har nu vuxit sig till att bli en professionell tjänst för att ta hand om radiostationers information och erbjuda den informationen fritt för alla.
I ett grupprojekt i tvåan byggde Bobba, Kenneth, Yeti och Robin plugins till plugins till mobilapplikationsramverken PhoneGap och Appcelerator. Kunden var företaget Malvacom som utvecklat en egen produkt mAppBridge för att underlätta kommunikation i mobila system.
Innehåll
Fakta
- Undervisningsform: Campus, dagtid, heltid
- Anmälningskod: BTH-86966
- Period: 2019 vecka 35 till 2022 vecka 22
- Nivå: Grundnivå
- Huvudområde: Programvaruteknik
- Utbildningsplan: Ladda ner
- Anmälan: Anmälan öppnar 2019-03-15
- Välkomstbrev: Länk till välkomstbrev från ansvarig lärare finns här senast 3 veckor innan kursstart.
- Ort: Karlskrona
- Språk: Undervisningen ges normalt på svenska men undervisning på engelska kan förekomma.
- Förkunskapskrav: Grundläggande behörighet samt Matematik 3b alt 3c.
Vid antagningen till ett utbildningsprogram ska högst 67 % av platserna fördelas i ett betygsurval och minst 33 % i ett provurval. Sökande som uppfyller kraven för flera urvalsgrupper ska ingå i samtliga. Meritpoäng inför urval enligt Områdesbehörighet A8/8.
Antagningsordning
Examen
Utbildningen leder fram till följande examen på grundnivå:
Filosofie kandidatexamen
Huvudområde: Programvaruteknik
Inriktning: Webbprogrammering
Motsvarande benämning på engelska är:
Degree of Bachelor of Science
Main field of study: Software Engineering
Specialization: Web Programming
(Du kan inom ramen för programmet, eller efter programmet, själv välja att läsa minst två kurser i matematik för att uppnå en teknologie kandidatexamen med benämningen teknologie kandidatexamen.)
Lärandemål
Utöver de nationella målen för examen ska för utbildningen även gälla följande mål.
Kunskap och förståelse
Efter genomförd utbildning ska studenten:
- ha förvärvat en grundlig förståelse för de faktorer som styr utvecklingen och användandet av teknik och lösningar inom webbprogrammering samt kunna använda denna kunskap och förståelse för att göra resonemang och slutsatser om framtida vägval, t.ex. att välja rätt teknik i rätt sammanhang
- i detalj förstå de för programvarukonstruktion viktigaste utvecklingsmetoderna och dess tillämpningar samt praktiskt kunna tillämpa dem
- 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 som är geografiskt spridd.
Färdighet och förmåga
Efter genomförd utbildning ska studenten:
- visa förmåga att självständigt söka kunskap och på egen hand tillägna sig nya färdigheter i det snabbt föränderliga teknik området som programmet omspänner
- förstå och praktiskt kunna tillämpa teknologier för analys, design, konstruktion och test av programvara
- behärska storskalig produktion av programvara av hög kvalitet för såväl administrativa som tekniska tillämpningsområden, med fokus på webb- och internetteknologier.
Värderingsförmåga och förhållningssätt
Efter genomförd utbildning ska studenten:
- visa förmågan att vidareutveckla sin kompetens då behov föreligger
- visa förmågan att göra analyser och bedömningar ur ett programvarutekniskt perspektiv.
Jobbprofiler
Dina jobb finns främst inom webb- och programutvecklingsbranschen. Variationen på bolag är stor, det finns allt från små, medelstora till stora internationella företag, du kan jobba som anställd, egen företagare, frilansare eller på ett konsultbolag där du blir uthyrd till slutkunden.Det finns alltså ett stort utbud av möjliga arbetsplatser och behovet av duktiga webbprogrammerare ökar. På de internationella företagen brukar det ofta finnas möjlighet till att jobba perioder i andra länder. Duktiga webbprogrammerare eftersöks också över gränserna så du hamnar i en internationell arbetsmarknad.
Kurser i detta program
Obligatoriska kurser
Kursen lär ut webbutveckling där teknikerna HTML, CSS, PHP och SQL används för att tillsammans bygga en databasdriven webbplats. Kursen är för de som vill lära sig om webbutveckling och webbprogrammering. HTML och CSS ger grundförutsättningarna för hur en webbapplikation kan byggas. Genom att använda server-side skriptprogrammering med PHP så kan webbapplikationen bli mer dynamisk och lagra information i databaser. Dessutom kan webbapplikationen byggas upp med en programmeringsmässig struktur, en struktur som underlättar utveckling och underhåll av webbplatsen. Detta är en introduktionskurs för den som vill lära sig teknikerna från grunden. Kursen hanterar helheten kring en webbapplikation. Till att börja med fokuseras på HTML och CSS. Vi använder HTML5 och tittar på vilka möjligheter som CSS3 kommer att erbjuda. Därefter introduceras PHP som ett skriptspråk och med enkla programmeringskonstruktioner får vi möjlighet att bygga ut vår webbplats på ett strukturerat sätt. Vi fortsätter med att lagra information i en filbaserad databas (SQLite) via PHP's gränssnitt PHP Data Objekt. Vi använder frågespråket SQL och lär oss de grundläggande konstruktionerna. Sammantaget blir kursen en grundlig introduktion och orientering i de tekniker som vanligtvis används för att skapa webbplatser.
Läs merSyftet med kursen är att ge studenten grundläggande kunskaper i klientbaserad webbprogrammering i webbläsaren med programmeringsspråket JavaScript och närliggande relevanta tekniker. Syftet är även att bygga vidare på studentens befintliga kunskap inom problemlösning, utvecklingsverktyg samt metoder för utveckling av programvara och felsökning.
Läs merKursen lär ut strukturerad programmering och problemlösning med programmeringsspråket Python. Detta är en grundkurs i programmering vilket innebär att vi startar med att skapa rutiner för problemlösning och felsökning via enkla grundkonstruktioner i Python. Vi bygger en utvecklingsmiljö som hjälper oss med utveckling och felsökning. Efterhand bygger vi mer och mer avancerade konstruktioner i Python, men fortfarande på en rimlig nivå som passar en nybörjare i programmering. Programmeringsspråket Python är ett högnivåspråk med stöd för olika programmeringsparadigmer som objektorientering och funktionell programmering. Du använder Python för att bekanta dig med dessa olika sätt att skriva sin kod. Du använder också Pythons inbyggda standardbibliotek med bland annat filhantering, datastrukturer, kopplingar till databaser tillsammans med tekniker för att bygga grafiska användargränssnitt och för att skapa webbsidor i Python. Via litteraturstudier och praktiska övningar får du möjlighet att via programmeringsspråket Python, lära dig grunderna i strukturerad programmering och problemlösning. I slutet av kursen får du visa dina färdigheter i ett praktiskt programmeringsprojekt.
Läs merKursen syftar till en orientering inom områdena design och användbarhet, specifikt för tillämpningsområdet webb. Kursen har tekniken som utgångspunkt, där olika tekniker introduceras och används för att underlätta webbdesign och användbarhet för webbplatsen med syftet att skapa en korrekt och användarvänlig webbplats.
Läs merObligatoriska kurser
Kursens syfte är att studenten ska förstå och lära sig modellera och implementera en databas samt utveckla en webbapplikation som använder databasen. Som applikationsspråk används serverbaserad JavaScript i webbmiljö.
Läs merKursen syftar till att lära ut utveckling av webbapplikationer med HTML, CSS ocoh JavaScript och fokuserar på mobila enheter och läsplattor.
Läs merKursens fokus är objektorienterde programmeringstekniker i programmeringsspråket PHP. Klassiska objektorienterade konstruktioner hanteras tillsammans med objektorienterad programmering i webbaserat ramverk tillsammans med databaser samt enhetstestning.
Läs merKursen syftar till att lära studenterna objektorienterade angreppssätt och designprinciper för att utveckla objektorienterade program. Modelleringsspråket UML (Unified Modeling Language) används för att beskriva analys- och designmodeller. Programspråket Python används för implementering.
Läs merObligatoriska kurser
Kursen lär ut programmering och objektorienterde kodstrukturer med designmönster och modultänkande kring återanvändbara moduler i webbaserade ramverk samt tekniker för automatiserad testning, byggsystem och föde för kontinuerlig integration av programvaran.
Läs merKursen lär ut programmering för klienter i webbläsaren med ett stort fokus på användbarhet och användarupplevelse samt tekniker för automatiserad testning, byggsystem och flöde för kontinuerlig integration av programvaran. Studenten förväntas ingående redogöra för val av tekniker genom att skriftligen beskriva och sammanfatta erfarenheter och observationer från övningar och projekt.
Läs merAtt lyckas med 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. Kursen syftar till 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 med en 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.
Läs merKursen avser att ge studenten förutsättningar att inhämta kunskaper i matematisk modellering. Utgångspunkten är att kunna tillämpa olika typer av matematiska metoder och modeller på problemställningar inom framför allt teknik- och naturvetenskaperna, såväl som inom mer tvärvetenskapliga ämnen. Kursen skall även bidra till förståelsen av diskret matematik, statistik, optimering och den matematiska modelleringens betydelse vad det gäller förbättringspotentialer inom de olika tillämpningsområdena.
Läs merValbara kurser
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.
Läs merArkitekturen och designen av ett mjukvarusystem påverkar i hög grad kvaliteten på systemet och kostnaden för utvecklingen. Utgående från grundläggande objektorienterade begrepp och designprinciper analyseras och modelleras ett systems struktur och beteende med hjälp av modelleringsspråket UML (Unified Modelling Language) i en strukturerad arbetsmetodik, Unified Process. Arbetsmetodiken utgår från en beskrivning av kundkrav och bygger en spårbar kedja via olika UML-modeller hela vägen fram till implementation och testning. Den strukturerade arbetsmetodiken och modelleringsspråket UML ger ett stöd till designarbetet, men för att skapa en hållbar programvarudesign krävs också en förståelse för grundläggande designprinciper och designmönster. Designmönster är generella lösningsförslag på vanligt förekommande problem, och som mjukvaruutvecklare förväntas man känna till och kunna anpassa dessa generella lösningar till de konkreta utmaningar man försöker lösa. Grundläggande designprinciper beskriver hur man fördelar olika typer av ansvar mellan klasser för att få löst kopplad och lättunderhållen programvarukod.
Läs merKursen syftar till att ge kunskap om design av interaktionssystem för ökad användbarhet och stöd för användarens behov. Kursen lyfter fram tillvägagångssätt och begrepp inom bedömning av användbarhet och interaktionsdesign. Vidare introducerar kursen till området människa-datorinteraktion (HCI) och olika utvecklingsmetoder.
Läs merSyftet med denna kurs är att studenterna ska lära sig hur man skriver en kompilator. En kompilator består av tre delar: parsning, tolkning (interpretering) och kodgenerering. Parsning är användbart bland annat i samband med att man läser och skriver olika filformat. Kunskap om interpretering ökar förståelsen för semantiken i programmeringsspråk, till exempel när man behöver förstå specifikationen till programmeringsspråket C++. Kunskap om kodgenerering hjälper programmeraren förstå hur olika konstruktioner i ett högnivåspråk motsvarar exekverbar lågnivåkod. God förståelse av vilken lågnivåkod som genereras är viktigt vid felsökning (debugging) och prestandaoptimering, samt vid så kallad reverse-engineering av exekveringsflödet i ett program, vilket bland annat behövs för att analysera skadliga program (malware).
Läs merKursens syfte är grundläggande kunskaper i ämnet datakommunikation med inriktning mot Internet samt en översikt på systemnivå över GSM-nätet och framtida mobiltelefonnät.
Läs merObligatoriska kurser
Kursen syftar till att, så nära det är möjligt, efterlikna ett projekt som det normalt kan bedrivas ute i industrin. 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.
Läs merValbara kurser
Det huvudsakliga syftet med kursen är att introducera teori och metod från maskininlärning (machine learning) samt praktiska tillämpningar inom informationsutvinning (data mining). Den teknologiska utvecklingen har bidragit till att vi blivit mer beroende av databaser för lagring och databehandling. Antalet databaser och mängden innehåll i dessa växer snabbt. I takt med denna tillväxt blir det svårare att manuellt finna användbar information från den stora mängden data. Vi behöver därför semiautomatiska och automatiska metoder för att använda, aggregera, analysera och extrahera sådan information. Metoder och tekniker från maskininlärning, informationsutvinning, och artificiell intelligens har visat sig användbara för detta syfte.
Läs merEtt operativsystem utgör gränssnittet mellan mjukvaruapplikationer och hårdvara både i traditionella datorsystem och mobila enheter såsom moderna mobiltelefoner. Operativsystemet hanterar och fördelar datorsystemets resurser och påverkar därför alla mjukvaruapplikationers prestanda. Det är därför nödvändigt att mjukvaruutvecklare har god förståelse för hur ett operativsystem fungerar.
Läs merSyftet 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 bl a att kunna programmera på operativsystemets mest abstrakta nivå, närmast användaren, och nedåt genom abstraktionsnivåerna till den lägsta nivån, systemanropen. Kursen lär ut hur man designar mjukvara som interagerar med datorn via operativsystemet UNIX (och UNIX-baserade/liknande operativsystem såsom Linux och MacOS). Den lägger grunden för vidare studier inom andra områden (till exempel datasäkerhet) som kräver konkret förståelse för den underliggande teknologin. Syftet uppnås genom att studenten via en serie laborationer får praktisk erfarenhet av att utveckla program i en UNIX-miljö.
Läs merProgramvaruarkitektur är ett viktigt tekniskt koncept i modern, storskalig programvaruutveckling, där programvaruarkitektur tjänar flera syften: planering av utvecklingsresurser; analys av problemdomänen från flera olika perspektiv med hjälp av arkitekturella vyer, samt abstraktion av stora mängder information för att uppnå en användbar översikt av systemet. Dessutom är programvaruarkitekturen och de beslut som fattats angående dess konstruktion nyckelkomponenter för att planera och åstadkomma specifika nivåer av kvalitet i det färdiga systemet och därmed också avgörande för systemets framgångsmöjligheter. I kursen förväntas studenten skaffa sig detaljerad kunskap om programvaruarkitektur och kvalitet, om programvaruarkitektur och dess relaterade beslutseffekter på kvaliteten på den utvecklade programvaran. Studenten förväntas uppnå detaljerad förståelse om hur: i) programvaruarkitektur av befintliga programvarusystem dokumenteras; ii) programvaruarkitekturer konstrueras baserat på moderna metoder och ideer, till exempel arkitekturstilar, -mönster och taktiker, genom att ta hänsyn till den önskade programvaran, den omgivande teknologin och utvecklingsorganisationen; iii) resonera sakligt och faktabaserat om en specifik programvaruarkitekturs lämplighet för en viss produkt eller tjänst.
Läs merKursen fokuserar på de grundläggande koncepten för distribuerade system och cloud computing. Kursen omfattar teoretiska och praktiska aspekter med fokus på verkliga exempel. Efter genomförd kurs ska studenten vara kapabel att välja, installera och använda grundläggande molnresurser (till exempel datorer och lagring som en tjänst) och att utforma och implementera skalbara arkitekturer och applikationer.
Läs merSyftet med kursen är att kursdeltageren ska inhämta färdigheter i att utveckla applikationer (appar) med god användbarhet för handhållna enheter.
Läs merArtificiell 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ödsystem, bildbehandlingsalgoritmer och mobila robotar. Kursen syftar till att introducera området artificiell intelligens och några av dess tillämpningsområden.
Läs merKursens huvudsakliga syfte är att förstå samt hantera olika programvarusäkerhetsproblem i en säker och kontrollerad miljö. Under kursen kommer studenten att tillägna sig teoretiska och praktiska kunskaper om olika typer av säkerhetsproblem hos programvara, och tekniker som kan användas för att skydda programvaran. Studenten kommer också att lära sig förstå motståndarnas arbetssätt, vilket kan användas för att öka programvarans pålitlighet.
Läs merObligatoriska kurser
Kursens syfte är att studenten skaffar sig fördjupad kunskap och förståelse inom ett specifikt område inom webbutveckling. Studenterna fördjupar sin kunskap genom en teoretisk studie, samt ett utredande och/eller praktiskt arbete. Studenten väljer fördjupningsområde och tillvägagångsätt i samråd med handledaren.
Läs merObligatoriska kurser
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. Att utveckla programvara ställer stora krav på tekniskt kunnande. Det krävs att vara duktig programmerare, att förstå design av större programvaror, och att ha kunskap om tredjeparts programvaror och att integrera dessa med egen programvara. 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. 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.
Läs merKursen syftar till att studenten skall integrera, vidareutveckla och fördjupa sina kunskaper och färdigheter inom ett begränsat område av det som behandlats inom tidigare genomförda kurser inom utbildningen. Kandidatarbetet syftar till att ge kunskaper och färdigheter i att tillämpa ett vetenskapligt arbetssätt. Detta inkluderar att självständigt identifiera ett problem och formulera relevanta forskningsfrågor i programvaruteknik. Syftet är vidare att planera, genomföra och presentera ett vetenskapligt arbete på kandidatnivå inom området programvaruteknik. Arbetet kan vara av utredande eller konstruktiv karaktär och ska innefatta litteraturstudier och rapportskrivning.
Läs mer