Bachelor i spillprogrammering - BSP

Innledning

Spillprogrammering er et stort fagfelt som er relevant for mange bransjer. Dagens spillprogrammerere må først og fremst være gode programmerere med bred forståelse for teknologien som ligger bak krevende grafiske teknikker. Et godt dataspill må ha god ytelse selv med begrensede ressurser, som for eksempel en mobiltelefon.

Bachelor i spillprogrammering er et krevende, men spennende studieprogram! Studiet inneholder alle programmeringsemnene som inngår i en "standard programmeringsgrad", og inkluderer i tillegg emner i grafikk, spillprogrammering, kunstig intelligens, mobile enheter m.m. Ferdig utdannede kandiater med bachelor i spillprogrammering forventes å være både gode programmerere og ha evnen til å kommunisere med designere og kunstnere. Studieprogrammet krever deltakelse i mange gruppeoppgaver og presentasjoner.

Etter endt utdanning har du en solid programmeringsutdanning som gir tilgang til jobber i spillselskaper og annen underholdningsindustri. Utdanningen gir deg også et godt grunnlag for å møte de behov som bedrifter har innenfor: systemer for e-læring, visualisering, simulering, interaktive webapplikasjoner og grafikkbaserte datasystemer. Dette gir deg gode muligheter til å skaffe deg en utviklende og spennende jobb innen fagområdet, og innen andre bransjer med behov for dyktige programmerere.

Mange av emnene undervises på engelsk og har et internasjonalt fokus. Innholdet i studieprogrammet følger internasjonale standarder for informatikk og spillprogrammering, noe som gjør at utdanningen er relevant også internasjonalt.

Studiets varighet, omfang og nivå

Studiet er en 3-årig laveregrads datautdanning som gir 180 studieponger fordelt over seks semestre, og der du tildeles graden Bachelor i spillprogrammering (engelsk: Bachelor of Game Programming). Studiet kvalifiserer til opptak ved IT-relaterte masterstudier i inn- og utland.

Forventet læringsutbytte

Etter fullført studie vil du ha evnen til å utvikle dataspill fra scratch eller bruke en spillmotor. Våre uteksaminerte studenter er i stand til å arbeide som en del av større team i utviklingen av interaktive applikasjoner og dataspill. Særlig vil du ha evnen til å implementere avansert grafikk, kunstig intelligens, nettverksbygging og interaksjon.

Spesifikke læringsutbytter inkluderer:

Kunnskap

  • Generell kunnskap innen matematikk, algoritmer og problemløsning.
  • Kunnskap om kommunikasjon og informasjonsteknologi brukt i dataspill.
  • Kunnskap om Computer Graphics, kunstig intelligens, og mobile systemer som kjerneelementer i dataspill teknologi.
  • En forståelse av de juridiske, sosiale og etiske konsekvensene av datateknologi og dataspill.
  • Kandidaten kan gjøre rede for profesjonell arbeidsmetodikk for utvikling av dataspill.  

Ferdigheter

  • Evne til å bruke det du har lært til å løse praktiske problemer innen dataprogrammering og spillutvikling.
  • Samarbeide i team for å utvikle og presentere løsninger på problemer både muntlig og skriftlig.
  • Evne til å finne relevante kilder i tekst og på internett for å løse algoritmiske, designmessige og tekniske problemer.
  • En forståelse av rollen til middleware og verktøy og evne til å bruke disse verktøyene i kombinasjon med personlig utviklede koder.
  • Kandidaten behersker verktøy til støtte for utvikling dataspill.

Generell kompetanse

  • Innsikt i akademiske kommunikasjonsformer og evne til å skrive rapporter på engelsk.
  • Evne til å utvikle innovative oppgaveløsninger, med fokus på rapid prototyping.
  • Forståelse av entrepenørskap og evne til å delta i oppstarten av bedrifter.
  • Evne til å oppdatere egen kunnskap og fortsette livslang læring.  

Sammen med evnene spesifikke for spillprogrammering er våre uteksaminerte studenter forventet å forstå rollen til datamaskiner og spill i moderne samfunn.  Våre uteksaminerte studenter skal bidra til debatten om dataspills rolle i samfunnet og være i stand til å gjøre etisk begrunnede avgjørelser om karakteren og innholdet i spill og software de deltar i skapingen av.

I ditt avsluttende semester vil du utvikle et spill som en del av bacheloroppgaven. Dette prosjektet vil utgjøre en viktig del av din portefølje og CV. Prosjektet vil også få input fra profesjonelle spillutviklere og resultatetene vil be vurdert av partnere innen industrien.  Dette hjørnesteinsprosjektet vil bidra til å integrere alle emnene i bachelorgraden og tilby viktige erfaringer med gruppearbeid.  

Internasjonalisering

Studentene kan reise til utlandet i 4.semester forutsatt at man finner et studiested som dekker emnene Operativsystemer og Systemutvikling. Kontakt internasjonalt kontor ved HiG for konkret informasjon, hjelp og rådgivning. Studiet ved HiG er også meget godt egnet som grunnlag for videre mastergradsstudier innen data i utlandet.

Et utvalg emner i studieprogrammet undervises på engelsk.

Målgruppe

Det stilles ikke krav til spesielle datakunnskaper på forhånd. Selvfølgelig passer studiet spesielt godt for deg som er genuint interessert i dataspill og utvikling av disse. Det understrekes likevel at studiet passer alle som tilfredsstiller opptakskravene og er motivert for å fordype seg i et spennende fagfelt som ligger i grenseland mellom informatikk og multimedieteknikk.

Elever fra videregående skole med motivasjon for fagfeltet er en klar målgruppe, men studiet passer også for den som etter noen år i yrkeslivet har fattet interesse for utvikling av grafikk og interaktivitet.

Opptakskrav og rangering

Opptakskrav til studiet er generell studiekompetanse med fordypning i Matematikk R1 (2MX, 2MY eller 3MZ) eller Matematikk (S1 + S2) (se Forskrift om opptak til høyere utdanning § 4-3).

Søkere som mangler fordypningen i matematikk kan søke opptak under forutsetning av at man gjennomfører høgskolens R1-kurs i matematikk som starter noen uker før ordinær studiestart.

Studiets innhold, oppbygging og sammensetning

Som student i Bachelor i spillprogrammering vil du tilegne deg en generelle IT-kompetanse, som karakteriserer enhver dyktig programmerer. Det er viktig med en helhetlig forståelse for de IT-omgivelser et spill skal fungere innenfor, alt fra maskinvareforståelse og datanettverk, til fokus på sluttbrukeren. Studiet er derfor bygd opp med innslag av både grunnleggende IT-emner og spilltekniske emner. Den siste delen av studiet spisses mot spillprogrammering.

 Studiet vil derfor ha spesiell fokus på:

  • Programmering : Grunnleggende og språkuavhengige ferdigheter innen strukturert og objektorientert programmering. 
  • Grafikk : Kunnskap og teknikker innen 2D og 3D grafisk.
  • Kunstig intelligens : Forstå hvordan datamaskiner kontroll agenter i virtuelle verdener.
  • Mobile enheter : Mobile enheter er den raskest voksende delen av spillutvikling
  • Parallel Programming : Utnytte full effekt av moderne CPUer og GPUer

Prosjektarbeid er en utbredt arbeidsform, og studiet avsluttes med et større utviklingsoppdrag (bacheloroppgaven), ofte gitt av en næringslivsbedrift. Høgskolen tilbyr deg meget gode arbeidsforhold med moderne laboratorier tilpasset behovene i de enkelte emner. Du vil møte forelesere i et høykompetent fagmiljø med et klart hovedfokus på undervisning. I tillegg vil du involveres i forskningsaktiviteter i regi av avdelingens professorer. Du vil oppleve et inspirerende og aktivt studiemiljø med studenter fra forskjellige IT- og medieutdanninger.

Enkelte emner er felles grunnlagsfag innen informatikk og realfag. Dette gjelder bl.a. datatekniske emner som Datamaskinarkitektur og Operativsystemer, som gir 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 og Algoritmiske metoder. Andre emner er spillspesifikke. Eksempler her er Spilldesign, Grafikkprogrammering, Spillprogrammering og Kunstig intelligens.

 Emnebeskrivelse  
 For hvert av emnene som står i tabellen under er det utarbeidet en detaljert emnebeskrivelse. Denne gir en beskrivelse av læringsutbytte 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.
 

 Arbeids- og undervisningsformer  
Det er en uttalt målsetning at vi ønsker å gi deg gode holdninger til videre læring etter endt studium. Derfor vil du i studiet møte et mangfold av ulike undervisnings- og arbeidsformer: Forelesninger, individuelle lab-øvinger, gruppeoppgaver og utviklingsorienterte prosjektarbeider.
 

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

Emnetabeller

Bachelor i spillprogrammering, 1. studieår

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
IMT1361 Spilldesign O 10          
REA1101 Matematikk for informatikkfag O 10          
IMT1031 Grunnleggende programmering O 10          
IMT1082 Objekt-orientert programmering O   10        
IMT2431 Datakommunikasjon og nettverkssikkerhet O   10        
REA2061 Matematikk for spillprogrammering O   10        
Sum: 30 30 0 0 0 0
*) O - Obligatorisk emne, V - Valgbare emne

Bachelor i spillprogrammering, 2. studieår

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      
IMT2531 Grafikkprogrammering O     10      
IMT2571 Datamodellering og databasesystemer O     10      
IMT2581 Rask prototyping og innovasjon O     2,5 2,5    
IMT2243 Systemutvikling O       10    
IMT2282 Operativsystemer O       10    
IMT3591 Kunstig intelligens O       10    
Sum: 0 0 32.5 32.5 0 0
*) O - Obligatorisk emne, V - Valgbare emne

Bachelor i spillprogrammering, 3. studieår

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
IMT3601 Spillprogrammering O         10  
IMT3662 Mobile Development Theory O         5  
Valgemne, 10 st.p. V         10  
Valgemne, 10 st.p. V           10
IMT3912 Bacheloroppgave IMT O           20
Sum: 0 0 0 0 25 30
*) O - Obligatorisk emne, V - Valgbare emne

Valgemner

Emnekode Emnets navn O/V *) Studiepoeng pr. semester
  S5(H) S6(V)
IMT3102 Objektorientert systemutvikling V 10  
IMT3281 Programvareutvikling V 10  
IMT3861 Stormaskiner V 10  
IMT3672 Mobile Development Project V 5  
IMT3801 Multi-threaded Programming V 5  
IMT2291 WWW-Teknologi V   10
IMT3511 Discrete Mathematics V   10
IMT3612 GPU-programmering V   5
IMT3602 Professional Programming V   5
Sum: 0 0
*) O - Obligatorisk emne, V - Valgbare emne