Bachelor i programvareutvikling -

Innledning

Datastudentene ved HiG har alltid vært blant landets ledende på utvikling av programvare. Dette har ført til at HiG-studenter, basert på sine hovedprosjekter, har vunnet den prestisjetunge Rosing-prisen for studenter tre ganger siden 2002. Næringslivet har naturlig nok lagt merke til dette og etterspør jevnlig programvareutviklere fra HiG. Med bakgrunn i denne utviklingen og den endringen datafaget har gjennomgått de siste ti år (dokumentert gjennom IEEE/ACMs Computing Curricula), er det naturlig at HiG etablerer en egen 3-årig bachelorutdanning i programvareutvikling.

Studiets varighet, omfang og nivå

Studiet er en 3-årig grunnutdanning der kandidatene tildeles graden Bachelor i programvareutvikling (engelsk: Bachelor of Science in Software Engineering). Etter endt studium er man kvalifisert til å jobbe med utvikling og vedlikehold av ulike typer programvare. I dag benytter alle typer virksomheter i utstrakt grad informasjonsteknologiske hjelpemidler i sin verdiskapning. Personer med kunnskap om utvikling og vedlikehold av programvare vil derfor sitte med etterspurt kompetanse og oppleve faglig utfordrende oppgaver i sin yrkeskarriere.

Forventet læringsutbytte

En uteksaminert kandidat fra bachlor i programvareutvikling skal ha evne til å arbeide systematisk og analytisk med utvikling av nye og videreutvikling av eksisterende datasystemer. I studiet legges det vekt på å gi kandidatene et solid og generelt IT-faglig fundament, samtidig som det fokuseres på å skape holdninger til et yrkesliv preget av kontinuerlig læring innen et fagområde i sterk utvikling. I arbeidet med å nå målet om å utdanne gode programvareutviklere settes spesiell fokus på:

  • Programmering – Utviklernes viktigste redskap er å kunne programmere. Forståelse for hvordan man skriver god og effektiv programkode kombinert med evne til å tolke og videreutvikle eksisterende kode er sentralt. Målet er å gi kandidatene grunnleggende og språkuavhengige ferdigheter innen strukturert og objektorientert programmering.
  • Systemutvikling - For å bli i stand til å utvikle helhetlige og profesjonelle løsninger må kandidatene ha forståelse for hvordan man kjører hele prosessen fra en forretningsforankret ide til en ferdig integrert IT-løsning. Gjennom å kombinere teori med praktisk utvikling, er målsettingen å gjøre studentene i stand til å reflektere over alternative tilnærminger og anvende systematiske arbeidsformer innen systemutviklingsarbeid.

Studiet kvalifiserer kandidatene til yrker som systemutvikler, programvareutvikler, programmerer, IT-konsulent, web-utvikler eller systemarkitekt innen privat og offentlig sektor. Kandidatene skal være kompetente til å fylle rollen som utviklingsressurs i større utviklingsprosjekter, samt å inneha rollen som prosjektansvarlig for utvikling og/eller innføring av mindre IT-løsinger. Studiet kvalifiserer også til opptak ved IT-relaterte masterstudier. Siden hele studiet er bygd opp med utgangspunkt i internasjonale standarder for tre-årige laveregrads datautdanninger, er det godt tilrettelagt for overgang til utenlandske mastergradsstudier.

Internasjonalisering

Studentene kan velge å ta 3. eller 4. semester ved et internasjonalt universitet. Forutsetnignen er at man finner et studiested som dekker de emnene som inngår i studieplanen det aktuelle semesteret. Tilrettelagt opplegg finnes for University of Wollongong, Australia, Edith Cowan University, Australia og South Dakota School of Mines and Technology, USA.

Målgruppe

Studiet er et godt valg for personer som ser det som spennende å delta i utviklingen av nye datasystemer. Det er viktig å understreke at studiet ikke bare er egnet for dem som allerede har bestemt seg for å bli programmeringseksperter. Det passer også meget godt for personer som heller ønsker å spille rollen som bindeledd mellom anvendere/brukere og teknokrater. Elever fra videregående skole med interesse for datafag er en klar målgruppe, men studiet passer også folk som etter noen år i yrkeslivet har fattet interesse for utvikling av datasystemer og ønsker en grunnutdanning innen dette. Det er ikke nødvendig med forkunnskaper utover kjennskap til vanlig bruk av datamaskin.

Opptakskrav og rangering

Opptakskrav til studiet er generell studiekompetanse med fordypning i 2MX, 2MY eller 3MZ (se Forskrift om opptak § 8 c). Søkere som mangler fordypningen i matematikk kan søke opptak under forutsetning av at man gjennomfører høgskolens Forkurs i matematikk som starter noen uker før normal studiestart.

Studiets innhold, oppbygging og sammensetning

Studiet går over seks semestre og gir totalt 180 studiepoeng. Hvert semester består av tre emner som undervises parallelt. Enkelte emner er felles grunnlagsfag innen informatikk og realfag, mens øvrige emner er studiespesifikke. Programvareutvikling dreier seg om å lage dataprogrammer som er stabile, effektive og brukervennlige levert til rett tid og kostnad. En programvareutvikler må kunne analysere en bedrifts IT-behov og designe en arkitektur for løsningen som skal leveres. Utviklingen av et ferdig produkt består som oftest av programmering, bruk av programvarebiblioteker og integrering mot eksisterende løsninger.
Studiet har derfor hovedfokus på programmering og systemutvikling, men dekker hele spekteret fra tekniske til anvendelsesorienterte datafag. Datatekniskeemner som Datamaskinarkitektur og Operativsystemer skal gi forståelse for den underliggende teknologiske plattformen de ulike systemene kjøres på. Programmeringsferdighetene bygges gradvis opp gjennom hele studiet i emnene Grunnleggende programmering, Objektorientert programmering, Algoritmiske metoder og WWW-teknologi. Her skal studentene ha gode anvendelsesferdigheter samtidig med at de utfordres til å sette seg inn i ulike programmeringsspråk og utviklingsplattformer.
Parallelt med denne teknologiske tilnærmingen utvikles kandidatenes ferdigheter til også å se IT fra et anvendelsesorientert ståsted. Emnene Systemutvikling, Grafiske brukergrensesnitt, Informasjonsstrukturer og databaser, Innføring i informasjonssikkerhet og IT-strategi gir de fremtidige utviklerne forståelse for IT fra brukernes og oppdragsgivernes ståsted.

Mot slutten av studiet brukes dette fundamentet til å fordype seg innen utvikling av helhetlig og profesjonelt anvendbar programvare. Emner som Objektorientert Systemutvikling og Programutvikling gir sammen med et stort avsluttende utviklingsprosjekt analytiske evner innen utvikling av løsninger. Dette omfatter så vel kravspesifisering og løsningsdesign som selve utviklingen av reelle applikasjoner med anvendelse av moderne utviklingsrammeverk.
20 studiepoeng er valgbare emner. Programvareutviklere vil ofte få roller som brobyggere mellom teknokrater og brukere. Som prosjektledere og budsjettansvarlige innen data vil det være en stor fordel med økonomi- og ledelseskunnskaper. Vi anbefaler derfor emner som Økonomistyring, Statistikk og Kvalitetsledelse eller Ledelse med arbeidslivsjus. Studentene vil også kunne velge blant et rikholdig spekter av informatikkemner fra studiene Bachelor i Drift av nettverk og Datasystemer og Bachelor i Informasjonssikkerhet. Man kan for øvrig velge blant alle emner ved HiG der man tilfredsstiller eventuelle forutsetningskrav.

Emnebeskrivelse
For hvert av emnene som står i tabellen over er det utarbeidet en detaljert emnebeskrivelse. Denne gir en beskriver av mål og innhold i emnet. Av denne fremgår også om emnet bygger på bestemte forkunnskaper som for eksempel emner som er kjørt tidligere i studiet. Man finner emnebeskrivelsene på høgskolens hjemmesider.

Arbeids- og undervisningsformer:
I studiet er det lagt vekt på at studentene skal erfare et mangfold av arbeids- og undervisningsformer. Med bakgrunn i en uttalt målsetting om å gi studentene gode holdninger til videre læring etter endt studium, er det en fordel at studentene eksponeres for ulike undervisnings- og arbeidsformer. Gjennom studiet møter de de derfor såvel tradisjonelle undervisningsmetoder som studentaktive læringsformer basert på kvalitetsreformen for høyere utdanning. Studentene vil oppleve:

  • Forelesninger
  • Øvelser på datalab med veiledning av faglærer og/eller studentassistenter
  • Teoretiske og praktiske øvinger i grupper med veileder
  • Ukeoppgaver
  • Obligatoriske øvingsoppgaver
  • Mindre prosjektarbeid integrert i ordinære kurs
  • Store utviklingsorienterte prosjektarbeider
  • Selvstudium

I tilknytning til dette vil studentene også erfare ulike vurderingsformer som tradisjonelle dagseksamener, prosjektkarakterer, mappevurdering og kombinasjoner av disse. Detaljert informasjon om arbeids-, undervisnings- og evalueringsformer finnes i emnebeskrivelsen for det enkelte emne.

Sensorordning
Ekstern sensor benyttes på de fleste eksamner der eksamen teller hoveddelen av endelig karakter.

Emnetabeller

1. studieår Bachelor i programvareutvikling 2007/2008

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
IMT1031 Grunnleggende programmering O 10          
REA1101 Matematikk for informatikkfag O 10          
IMT1121 Innføring i informasjonsikkerhet O 10          
IMT1082 Objekt-orientert programmering O   10        
IMT2243 Systemutvikling O   10        
IMT1261 Grafiske brukergrensesnitt og brukskvalitet O   10        
Sum: 30 30 0 0 0 0
*) O - Obligatorisk emne, V - Valgbare emne

2. studieår Bachelor i programvareutvikling 2008/2009

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
IMT2021 Algoritmiske metoder O     10      
IMT2261 Informasjonsstrukturer og databaser O     10      
IMT2272 Datamaskinarkitektur O     10      
IMT1321 IT-ledelse O       10    
IMT2282 Operativsystemer O       10    
IMT2291 WWW-Teknologi O       10    
Sum: 0 0 30 30 0 0
*) O - Obligatorisk emne, V - Valgbare emne

3. studieår Bachelor i programvareutvikling 2009/2010

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
IMT3281 Programutvikling O         10  
IMT3102 Objektorientert systemutvikling O         10  
Valgemne, 10 st.p. V         10  
Valgemne, 10 st.p. V           10
IMT3912 Bacheloroppgave IMT O           20
Sum: 0 0 0 0 30 30
*) O - Obligatorisk emne, V - Valgbare emne

Valgemner

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
SMF1042 Økonomistyring V         10  
IMT3771 Introduction to Cryptology V         5  
IMT3292 Systemadministrasjon V         10  
IMT1041 Informasjons- og publiseringsteknologi V         10  
IMT3441 Database- og applikasjonsdrift V           10
IMT2431 Datakommunikasjon og nettverkssikkerhet V           10
IMT1271 IT Service management V           10
IMT1132 Risikostyring: metodikk og standarder V           10
IMT3521 Sikkerhetsplanlegging og hendelseshåndtering V           10
SMF2051 Ledelse med arbeidslivsjuss V           10
SMF1071 Organisasjon og ledelse V           5
SMF2121 Kvalitetsledelse med statistikk V           10
IMT3541 Veiledet praksis i medie- og informatikkfag V           10
Sum: 0 0 0 0 0 0
*) O - Obligatorisk emne, V - Valgbare emne