|
År: 2013 |
|
Civilingenjörsutbildning i Mjukvaruteknik, 300 hp |
/ Computer Science and Software Engineering / |
|
Programmets syfte/vision
Mjukvaruteknikprogrammet kommer förse studenter med en bred och solid uppsättning praktiska och teoretiska färdigheter och kompetenser inom datavetenskap, programmering och programvaruteknik. Dessa färdigheter ger förmågan att utveckla både små och storskaliga integrerade mjukvarusystem och driva teknologisk innovation associerad med deras användning i samhället och i industrin framåt. Programmet är till stor del projektdrivet, där projekt binder samman teori och praktik i aktuella och framtida applikationsområden genom hela utbildningen. Specifika ämnesområden som kommer tas upp är bland annat mjukvaruintensiva system, inbyggda system, mobila plattformar, mobilitet och Internet, mjukvara för robotar, artificiell intelligens, sociala nätverk och interaktion, datornät, datadrivet beslutsfattande, storskaliga distribuerade system och hållbara mjukvarusystem för framtiden. Programmet kommer göra studenterna till ytterst kompetenta programmerare, innovatörer och utvecklare av integrerade mjukvarusystem och ge grunden för en livslång högintressant karriär med ett försprång i den utmanade globala arbetsmarknaden både i dag och i framtiden. |
|
Programmål
Efter genomgången utbildning förväntas en civilingenjör från mjukvaruteknikprogrammet
ha följande kunskaper och färdigheter:
- Matematiska, naturvetenskapliga och teknikvetenskapliga kunskaper
Kunskaper i grundläggande matematiska och naturvetenskapliga ämnen:
En mjukvaruingenjör har en bred matematisk bas baserad på både kontinuerlig och diskret matematik inklusive logik, formella språk, automatateori, statistik, sannolikhetslära och optimering samt grundläggande naturvetenskapliga kunskaper anpassade för programmets teknikområde. Mjukvaruingenjören kan använda matematiken som verktyg för att beräkna, strukturera, abstrahera och modellera datavetenskapliga och mjukvarutekniska problem.
Kunskaper i teknikvetenskapliga ämnen:
En mjukvaruingenjör skall ha breda kunskaper inom datavetenskap (computer science) och programvaruteknik
(software engineering) omfattande flera programspråk och -paradigm,flera utvecklingsmetodiker, distribuerade och inbyggda system, mjukvaruintensiva system, användbarhet och människa-dator-interaktion samt artificiell intelligens. Mjukvaruingenjören kan designa, utveckla, verifiera och underhålla bland annat storskaliga distribuerade och inbyggda system samt avancerade mobila och sociala applikationer. Mjukvaruingenjören har en helhetsförståelse för mjukvaruutvecklingens alla dimensioner och aspekter.
Fördjupade kunskaper i något/några tillämpade ämnen:
En mjukvaruingenjör har fördjupade kunskaper inom datavetenskap och programvaruteknik och har i huvudområdet tillgodogjort sig de kunskaper som behövs för en fortsättning på forskarutbildningsnivå.
- Individuella och yrkesmässiga färdigheter och förhållningssätt
Ingenjörsmässigt tänkande och problemlösning:
Mjukvaruingenjören kan med stöd av verktyg och metoder från matematik, datavetenskap och den tekniska kunskapen identifiera, formulera, modellera och lösa komplexa tekniska problem. Detta innefattar att göra såväl kvalitativa som kvantitativa uppskattningar, göra relevanta antaganden och rimlighetsbedömningar samt beakta osäkerheter. Mjukvaruingenjören är särskilt bra på att ta fram exekverbara modeller i former av program för att undersöka och lösa problem (”computational thinking”).
Experimenterande och kunskapsbildning:
En mjukvaruingenjör äger förmåga att tillägna sig ny kunskap genom att formulera hypoteser och utvärdera dessa genom experimentell implementering av programvara. Detta innefattar att formulera abstrakta modeller, använda relevant metodik för att utföra experiment eller motsvarande, analysera resultat samt redovisa resultatet. Mjukvaruingenjören har även förmåga att skaffa sig ny kunskap genom att söka relevant kunskap inom det aktuella området.
Systemtänkande:
Mjukvaruingenjören har förmåga att använda systemtänkande för att modellera, analysera och utveckla datatekniska system och processer. Detta innebär att kunna definiera systemgränser, göra abstraktioner, se såväl helheter som delsystem och beskriva samverkan mellan dessa samt göra prioriteringar av avvägningar.
Individuella färdigheter och förhållningssätt:
En mjukvaruingenjör visar initiativförmåga och har förmåga till ett självständigt, kreativt och kritiskt tänkande. Detta innefattar också självkännedom samt förmåga och vilja till personlig utveckling och livslångt lärande. Mjukvaruingenjören har också förmåga att planera sin tid och sina resurser.
Professionella färdigheter och förhållningssätt:
Mjukvaruingenjören kännetecknas av ansvarstagande, pålitlighet och professionellt uppträdande. Detta innefattar även att vara medveten i sin karriärplanering och hålla sig informerad om professionens utveckling.
- Förmåga att arbeta i grupp och kommunicera
Att arbeta i grupp:
Studenten ska ha kunskap om vilka olika roller som finns i en projektgrupp, hur dessa roller samverkar, vad som kännetecknar en ”effektiv” grupp och därigenom förmåga att sätta samman olika roller på ett ändamålsenligt sätt. Genom att ha deltagit i flertalet större grupp-projekt är mjukvaruingenjören förberedd att agera i olika grupproller och efter viss yrkeserfarenhet framförallt växa i projektledarrollen eller andra ansvarsfyllda roller. Mjukvaruingenjören har även en god grund för att kunna initiera, planera, leda och utvärdera tekniska utvecklingsprojekt.
Att kommunicera:
En mjukvaruingenjör har goda färdigheter i muntlig och skriftlig kommunikation. Detta innebär att kunna presentera resultatet av tekniskt utvecklingsarbete på ett strukturerat sätt och med relevanta tekniska hjälpmedel i såväl tal som skrift och på såväl svenska som engelska.
Att kommunicera på främmande språk:
Studenten skall på engelska kunna läsa texter inom det egna teknikområdet samt kunna presentera projektresultat såväl skriftligt som muntligt.
- Planering, utveckling, realisering och drift av tekniska system med hänsyn till affärsmässiga och samhälleliga krav
Samhälleliga villkor inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling:
En mjukvaruingenjör har perspektiv på teknikens betydelse och sin egen roll som ingenjör i samhället, både nationellt och globalt, och beaktar hållbar tillämpning av teknik.
Företags- och affärsmässiga villkor:
En mjukvaruingenjör har insikter i de affärsmässiga och företagsmässiga villkoren för utveckling och införande av
ny teknik.
Att planera system:
Mjukvaruingenjören har kunskap och färdighet i att kravsätta system och produkter så att han/hon kan medverka i och snabbt förstå industrins egna processer för detta och modellera produkter/system samt utvärdera dessa mot krav.
Att utveckla system:
En mjukvaruingenjör har, inom sitt teknikområde, generella kunskaper om lämpliga utvecklingsprocesser för olika typer av system och kan snabbt kan sätta sig in i industrins olika specifika utvecklingsprocesser. Mjukvaruingenjören har stor färdighet i att tillämpa kunskaperna från sin teknikspecialitet vid utvecklingsarbete.
Att realisera system:
En mjukvaruingenjör känner till utformning och ledning av realiseringsprocessen test, verifiering och validering.
Att ta i drift och använda system:
Mjukvaruingenjören har kännedom om utformning, optimering och ledning, igångsättande, drift och underhåll samt systemavveckling av avancerade tekniska system.
|
|
Gemensamma bestämmelser
Gemensamma bestämmelser avseende särskild behörighet, anstånd, studieuppehåll, studieavbrott samt antagning till del av utbildningsprogram finns sammanställda i avsnitten b1-b6. |
|
Beaktande av särskilda perspektiv
Enligt styrelsens direktiv. |
|
Programmets organisation
Under de tre första åren är programmet organiserat så att man vanligen läser tre kurser parallellt under en period, där en av kurserna är av matematisk natur och en av kurserna är ett projekt.
Programmet innehåller många kurser med laborativa och projektorienterade moment. Speciellt genomförs fem obligatoriska grupprojekt där teori och praktik integreras för att förstärka och fördjupa ämnesförståelsen. Flera av projekten kommer
att genomföras enligt ett industriellt arbetssätt. Projektet under första terminen är till för att ge perspektiv på ämnesområdet och avslutas med en konferens. Andra terminen ska en mobil eller social applikation utvecklas i en mindre grupp. Fjärde och femte terminen görs projekt inom distribuerade och inbyggda system respektive AI/robotik enligt en lättrörlig (agil) metodik. Sjätte terminen görs ett större projekt i grupper om 5-7 studenter med en extern kravställande kund som beställare där utvecklingsmetodik väljs utifrån projektets förutsättningar. I dessa kurser utvecklas både förmågan att arbeta i grupp och den kommunikativa förmågan genom muntliga presentationer och skriftliga tekniska rapporter.
Under de avslutande två åren kommer många kurser att vara gemensamma med masterprogram och kommer därför ofta att ges på engelska.
I programplanen finns angivet vilka kurser som är obligatoriska, valbara eller frivilliga i respektive termin. De obligatoriska kurserna måste ingå i examen, de valbara får ingå i examen medan frivilliga inte kan räknas in i civilingenjörsexamen från mjukvaruteknikprogrammet. Programnämnden bestämmer vilka kurser som skall vara obligatoriska och vilka som för skilda studerandegrupper inom utbildningen utgör valbara alternativ. Kurser som överlappar varandra får ej ingå i examen samtidigt. Andra kurser kan efter beslut av programnämnden räknas som valfri kurs.
En profil består av ett antal profilkurser samt ett regelverk för profilen och hur val av dess profilkurserna skall göras. En profil påbörjas vanligen termin 7. För varje profil utses en profilansvarig. Uppfyller man kraven för en profil anges denna
profil i examensbeviset för civilingenjörsexamen.
Profilkurser kommer i möjligaste mån att i programplanen placeras se att profilkurserna kan läsas i lämplig ordning och placeras i olika schemablock för att undvika schemakollisioner. |
|
Programmets innehåll
Mjukvaruteknikprogrammet har en obligatorisk del som ges under de tre första åren. Den obligatoriska delen innehåller:
- ett teknikblock med datavetenskap (computer science) och programvaruteknik (software engineering). Kurserna i datavetenskap skall ge en förståelse av olika programspråk och -paradigm, datastrukturer och algoritmer, artificiell intelligens, användbarhet och människa-dator-interaktion, sociala och mobila applikationer, mjukvaruintensiva system, operativsystem, distribuerade system, inbyggda system, databassystem samt mobila och sociala applikationer. Kurserna i programvaruteknik skall ge en förståelse av olika modeller för programutvecklingsmetodik och utveckling av storskaliga mjukvarusystem.
- ett matematikblock bestående av diskret matematik, logik, formella språk och automatateori, kontinuerlig matematik med analys och linjär algebra, samt tillämpad matematik i form av matematisk statistik, sannolikhetslära och optimering.
- dator- och systemtekniska kurser som ger grunderna i datorsystem och reglerteknik.
- naturvetenskapliga kurser som ger grunderna i mekanik och fysik.
Under de två avslutande åren ges en stor valfrihet för att dels kunna fördjupa sig inom ett mjukvarutekniskt område och dels kunna bredda sig genom att välja kurser inom angränsande områden eller kurser mer för den personliga utvecklingen av mjukvaruingenjören. Inom programmet erbjuds ett antal profiler med ämnesfördjupning. Under dessa två år på den avancerade nivån skall studenten välja kurser så att man uppfyller masterexamens krav på ämnesmässig fördjupning inom ett huvudområde.
I programplanen för programmet framgår för varje år de kurser, som planeras att ges, och i vilken programtermin den är placerad i och dess tidsmässiga placering under året.
Varje kurs beskrivs i en kursplan där bland annat kursens mål och innehåll är beskrivet och de särskilda förkunskaper som erfordras för att kunna tillgodogöra sig kursen. I kursplanen anges kursen nivå, grundläggande nivåer; G1, G2 eller
avancerad nivå A samt det huvudområde kursen tillhör.
Ett obligatoriskt kandidatprojekt ingår under termin 6. |
|
Bestämmelser för uppflyttning till högre årskurs
För att den studerande ska kunna tillgodogöra sig fortsatta studier på de senare terminerna gäller följande:
- Programmet har ingen spärr de första 6 terminerna men de studenter som inför termin 4 inte har klarat av 45 högskolepoäng kommer att sökas upp av studievägledaren och ges möjlighet till stöd och planering så att studierna kan fullföljas.
- För tillträde till termin 7 krävs vid terminsstart avslutade kurser om minst 150hp inom programmets första 6 terminer. 30hp kan alltså återstå för uppflyttning till termin 7. De studenter som inte uppfyller kraven ska göra en individuell plan hos studievägledaren. I första hand ska de icke avklarade kurserna från termin 1–6 inplaneras. Planering ska ske enligt programnämndens riktlinjer.
|
|
Profiler/inriktningar
En profil påbörjas termin 7 och innehåller vanligen flera kurser att välja bland. Varje profil har ett regelverk hur profilkurser kan väljas. Det kan finnas krav på att vissa profilkurser måste ingå i profilen eller att man kan komponera vilka profilkurser,
som skall ingå, helt fritt.
Examensbeviset anger namnet på profilen som inriktning.
Profiler kan med tiden variera och aktuella profiler anges varje år i programplanen. |
|
Forskarutbildningskurser
Vissa forskarutbildningskurser är öppna för teknologer. Kontakta forskarstudierektor på respektive institution. För att få räkna med en sådan kurs, som valfri, i civilingenjörsexamen lämnas en ansökan in till programnämnden för beslut om kursplan. |
|
Examensarbete
Studerande, som vill ha en profil angiven i examensbeviset, bör för civilingenjörsexamen välja sådant examensarbete som motsvarar profilens allmänna inriktning. För kandidat- och masterexamen skall examensarbetet göras inom huvudområdet.
Tillåtna huvudområden för den masterexamen som krävs för civilingenjörsexamen från programmet är Datavetenskap, Datateknik och Informationsteknologi.
Vid vilka institutioner/ämnesområden/forskarutbildningsområden vid LiU ett examensarbete inom ovanstående huvudområden kan utföras framgår av gemensamma regelverket för examensarbete. |
|
Examenskrav
För att uppfylla krav för civilingenjörsexamen i Mjukvaruteknik, 300hp, skall studenten ha fullgjort:
- kursfordringar med godkänt resultat innefattande samtliga obligatoriska kurser och valfria kurser ur programplanen inklusive examensarbete så att 300hp uppnås. Efter särskilt beslut av programnämnden kan andra kurser inräknas.
- kursfordringar om minst 90hp på avancerad nivå. Däri skall ingå:
- kurser om minst 30hp på avancerad nivå inom huvudområdet.
- examensarbete på 30hp på avancerad nivå inom huvudområdet.
- examensarbete examinerat vid Tekniska högskolan vid Linköpings universitet.
- minst 45hp sammantaget från kurser på grundnivå (G1, G2) och avancerad nivå (A) i matematik/tillämpning inom matematik, se fastställd förteckning över kurser med tillämpning inom matematik.
För studier inom LiTHs utbytesprogram görs en helhetsbedömning att motsvarande nivå uppnåtts. Detta innebär inga specifika kurskrav, kurserna skall läsas i linje med programmets inriktning.
Kurser som överlappar varandra innehållsmässigt får ej ingå i examen samtidigt. Om kurser delvis överlappar varandra kan del av kurs få räknas in. Beslut i dessa fall görs av programnämnden.
När kraven för civilingenjörsexamen i Mjukvaruteknik är uppfyllda är även kraven för teknologie masterexamen inom ett huvudområde uppfyllt och därmed utfärdas två examina.
Examensbenämningar är Civilingenjör i Mjukvaruteknik och Teknologie master i Datavetenskap, Datateknik eller Informationsteknologi. |
|
|