studieplan

10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Bachelor IT ­ Spillprogrammering 2013­ 2014
Innhold Dataspillbransjen har blitt en stor, internasjonal industri. Blant de best utdannede ansatte er
programmererne. Disse har likevel sjelden en skreddersydd utdannelse for produksjon av spill. Samtidig
bruker flere og flere tradisjonelle industrier spill og spillrelatert teknologi.
Profesjonelle spill lages av grupper med variert størrelse, men noen roller er alltid med.
Spillprogrammereren utvikler ny funksjonalitet og systemer i et spill. Forbedrete grafiske effekter, bedre
kunstig intelligens og mer realistisk fysikk er oppgaver som programmereren typisk har ansvaret for. Et
annet viktig arbeidsområde for spillprogrammerere er verktøy som andre utviklere bruker for å lage
innhold i spillet. Med fokus på sanntids grafikksimuleringer har spillprogrammereren god innsikt i teoriene
og teknologiene som brukes.
På Spillprogrammererstudiet vil studentene lære å realisere spennende og realistiske spillopplevelser. De
får grundig opplæring i C++, så vel som andre programmeringsspråk som benyttes i profesjonell
spillutvikling. Studentene lærere å integrere eksisterende teknologier til nye spill.
Studiet er 3­årig, og gir tittelen bachelor i IT. 1. Det første året er felles, og gir en solid grunnkompetanse i programmering, prosjektarbeid,
systemutvikling, datateknikk og databaser.
2. Det andre året gir en grundig opplæring i programmeringsspråket C++, som et mye brukt språk for
utvikling av store, moderne spill. C++ gir også en fin komplementering til Java som studentene lærer i
første studieår: de behersker nå to utbredte programmeringsspråk. Forløperen til C++ er fortsatt i vid bruk,
og studentene lærer C som en introduksjon til C++. Ved siden av C/C++ lærer studentene matematikk og
fysikk, med fokus på temaer som er relevante for spill­ og grafikkprogrammering. Som
spesialiseringsemne innen spill lærer de Game AI (kunstig intelligens med fokus på spillbruk).
Programmering involverer mer enn bare programmeringspråk, og studentene vil få et kurs i
programmvareakritektur som gir innsikt i bredere problemstillinger samt et emne innen algoritmer og
datastrukturer, som forbedrer studentenes evne til å skrive ytelseseffektiv kode.
3. I det tredje året vil studentene jobbe med 3D grafikk, så vel som det mattematiske grunnlaget for dette.
Verktøyene studentne bruker er C++ og 3D systemet OpenGL. Studentene har også valgfag dette året, der
de kan velge emner som gir de spisskompetanse innen spillindustrien eller som gir de breddekunnskap
innen programmering generelt. I det avsluttende semesteret gjennomfører studentene et hovedprosjekt
der de løser en krevende oppgave knyttet til spill­ og/eller grafikkprogrammering, i nærkontakt med en
privat eller offentlig virksomhet.
X. Studiet har i tillegg noen fellesemner som står sentralt i bachelor IT utdanningen. Disse emnene er
Teknologi og Organisasjonen og Undersøkelsesmetoder.
Navn Bachelor IT ­ Spillprogrammering 2013­ 2014
Programmatrise + introduksjon
Spillprogrammering: Utdanne programmerere som kan utvikle spill og tunge matematikk­
/grafikkprogrammer
Mål med studiet
Etter endt studie skal studentene være i stand til å fylle et vidt spekter av programmeringsroller i norsk og
internasjonalt næringsliv. De skal være høyaktuelle for spillindustrien, men de skal også være aktuelle som
programutviklere innen C++ og Java generelt, spesielt i miljøer der visuelle virkemidler og multimedia
benyttes samt tidskritiske applikasjoner.
Sentrale emner
Bachelor studium IT med fordypning i Spillprogrammering har følgende fokus: Ved siden av vanlig
programmerer­kunnskap som software engineering og algoritmer/datastrukturer tilpasset bruksområdet,
fordrer dette kjennskap til mer spesialiserte fagområder og forskningsfelt som lineær algebra og spesielle
geometriske teknikker, nummeriske tilnærminger til klassisk mekanikk, optimalisering av grafisk
programvare og kunstig intelligens.
Jobbmuligheter
Generelt vil studiet gi kompetanse til å gå inn i følgende roller:
Spillprogrammerer:
S om spillprogrammerer jobber man daglig med å utvikle verktøy til dataspillbransjen
og/eller kjernefunksjonalitet for dataspillene. Dette er en rolle som ligger svært tett opp til studiet. Man
jobber i et ungt, spennende og hektisk miljø.
Systemprogrammerer: Mange firmaer lager programmer som krever mange av de samme egenskapene
som spillprogrammering. Simuleringer, kontrollsystemer og andre tidsfølsome applikasjoner pruker mange
av de samme teknikkene. Dette betyr at spillprogrammereren kan jobbe for et vidt spekter av bransjer.
IT­konsulent:
S om IT­konsulent får man gjerne muligheten til å oppleve flere forskjellige arbeidsplasser, da
man leies ut på prosjektbasis. Det er en variert hverdag der man kan dra nytte av enkelte emner man har
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
1/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
lært i et prosjekt, andre emner i det neste.
Utveksling
Det et mulig å ta deler av studiet ved andre høgskoler og universiteter i tråd med ERASMUS utvekslings
program.
Videre utdanning
Etter fullført bachelor studium er det mulig å fortsette på en masterutdanning. Følgende retninger vil passe
for studenter som har tatt bachelor studium IT med fordypning i Spillprogrammering:
• Retninger innen spill­ og underholdningsprogrammering
• Teknisk programmering
• Prosjekt­ eller IT­ledelse
Forkunnskaper
Studiet krever generell studiekompetanse med matematikkfordypning R1 eller S1 + S2 (2MX eller 2MZ +
3MZ ) for å ta Bachelor IT: Spillprogrammering.
Undervisningsmåte Studiet benytter en rekke undervisningsformer for å legge til rette for læring hos studentene. Forelesninger,
presentasjoner, arbeidsmøte og øvinger brukes for å introdusere nye begreper og sammenhenger, samt
innøve ferdigheter og forståelse. Arbeid med fagstoff foregår både individuelt og i gruppe, med vekt på
samhandling for å oppnå et godt læringsutbytte. Studiet har prosjektarbeid alle semestre for å i praksis
anvende ferdigheter og forståelse til å løse mer komplekse problemstillinger. I andre og tredje studieår er problemstillingene sterkt knyttet til det enkelte studieprogrammets egenart.
Studiet avsluttes med et hovedprosjekt i bedrift, hvor studentene vil anvende alle sine kompetanser
opparbeidet gjennom studiet for å løse et problem/oppgave som har verdi for oppdragsgiver.
Spillprogrammering 2013 ­ 2014 Emnekode
DB1100
PG1100
PJ1100
TK1100
TK2100
PG2100
PJ2100
PG3300
PG3400
RF3100
PJ3100
PG4200
PG4400
PG4500
BU5100
PG5200
RF5100
PG6200
PJ6000
PJ6100
Emnets navn
Databaser 1
Programmering 1
Kreativt webprosjekt
Digital teknologi
Informasjonssikkerhet
Programmering 2
Iterativt webprosjekt
Programvarearkitektur
Programmering i C for Linux
Matematikk og fysikk
Prosjekt Software Engineering
Algoritmer og datastrukturer
C++ Programmering
Game AI
Entreprenørskap
Tools programmering
Lineær algebra
Grafikkprogrammering
Hovedprosjekt
Undersøkelsesmetoder
S.poeng O/V *)
7,50
7,50
7,50
7,50
7,50
7,50
7,50
7,50
7,50
7,50
15,00
7,50
7,50
7,50
7,50
7,50
7,50
7,50
15,00
7,50
Studiepoeng pr. semester
S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5 7,5
O
7,5
O
7.5
O
7,5
O
7,5
O
7,5
O
7,5
O
7,5
O
15
O
7,5
Sum:
30 22,5
30
30 22,5
30
*) O ­ Obligatorisk emne, V ­ Valgbare emne
Spillprogrammering, valgemner 1.klasse Emnekode Emnets navn
DS2100
Animasjon
DS2200
Digital kultur
S.poeng O/V *)
7,50
7,50
Studiepoeng pr. semester
S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
V
7,5
V
7,5
Sum:
0 7,5
0
0
0
0
*) O ­ Obligatorisk emne, V ­ Valgbare emne
Spillprogrammering ­ Valgemner 3.klasse 2013 ­ 2014 Emnekode Emnets navn
PG5500
Embedded systems
PJ5100
Game Development
S.poeng O/V *)
7,50
7,50
V
V
Sum:
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Studiepoeng pr. semester
S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
7,5
7,5
0
0
0
0
7,5
0
2/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
*) O ­ Obligatorisk emne, V ­ Valgbare emne
BU5100 Entreprenørskap
Emnenivå Bachelor
Emnekode BU5100
Emnenavn Entreprenørskap
Studiepoeng 7,50
Emneansvarlig Eivind Brevik
Tilsynssensor Magne Johannessen
Godkjenningsdato 03.05.2013
Hensikt Hensikten med emnet er å gi forståelse for hva innovasjon og entreprenørskap er og kunne utvikle
ferdigheter for å fremme ideer og realisere disse. Kurset er orientert mot praktisk anvendelse av teknikk
og metoder, med utarbeidelse av forretningsplan som bærende element. Etter fullført emne skal studenten
ha tilstrekkelig innsikt og kompetanse til å kunne delta i og drive en slik prosess med utvikling av
forretningsplan for å etablere et nytt firma eller forretningsområde.
Forutsetninger Ingen
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
Kunne definere innovasjon og entreprenørskap
Kjenne til betydningen av innovasjon og entreprenørskap for individ, organisasjoner og samfunn
Kjenne til de markedsmessige og organisatoriske konsekvenser for innovasjon og entreprenørskap
Ha forståelse for immaterielle rettigheter
Ferdigheter
Etter å ha fullført emnet skal studenten:
Kunne utvikle planer for innovasjon og entreprenørskap, fra idé til implementering og drift
Kunne evaluere, velge og selge inn egne prosjekter for egnet målgruppe
Generell kompetanse
Etter å ha fullført emnet skal studenten:
Kunne reflektere over innovasjon og entreprenørskap i et videre perspektiv
Ha kunnskap om og forståelse for hvordan ideer aksepteres og spres i et sosialt system
Gjennomføring Forelesninger og øvinger
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
Tidsbruk
25
80
5
20
70
200
Vitnemålstekst Emnet har gitt studenten forståelse for hva innovasjon og entreprenørskap er, og ferdigheter med å
fremme ideer og realisere disse. Kurset er orientert mot praktisk anvendelse av teknikk og metoder, med
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
3/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
utarbeidelse av forretningsplan som bærende element. Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
Business
Model
Generation: A
Handbook for Osterwalder,
Visionaries,
A., Peigner, Wiley 2010 Game
Y. Changers,
and
Challengers The Lean
Startup: How
Today's
Entrepreneurs
Use
Crown
Continuous
Ries, Eric 2011 Business Innovation to
Create
Radically
Successful
Businesses ISBN
Utgave Kommentar Type
Litteratur
9780470876411 1 Bok Pensum 9780670921607 1 Bok Pensum DB1100 Databaser 1
Emnenivå Bachelor
Emnekode DB1100
Emnenavn Databaser 1
Studiepoeng 7,50
Emneansvarlig Per Lauvås
Tilsynssensor Bjørn Kristoffersen
Godkjenningsdato 18.04.2013
Hensikt Etter fullført Databaser 1 skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og
hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere
data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem
sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende
prinsippene for god design (normalisering, nøkkelbruk).
Forutsetninger Generell studiekompetanse
Læringsutbytte
Etter å ha fullført emnet skal studenten kunne:
Kunnskap:
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
4/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
definere og forklare forskjellen på data, struktur og presentasjon
forklare komponentene som inngår i et RDBMS
definere hva ACID­egenskapene er og hvorfor disse bør oppfylles
beskrive hva relasjonsalgebra er, og forklare mulighetene den gir ved å benytte begrepene
kartesisk produkt, union, snitt og mengde
definere begrepene primær­, fremmed­, kandidat­ og super­nøkkel, og anvende disse i
relasjonsdatabaser
definere begrepene funksjonell avhengighet og normalisering
forklare hvilke administrative mekanismer som finnes i et DBMS og hvordan disse brukes til å
opprette databaser
kunne forklare roller og rettigheter
Ferdigheter:
beskrive og utføre trinnene i utvikling av en EAR­modell fra kravspesifikasjonen til ferdig database,
tegne en EAR­modell med korrekt notasjon og kardinalitet
bruke SQL for å utføre CRUD­operasjoner på databasen
bruke SELECT­spørringer med opsjoner til å hente rapport fra en enkelt tabell
kombinere og hente rapporter fra flere tabeller ved bruk av JOIN­klausuler
benytte de vanligste normaliseringsformene (UNF, 1NF, 2NF, 3NF, BCNF)
bruke VIEW
utføre enkel brukeradministrasjon
modellere, opprette, legge inn data og hente ut rapporter fra en database med en viss kompleksitet
(f.eks. 10­15 tabeller og 5­10 relasjoner )
Generell kompetanse:
• forklare og eksemplifisere fordelene med å benytte en database og vurdere om disse er til stede i
konkrete tilfeller
• skissere livsløpet til en typisk database: modellering, opprettelse, bruk, revisjon, og eventuell migrasjon.
• forklare hvilke lover og regler som gjelder for lagring og bruk av personoppplysninger i Norge.
Gjennomføring Forelesninger, øvinger og selvstudium.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
MySQL Database
Tidsbruk
40
100
14
40
6
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Etter å ha fullført emnet skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og
hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere
data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem
sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende
prinsippene for god design (normalisering, nøkkelbruk), og utføre grunnleggende administrative oppgaver.
Vurderingstype Skriftlig
Vurdering
Flervalgseksamen (25%)
Skriftlig eksamen (75%)
Litteraturliste:
Tittel
Forfatter Forlag
Database
Systems. A
Practical
Thomas
Utgitt
år
ISBN
Utgave Kommentar Type
Litteratur
ISBN­10:
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
5/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Approach to
Connolly Addison 2014 Design,
& Begg, Wesley Implementation, Carolyn and
Management 0132943263 6. ISBN­13:
978­
0132943260 Bok Pensum DS2100 Animasjon
Emnenivå Bachelor
Emnekode DS2100
Emnenavn Animasjon
Studiepoeng 7,50
Emneansvarlig Hrafnhildur Jonasdottir
Tilsynssensor Bård R.Gunnerud
Godkjenningsdato 30.05.2012
Hensikt I dagens samfunn er det stadig en utvikling i teknologi, applikasjoner og teknikker. Animasjon knytter
tradisjonelle teknikker som historiefortelling, tegning og konstruksjon sammen med ny teknologi innenfor
kanaler som reklame, spill, film, mobiltelefoni, kunst, internett osv. Animasjon hjelper oss å kommunisere
og visualisere våre budskap gjennom disse kanalene og spiller en stor rolle i utdanning, underholdning,
industri og kunst. I løpet av emnet vil studenten ha tilegnet seg kunnskap og ferdigheter til å lage en kort
animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et gitt
budskap gjennom visuelle grep. Studenten skal kunne vise til kreativ­ og kritisk tenkning knyttet til
animasjon.
Læringsutbytte
Kunnskaper
Etter fullført emne skal studenten kunne:
o forklare virkemåten til, og produksjonsmåten for, ulike animasjons­teknikker og –uttrykk
o beskrive rollen til manus, storyboard, lyd og etterarbeid i produksjon av (egen) animasjonsfilm
o gjengi og benytte regler og teori innenfor filmkunnskap og dramaturgi til å analysere
animasjonsfilm
o beskrive de spesifikke visuelle virkemidlene som benyttes i animasjonskultur
Ferdigheter
Etter fullført emne skal studenten kunne:
o demonstrere ferdigheter innenfor tegning, fotografering, lyd og filmredigering gjennom å kunne skape en
enkel animasjonsfilm fra ide til ferdig produkt
o demonstrere ulike teknikker for å lage en animasjonsfilm
o utvikle et eget animasjonsuttrykk
o benytte ulike digitale verktøy og filformater til å produsere, publisere og distribuere animasjoner.
Generell kompetanse Etter fullført emne skal studenten kunne:
o demonstrere kreativ og kritisk tenkning og kommunikasjonsevner gjennom animasjonsteknikker
Gjennomføring Gjennomføringen av emnet er basert på kombinasjon av forelesning, prosjektarbeid, og individuell skriftlig
prøve
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Tidsbruk
48
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
6/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
60
12
40
40
200
Vitnemålstekst Studenten skal ha tilegnet seg tilstrekkelig kunnskap og ferdigheter til å lage en kort
animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et
gitt budskap gjennom visuelle grep. Studenten skal kunne vise til kreativ og kritisk tenkning knyttet til
animasjon.
Pensum
publiseres på emnesiden i It's Learning
Vurderingstype Innlevering
Vurdering
Mappevurdering (se emnesiden)
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Ideas for
the
Karen
Animated Sullivan,
Short:
Kate
Elsevier 2013 Finding
Alexander
and
og Gary
Building Schumer Stories ISBN
Utgave Kommentar Type
9780240818726 2. utg Bok Litteratur
Pensum DS2200 Digital kultur
Emnenivå Bachelor
Emnekode DS2200
Emnenavn Digital kultur
Studiepoeng 7,50
Emneansvarlig Faltin Karlsen
Tilsynssensor Anders Fagerjord, UiO
Godkjenningsdato 08.05.2013
Hensikt Internett har stor innflytelse på hvordan vi kommuniserer og våre liv, både privat og i kommersielle sammenhenger. Innen mange bransjer har Internett bidratt til å bryte ned skillet mellom produsent og tjenesteyter på den ene siden, og brukere og konsumenter på den andre. I dag påvirker brukerne ofte direkte hvordan nye produkter, tekster og tjenester utformes. Samtidig gir Internett helt nye muligheter for å overvåke brukernes adferd og å styre tilgang til informasjon, i tillegg til at skillet mellom privat og offentlig blir mye mer uklart og det blir enklere for flere å delta som aktive brukere.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
7/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Emnet Digital kultur behandler disse temaene fra hovedsakelige humanistiske og medievitenskapelige kulturteoretiske tilnærminger gjennom fokus på generell kultur­ og medieforståelse knyttet opp mot digitale kulturfenomener. Klassiske og moderne kulturteorier og tradisjoner benyttes i analyser og drøftinger av produsenter, innhold/tekster, forbrukere og kommunikasjonskanaler. Studentene lærer hvordan digitale kulturfenomener ligner på og skiller seg fra andre kulturfenomener, samt hvordan kulturteori kan anvendes for å kontekstualisere, belyse, diskutere og problematisere disse fenomenene.
Forutsetninger Generell studiekompetanse
Læringsutbytte
Kunnskaper
Studentene skal kjenne til sentrale kulturteoretiske perspektiver og tradisjoner, og vite hvordan
disse kan belyse forskjellige aspekter og problemstillinger rundt digitalekulturfenomener. Sentrale
perspektiver og tradisjoner inkluderer semiotikk, retorikk,hermeneutikk, ideologikritikk og
postmodernisme. Sentrale fenomener inkluderer sosialemedier, produsage, transmediering,
franchising, kollektiv intelligens og spillkultur.
Studentene skal kjenne til akademisk tenkning og skriving som genre, med fokus på
analyse, drøfting, kildekritikk og referanseteknikk.
Ferdigheter
Studentene skal kunne kritisk reflektere over og bruke fagstoff i analyser og drøftinger samt
skrive akademiske tekster og holde faglige presentasjoner.
Studentene skal kunne utvikle en strategi for bruk av sosiale medier i forretningssammenheng
Generell kompetanse
Studentene skal kjenne til sentrale klassiske og moderne kulturteorier og kritisk anvende disse i
forståelse og analyser av kulturfenomener
Studentene skal kunne problematisere ulike tilnærminger rundt bruk av digitale medier i offentlig,
kommersiell, og privat sammenheng.
Studentene skal kunne kritisk anvende fagstoff i egne akademiske tekster og presentasjoner som
følger god akademisk skikk med hensyn til problemstilling, struktur, innhold,argumentasjon og
referanseteknikk.
Gjennomføring Emnet gjennomføres som fellesforelesninger og som samlinger i mindre grupper. Studentene skal i løpet av
emnet gjennomføre minst en presentasjon av et tema de har jobbet med i grupper.
Anbefalt tidsbruk
Aktivitet
Tidsbruk
Deltakelse i undervisning
24
Selvstudium
104
Forberedelse til presentasjon/diskusjon i klassen 24
Øving
24
Vurdering
24
Anbefalt tidsbruk totalt
200
Verktøy
Studentene vil benytte enkle og gratis tilgjengelig publiseringsverktøy og sosiale medier som flickr,
posterous, facebook og twitter. Disse tjenestene vil brukes aktivt i undervisningen.
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Studenten skal vite hvordan digitale kulturfenomener ligner på og skiller seg fra andre kulturfenomener, samt hvordan kulturteori kan anvendes til å kontekstualisere, belyse og problematisere disse fenomenene. Studenten skal kunne skrive akademiske tekster og holde faglige presentasjoner.
Pensum
Gripsrud, Jostein: Mediekultur, mediesamfunn Universitets­forlaget 2011 (4. utg) ISBN 9788215017921
Detaljert oversikt over hvilke kapitler som skal være med vil oppgis før oppstart.
Vurderingstype Innlevering
Vurdering
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
8/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
I semesteret må det leveres to kvalifikasjonsoppgaver.
I forbindelse med siste innlevering må man også delta på en muntlig eksamen.
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Mediekultur,
Gripsrud,
Universitetsforlaget 2011 mediesamfunn Jostein ISBN
Utgave Kommentar Type
9788215017921 4. utg Bok Litteratur
Pensum PG1100 Programmering 1
Emnenivå Bachelor
Emnekode PG1100
Emnenavn Programmering 1
Studiepoeng 7,50
Emneansvarlig Stein Marthinsen
Tilsynssensor Morten Andersen­Gott
Godkjenningsdato 16.10.2011
Hensikt I utviklingen av applikasjoner er programmering en meget sentral disiplin, siden det er dette som benyttes
til å realisere /lage kjørbare systemer på en datamaskin. Denne disiplinen trekkes direkte eller indirekte inn
i en rekke andre fag ved IT­utdanningen. Emnet skal gi en første innføring i programmering og utvikling av
algoritmer for å løse ulike problemer. Forutsetninger Emnet krever ingen konkrete faglige forutsetninger utover generell studiekompetanse og god kjennskap til
bruk av en PC. Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet og evne til
logisk tenking.
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten
vite hva et programmeringsspråk er, og hvordan slike skiller seg fra naturlige språk
vite forskjellen på interpreterte og kompilerte språk
kjenne til forskjellene på hendelsesdrevne og rent sekvensielle programmer
Ferdigheter
Etter å ha fullført emnet skal studenten kunne
· bruke et API
· lage enkle programmer som bl.a. gjør bruk av
o variabler
o tilordning
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
9/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
o ulike datatyper
o aritmetiske og logiske uttrykk
· lage enkle programmer som anvender kontrollstrukturene
o valg
o løkke
· lage enkle programmer med fokus på utvikling av algoritmer
· lage enkle programmer som skriver til og leser fra tekstfiler
· deklarere og bruke statiske tabeller (arrays)
· beherske et enkelt integrert utviklingsverktøy (IDE)
· kunne skrive og redigere kildekode med dette verktøyet
· kunne kjøre programmer med dette verktøyet
· kunne bruke de grunnleggende elementene i et programmeringsspråk til å lage programmer
· kunne tolke og forholde seg til feilmeldinger og rette kildekode ut fra disse
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne
· vurdere passende strategi for løsing av et problem
· diskutere problemløsningsmetoder med medstudenter
· gjøre rede for tankegang for egne løsninger
Gjennomføring Forelesninger, øvinger med veileder, innleveringer og skriftlig vurdering.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Tidsbruk
24
110
36
30
200
· Java 1.6
· JCreator/DrJava
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt en introduksjon i programmering med vekt på utvikling av algoritmer for å løse enkle
problemer. Studenten kan deklarere og anvende ulike datatyper og gjøre bruk av kontrollstrukturene valg
og løkke. Studenten kan også gjøre bruk av tabeller (arrays) etter behov.
Vurderingstype Mappevurdering
Vurdering
Mappe bestående av innleveringer og avsluttende skriftlig vurdering.
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
Building
Stuart
Java
Addison
Reges/Marty
2013 Programs
Wesley Stepp ISBN
Utgave Kommentar Type
978­
3. utg 0133360905 Bok Litteratur
Pensum PG2100 Programmering 2
Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
10/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Bachelor
Emnekode PG2100
Emnenavn Programmering 2
Studiepoeng 7,50
Emneansvarlig Stein Marthinsen
Tilsynssensor Morten Andersen­Gott
Godkjenningsdato 16.10.2011
Hensikt Emnet skal gi en første innføring i objektorientert programmering. Flere sentrale mekanismer i
objektorientert programmering vil bli gjennomgått, samt eksempler på samspill mellom objekter av noen få
klasser. Modellering i UML av små systemer (klassediagrammer og sekvensdiagrammer) blir også brukt.
Emnet skal gi en enkel innføring i programmering av grafiske grensesnitt (GUI) med hendelseshåndtering.
Emnet gir en introduksjon av en standard Collection­klasse (ArrayList).
Forutsetninger PG1100
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
· vite hva arv er
· vite hva polymorfi er
· vite om likheter/forskjeller mellom abstrakte klasser og interfacees
· vite hvordan mekanismen for hendelseshåndtering fungerer
Ferdigheter
Etter å ha fullført emnet skal studenten kunne:
· definere klasser, og kunne beherske bruk av objekter
· beherske ulike UML­diagramtyper slik som enkle klassediagrammer og sekvensdiagrammer
· beherske bruk av objekter og få objekter til å samarbeide
· kunne definere spesialiseringer av klasser gjennom arv
· beherske bruk av abstrakte klasser og interface (’kontrakter’)
· anvende arv og interfaces gjennom kode med polymorfisk oppbygning
· programmere enkle grafiske grensesnitt
· bruke ArrayList­klassen til å opprette og bruke en dynamisk datastruktur
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
· beherske et enkelt integrert utviklingsverktøy (IDE)
· skrive og redigere kildekode med dette verktøyet
· kjøre programmer med dette verktøyet
· bruke de grunnleggende elementene i dette språket til å lage programmer
· bruke en debugger for å finne feil
Gjennomføring Forelesninger, øvinger, innleveringer og skriftlig vurdering.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Tidsbruk
24
128
24
24
200
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
11/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Verktøy
· Java JDK 1.6 eller nyere
· IDE
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt en innføring i objektorientert programmering. Studenten kan definere og anvende
spesialiseringer av klasser gjennom arv/interface/polymorfi og mestrer programmering av enkle grafiske
brukergrensesnitt (GUI) med tilhørende enkel hendelseshåndtering. I tillegg har studenten lært å bruke en
standard Collection­klasse til å implementere en dynamisk datastruktur.
Vurderingstype Mappevurdering
Vurdering
Mappe bestående av innleveringer og skriftlig prøve.
Litteraturliste:
Tittel
Forfatter
Forlag
Building
Stuart
Java
Reges/Marty Programs Stepp Utgitt
år
ISBN
2013 978­
3. utg 0133360905 Utgave Kommentar Type
Bok Litteratur
Pensum PG3300 Programvarearkitektur
Emnenivå Bachelor
Emnekode PG3300
Emnenavn Programvarearkitektur
Studiepoeng 7,50
Emneansvarlig Per Lauvås
Tilsynssensor Alf Inge Wang
Godkjenningsdato Hensikt Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med
kjente teknikker for modellering, testing og implementasjon.
Forutsetninger Erfaring med grunnleggende objektorietert programmering.
Læringsutbytte
Etter å ha fullført emnet skal studenten kunne: Kunnskap:
Vite bakgrunn og innhold for UML standarden.
Kjenne til konsepter for versjonskontroll.
Vite hva Unit Testing er.
Forklare prinsippene for test­driven development (TDD).
Vite hva design patterns er.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
12/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Kjenne til og kunne identifisere en del viktige design patterns når de ser de i kode.
Vite hva refactoring er.
Vite hva multi­threading er.
Forstå hvordan locking/lås kan brukes for å kode trådsikkert
Forklare hvordan action listeners kan brukes for event handling.
Ferdigheter:
Ha oversikt over og kunne benytte den grunnleggende syntaksen i programmeringspråket C# og
vite på hvilke måter denne skiller seg fra Java.
Beherske UML­diagrammene: use case, klassediagram, komponent diagram og sekvensdiagram.
Bruke UML til å designe programarkitektur.
Implementere følgende patterns: MVC & MVP, singleton, factory, builder, flyweight, composition,
decorator.
Kunne anvende design guidelines, som layers og GRASP prinsippene (med fokus på følgende for
sistnevnte: controller, information expert, low coupling, high cohesion).
Kunne gjennomføre refactoring på eksisterende kode.
Kunne implementere applikasjoner som benytter flere tråder.
Beherske et integrert utviklingsverktøy (IDE).
Skrive og redigere kildekode med dette verktøyet.
Generell Kompetanse:
Reflektere over multi­threading og dets bruksområder.
Samarbeide med andre programmerere på en effektiv måte for å utvikle gode programmer.
Vurdere kvalitet på eksisterende programmer og foreslå strukturelle forbedringer.
Gjennomføring Forelesninger, øvinger og egenstudier.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Øving
Vurdering
Anbefalt tidsbruk totalt
.
Tidsbruk
24
128
24
24
200
Verktøy
IDE: Visual Studio Ultimate
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med
kjente teknikker for modellering, testing og implementasjon.
Pensum
Lærebok (se "Litteraturliste", under) samt forelesningsmaterialet og nødvendige hjelpemidler for å
gjennomføre øvingsopplegget.
Vurderingstype Innlevering
Vurdering
2 innleveringer og 1 muntlig prøve (se "Vurdering / Assessment", under).
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Applying
Craig
Prentice
UML and
2004 Larman Hall Patterns ISBN
Utgave Kommentar Type
978­
3rd ed. 0131489066 Bok Litteratur
Pensum PG3400 Programmering i C for Linux
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
13/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Emnenivå Bachelor
Emnekode PG3400
Emnenavn Programmering i C for Linux
Studiepoeng 7,50
Emneansvarlig Kjetil Raaen
Godkjenningsdato Hensikt Emnet gir innføring i programmeringspråket C og hvordan dette kan brukes til å interaktere direkte med
operativstytemet. Det skal også gi forståelse av operativsystemet Linux og kunnskap om hvordan dette
virker.
Forutsetninger Grunnleggende programmeringskunnskap (PG2100 Programmering 2 eller tilsvarende) samt grunnleggende
digital teknologi (TK1100 Digital teknologi eller tilsvarende).
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
Kjenne til operativsystemene Unix og Linux:
bakgrunn og historie
overordnet arkitektur og oppbygning
Kjenne til utviklingen av og bruksområdet for programmerinspråket «C»
Forstå hva «viritualisering» er
Kjenne til byggeprosessen i C inkludert:
compile
link
Forklare konseptet «everything is a file» og kjenne til eksempler inkludert:
devices
procfs
Forstå hva et «filsystem» er og hva det brukes til
Forstå konseptene bak brukere og permissions i Linux
Kjenne til forskjellen på userspace og kernelspace og hvordan bruke systemkall og signaler
Kjenne til minneområdene «stack» og «heap» og forklare forskjellen
Kjenne til konseptet "buffer owerflow" og hvorfor det er farlig.
Ferdigheter
Etter å ha fullført emnet skal studenten:
Bruke grunnleggende konstuksjoner i programmeringspråket «C» inkludert:
main, basic types, printf, scanf, strings, #include, enum, typedef, struct, union, command line
parameters, macros, varargs
Statisk minnehåndtering
Utvikle programmer under paradigmet «strukturert programmering»
Anvende dynamisk minnehåndtering inkludert:
malloc, free, pointers, memcpy, sprintf, arrays, sizeof
Lese og skrive enkeltbits og grupper av bits in en større datastruktur.
Generere kjørbare filer fra C­kode
makefile
static libraries
Implementere lesing og skriving til fil
r/w modes
seek
buffer size
Operere kommandolinjen i linux for å utføre viktige operasjoner inkludert:
ls, cd, mkdir, rm, cp, chmod, chown, pwd, ps, kill, man, wget
pipes, redirection
starte programmer
mounting av filsystemer
Lage programmer som unngår buffer overflow.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
14/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
Vurdere hvilke situasjoner det er fornuftig å bruke programmeringspråket «C»
Anvende «C» for å løse systemprogrammeringsoppgaver
Forholde seg til manuell minnehåndtering
Forholde seg til linux som operativsysem
Gjennomføring Kurset gjennomføres med 12 forelesninger a ca 2 timer og 12 lærerstyrte øvinger a ca 2 timer. Øvingene
er ikke obligatoriske, men for å oppnå kompetansemålene forventes det at studentene fullfører
øvingsoppgavene på egenhånd der øvingstimene ikke strekker til.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning/forelesning
Selvstudium
Forberedelse til presentasjon/diskusjon
Øving/prosjektarbeid/workshop
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Linux og gcc
Tidsbruk
24
110
0
24
42
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Etter å ha gjennomført emnet skal studentene kunne bruke operativsystemet Linux. De skal også være i
stand til å programmere i programmeringspråket «C».
Pensum
Pensum skal være egnet til å sikre kandidatenes kompetanse i relasjon til læringsutbyttene for emnet.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Kochan,
Programming
Sams
Stephen
2004 in C publishing G ISBN
Utgave Kommentar Type
9780672326660 3. utg Bok Litteratur
Pensum PG4200 Algoritmer og datastrukturer
Emnenivå Bachelor
Emnekode PG4200
Emnenavn Algoritmer og datastrukturer
Studiepoeng 7,50
Emneansvarlig Lars Sydnes
Tilsynssensor Magnus Lie Hetland, NTNU
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
15/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Godkjenningsdato 24.04.2014
Hensikt Emnet skal gi innsikt i algoritmer og datastrukturer som er sentrale i arbeidet med implementasjon og
design av effektive datasystemer. Det legges vekt på en asymptotisk analyse av worst­case ressursrbruk,
samt sentrale algoritmer og datastrukturer knyttet til søk og sortering. Emnet tar også for seg enkelte graf­
algoritmer.
Forutsetninger PG1100 og PG2100 eller tilsvarende grunnleggende programmeringskunnskap.
Læringsutbytte
Kunnskapsmål
Studentene skal kjenne til følgende:
Sentrale abstrakte datatyper:
Lister, køer, stakker,
Mengder (sets, collections), Avbildninger (maps)
Trær og grafer.
Egenskapene til sentrale datastrukturer:
Tabeller (arrays).
Lenkede lister.
Binære trær, søketrær, balanserte søketrær, B­trær, AVL­trær, Red­Black­trær.
Hash­tabeller og Hash­avbildninger.
Grafer implementert ved naboskapslister og ­matriser.
Sentrale søkealgoritmer:
Linært søk, Binært søk.
Søk i binære søketrær.
Søk i Hash­tabeller.
Sorteringsalgoritmer:
Insertion sort, Selection sort, Bubble sort,
Quicksort, Merge sort, Heap sort,
Radix sort.
Enkelte graf­algoritmer, inkludert
traversering av grafer,
Dijkstras algoritme, A*­algoritmen,
Prims algoritme.
Oppbygning, virkemåte og bruk av rekursive funksjoner, inkludert
rekursiv traversering av trær og grafer,
rekursiv søk og sortering,
backtracking.
Grunnleggende begreper innen teorien for beregningskompleksitet, inkludert
O­notasjon,
NP­kompletthet og reduksjon,
den handelsreisendes problem (Travelling salesman problem),
ryggsekkproblemet (Knapsack problem).
Ferdighetsmål
Studenten skal kunne:
Bruke eksisternde bilblioteker for algoritmer og datastrukturer,
Implementere kjente datastrukturer, inkludert
tabell­lister, lenkede lister,
binære søketrær og heaps,
hash­tabeller,
grafer.
Implementere kjente algoritmer, inkludert
Insertion sort, selection sort,
Merge sort, Heap sort.
Drøfte worst­case ressursbruk for konkrete elementer i dataprogrammer ved hjelp av O­notasjon.
Bruke grunnleggende generisk programmering i java.
Generelle kompetansemål
Studenten skal
beherske klassisk asymptotisk analyse av dataprogrammer,
kunne bruke eksisterende bibliotek og egenutviklede algoritmer og datastrukturer til å løse praktiske
problemer,
beherske et språk og begrepsapparat som egner seg for å drøfte ressursbruken til dataprogrammer,
ha den kunnskapen om algoritmer og datastrukturer som kreves i videre informatikkstudier.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
16/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Gjennomføring Forelesninger (ca. 50%) og øvinger (ca. 50%)
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Java Development Kit 1.8
Tidsbruk
24
128
24
24
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet skal gi innsikt i algoritmer og datastrukturer som er sentrale i arbeidet med implementasjon og
design av effektive datasystemer.
Vurderingstype Innlevering
Vurdering
To innleveringer underveis i semesteret og skriftlig avsluttende eksamen.
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
Robert
Sedgewick, Addison­
Algorithms 2011 Kevin
Wesley Wayne ISBN
Utgave Kommentar Type
Litteratur
978­0­
321­
57351­
3 4 Pensum Bok PG4400 C++ Programmering
Emnenivå Bachelor
Emnekode PG4400
Emnenavn C++ Programmering
Studiepoeng 7,50
Emneansvarlig Kjetil Raaen
Tilsynssensor Olve Maudal
Godkjenningsdato Hensikt Emnet skal gi studentene kunnskap om fundamentale og avanserte programmeringsbegreper i språket
C++. Målet er å videreutvikle studentenes programmeringskunnskaper til det som er nødvendig for å
utvikle effektive og komplekse systemer, inklusive spill og interaktive applikasjoner. De vil lære å beherske
Microsoft Visual Studio som IDE for C++.
Forutsetninger Objektorientert programmering som fra PG2100 (Programmering 2), samt C­programmering som fra
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
17/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
PG3400 (Programmering i C for Linux). Eventuelt tilsvarende emner.
Læringsutbytte
Kunnskap
Kjenne til referanser og pekere, samt deres relasjon til hverandre.
Kjenne til et bibliotek for 2D grafikkprogrammering.
Kjenne til grunnleggende konsepter i 2D grafikkprogrammering.
Kjenne til minneallokering i C++ inklusiv forskjellene på stack og heap.
Kjenne til erstatninger for function pointers i C++, som callback functions og functors.
Kjenne til templates og deres bruksområder.
Kjenne til ulike revisjoner av C++ og de viktigste forskjellene.
Kjenne til hvordan kompilatoren utnytter CPU, minne og cache.
Ferdigheter
Beherske Visual Studio som C++ programmeringsmiljø (opprette projects, kompilere, linke, kjøre).
Beherske debugging i Visual Studio.
Programmere med standard IO (cin, cout).
Beherske skriving og lesing til og fra fil med streams.
Anvende pekere og referanser.
Korrekt anvendelse av minne ved new og delete.
Korrekt anvendelse av const og mutable.
Programmere med containers, algoritmer og iteratorer fra STL.
Kunne anvende og utvikle egne templates.
Kunne anvende objektorientert programmering i C++ med bruk av klasser, objekter, arv og
polymorfi.
Programmere med threads og synkroniseringsmekanismer i C++.
Anvende smart pointers for å forenkle minnehåndtering.
Programmere med operator­overlasting.
Håndtere og lage egne exceptions.
Kunne inkludere og anvende tredjepartsbiblioteker ved hjelp av macroer i Visual Studio.
Beherske enkel 2D grafikkprogrammering.
Benytte callback functions.
Kunne anvende tid som en faktor under kjøring av et program.
Håndtere brukerinput interaktivt i applikasjoner.
Utnytte "move semantics" for bedre kode.
Benytte tråder, promises og futures til paralell programmering.
Generell kompetanse
Utvide sin forståelse for hvordan objektorientering og template programming kan benyttes til å
skape veldesignede programmer.
Forstå poenget med operator­overlasting og bruksområde.
Forstå når man skal bruke tredjeparts biblioteker og når en skal utvikle selv.
Forstå hvordan parallel programmering er nødvendig for å få optimal ytelse av moderne hardware. Gjennomføring Forelesninger og øvinger, til sammen 4 timer/uke. Kurset gjennomføres med 12 forelesninger a ca 2 timer
og 12 lærerstyrte øvinger a ca 2 timer. Øvingene er ikke obligatoriske, men for å oppnå
kompetansemålene forventes det at studentene fullfører øvingsoppgavene på egenhånd der øvingstimene
ikke strekker til.
Anbefalt tidsbruk
Aktivitet
Tidsbruk
Deltakelse i undervisning
24
Selvstudium
92
Forberedelse til presentasjon/diskusjon i klassen
0
Øving
24
Vurdering
60
Anbefalt tidsbruk totalt
200
Verktøy
Microsoft Visual Studio med 3. parts biblioteker for ekstra funksjonalitet.
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt studentene kunnskap om fundamentale og avanserte programmeringsbegreper i språket
C++. Studentenes programmeringskunnskaper er videreutviklet til det som er nødvendig for å utvikle
effektive og komplekse systemer, inklusive spill og interaktive applikasjoner. De har lært å beherske
Microsoft Visual Studio som IDE for C++.
Pensum
Se litteraturliste, under. Pensum dekkes i tillegg av forelesningsmaterialet og nødvendige hjelpemidler for å
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
18/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
gjennomføre øvingsopplegget. Materiellet gjøres tilgjengelig for studentene fortløpende gjennom kurset.
Vurderingstype Mappevurdering
Vurdering
2 innleveringer
Skriftlig eksamen
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
The C++
Bjarne
Addison
Programming
2013 Strostrup Wesley Language ISBN
Utgave Kommentar Type
Litteratur
978­0­
321­
56384­
2 4 Pensum Bok PG4500 Game AI
Emnenivå Bachelor
Emnekode PG4500
Emnenavn Game AI
Studiepoeng 7,50
Emneansvarlig Kjetil Raaen
Godkjenningsdato Hensikt Etter fullført emne har studentene fått en innføring i kunstig intelligens for spill: Hvilke byggesteiner som
utgjør AI i ulike typer spill, og hvilken teknikk som passer i en bestemt situasjon. Videre har studentene fått
praktisk erfaring med å implementere kunstig intelligens.
Forutsetninger Erfaring med grunnleggende C# programmering (som C# delen av PG3300 programvarearkitektur, eller
liknende).
Læringsutbytte
Etter å ha fullført emnet skal studenten: Kunnskap:
Kjenne til forskjeller og likheter mellom kunstig intelligens (AI) for spill og mer tradisjonelle
bruksområder.
Vite hva pathfinding er, samt kunne sammenlikne en rekke kjente pathfinding algoritmer.
Kjenne til hierarkisk pathfinding.
Kjenne til fuzzy logic, og hvordan dette kan brukes i AI sammenheng.
Vite hva regelbaserte systemer er, og hvordan de virker.
Kjenne til måter AI kan ta taktiske og strategiske avgjørelser på.
Vite hvordan vi kan lage koordinert AI for grupper.
Kjenne til teknikker for å la AI systemer lære, blant annet ved hjelp av nevrale nettverk.
Ferdigheter:
Kunne lage og bruke agentbasert AI.
Kjenne til steering behaviors, og bruke de vanligeste steering behaviors i praksis.
Kunne lage og bruke tilstandsmaskiner, særlig i forbindelse med spill.
Kunne implementere riktig AI for spill innen flere sjangere.
Kunne programmere A* algoritmen med fler for pathfinding.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
19/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Kunne scripte AI­oppførsel for spill.
Generell Kompetanse:
Forstå hvordan AI kan brukes til å gi unike spillopplevelser.
Forstå hvilke AI­teknikker som er riktig å velge, gitt bestemte situasjoner.
Gjennomføring Forelesninger, øvinger og egenstudier.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Visual Studio IDE.
Tidsbruk
24
128
24
24
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Etter fullført emne har studentene fått en innføring i kunstig intelligens for spill: Hvilke byggesteiner som
utgjør AI i ulike typer spill, og hvilken teknikk som passer i en bestemt situasjon. Videre har studentene fått
praktisk erfaring med å implementere kunstig intelligens.
Pensum
Se litteraturliste.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Ian
Artificial
Millington Morgan
Intelligence
2009 & John
Kaufmann for Games Funge ISBN
Utgave Kommentar Type
978­0­
12­
2nd ed. 374731­
0 Bok Litteratur
Pensum PG5200 Tools programmering
Emnenivå Bachelor
Emnekode PG5200
Emnenavn Tools programmering
Studiepoeng 7,50
Emneansvarlig Kjetil Raaen
Godkjenningsdato Hensikt Målet med faget er å gi studentene innsikt i utfordringer å løsninger for utvikling av verktøy som lar andre
profesjoner produsere innhold for spill. Studentene utvikler en enkel leveleditor og andre verktøy som
trengs for å utvikle spill og andre multimediaprodukter. Videre vil studentene bli kjent med behovet for
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
20/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
stabilitet, feilhåndtering og hurtig reaksjon.
Forutsetninger Erfaring med grunnleggende C# programmering (gjennom C# elementene i PG3300
programvarearkitektur, eller tilsvarende)
Læringsutbytte
Kunnskap:
Forstå grunnleggende funksjonalitet i en spillmotor, og hva konseptet ”toolchain” innebærer.
Forstå hvorfor gode verktøy er essensielle for effektiv produksjon av innhold.
Forklare de forskjellige kategoriene av verktøy brukt i spillutvikling.
Beskrive den viktigste funksjonaliteten i en leveleditor. Kjenne til tredjepartsløsninger for spillverktøy.
Ferdigheter:
Vurdere nytten av å lage utviklingsverktøy selv i forhold til å benytte tredjepartsløsninger.
Utvikle kravspesifikasjon for et variert utvalg verktøy. Programmere verktøy i C# med WPF.
Bruk og håndtering av exceptions for bedret stabilitet. Implementere essensiell funksjonalitet for en
leveleditor.
Bruke parallell prosessering til å fordele arbeid og forbedre svartiden i applikasjoner.
Lage programmer hvis oppførsel kan endres under kjøring.
Kommunisere med eksisterende APIer laget i andre språk.
Generell kompetanse:
Forstå hvordan en god verktøykjede kan forbedre utviklingseffektiviteten.
Reflektere kritisk rundt spillutviklingsprosessen og de nødvendige krav.
Gjennomføring 12 forelseninger med øvinger
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Microsoft visual studio
Tidsbruk
24
122
0
24 30 200
C#
Spillmotor
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Studenten har fått innsikt i utfordringer å løsninger for utvikling av verktøy som lar andre profesjoner
produsere innhold for spill. Studenten har utviklet en enkel leveleditor og andre verktøy som trengs for å
utvikle spill og andre multimediaprodukter. Videre er studenten kjent med behovet for stabilitet,
feilhåndtering og hurtig reaksjon.
Vurderingstype Innlevering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
ISBN
Utgave Kommentar Type
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Litteratur
21/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Nagel,
Professional
Evjen,
C# 2012
Wrox
Glynn,
and .NET
Press Watson,
4.5 Skinner 2012 978­1­
118­
31442­
5 1st
edition Bok Pensum PG5500 Embedded systems
Emnenivå Bachelor
Emnekode PG5500
Emnenavn Embedded systems
Studiepoeng 7,50
Emneansvarlig Kjetil Raaen
Godkjenningsdato Hensikt Hensikten med dette emnet er å gi kunnskap i og om bruken av embedded systems med tilhørende
arkitektur. Emnet skal også gi kunnskap om grunnleggende hardwarekomponenter og Arduino. Emnet skal
gi studentene ferdigheter i å programmere applikasjoner som kommuniserer med IO enheter tilknyttet
mikrokontrollere. Studenten skal ha kompetanse i bruksområder og praktiske anvendelser for embedded
systems. Forutsetninger Gode ferdigheter i programmering (min tilsvarende 2.kl Bachelor)
Læringsutbytte
Kunnskap:
Forstå utrykket Embedded systems og kjenne til forskjellen mellom en CPU og en microkontroller
Kjenne til de mest brukte akritekturene for embedded systems
Ha kunnsakp om hardwaren i Raspberry Pi, og hvordan den brukes
Ha kunnskap Arduino og hvoran den brukes
Ferdigheter:
Kunne sette opp og installere OS og annen software på Raspberry PI
Kjenne til og bruke grunnleggende elektroniske komponenter som LED, knapper, motstand, buzzer
og transistorer.
Kunne styre eksterne komponenter, med både analoge og digitale signaler, fra embedded kontroller
(segment display, led matrise, lcd, i/o expansion)
Kunne lese inn data fra analoge og dikgitale eksterne sensorer. (eks. lys, tempratur, knapper)
Kunne styre motorer (servo, DC, stepper, solenoid m.m.)
Kommunisere trådløst med IR
Bruke data fra eksterne sensorer til å styre eksterne komponenter
Kjenne til og bruke viktige protokoller i embedded systems som bit­banging, SPI, I2C, 1Wire og
UART.
Forstå hvordan embedded systemer virker i grensesnittet mellom elektronikk og program (Eeprom,
interrupts, minnehåndtering)
Kunne designe enkle kage kretskort med Fritzing
Generell kompetanse:
Ha innsikt i bruksområder og praktiske anvendelser for embedded systems
Designe, teste og kritisk evaluere Embedded Systems som løsninge på virkelige problemstillinger som å lage roboter og spillkonsoller
Gjennomføring Forelesninger, øvinger og egenstudium
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Tidsbruk
24
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
22/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Selvstudium
71
Forberedelse til presentasjon/diskusjon i klassen 24 Øving
10
Vurdering
71 Anbefalt tidsbruk totalt
200
Verktøy
Arduino, Raspberry Pi og elektroniske komponenter
Fritzing
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Hensikten med dette emnet er å gi kunnskap i og om bruken av embedded systems med tilhørende
arkitektur. Emnet skal også gi kunnskap om grunnleggende hardwarekomponenter og Arduino. Emnet skal
gi studentene ferdigheter i å programmere applikasjoner som kommuniserer med IO enheter tilknyttet
mikrokontrollere. Studenten skal ha kompetanse i bruksområder og praktiske anvendelser for embedded
systems. Vurderingstype Innlevering
PG6200 Grafikkprogrammering
Emnenivå Bachelor
Emnekode PG6200
Emnenavn Grafikkprogrammering
Studiepoeng 7,50
Emneansvarlig Martin Lilleeng Sætra
Tilsynssensor N/A
Godkjenningsdato Hensikt Hensikten med dette emne er å gi en god oversikt over hvordan grafikk programmeres med C++ og
moderne OpenGL, samt de sentrale teknikker og metoder som brukes. Emnet skal videre gi innsikt i
avanserte metoder for grafikk og rendering (multipass­algoritmer, avansert lyssetting og skygger, mm.),
blant annet ved bruk av nettopp OpenGL og OpenGL Shading Language. Videre lærer man om effektiv
representasjon og behandling av geometri.
Forutsetninger PG1100 og PG2100 eller tilsvarende grunnleggende programmeringskunnskap.
PG4400 C++ Programmering
RF5100 Lineær algebra
RF3100 Matematikk og fysikk Elller tilsvarende
Læringsutbytte
Kunnskapsmål:
Studenten skal få kunnskap om blant annet:
­Representasjon av geometri, ­
farger, lysegenskaper og materialegenskaper, ­
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
23/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
buffer objects,
­ framebuffer objects,
­ multipass­algoritmer,
­ per­pixel lyssetting,
­ blending,
­ teksturering,
­ skygger,
­ cube maps,
­ normal­mapping,
­ subdivisjon.
Ferdighetsmål:
Studenten skal blant annet:
­ arbeide med geometriske transformasjoner,
­ benytte kvaternioner, vektorer og matriser ifm. grafikkprogrammering,
­ arbeide med ulike projeksjoner ifm. grafikkprogrammering.
Generelle kompetansemål:
­ Få en god oversikt over OpenGL og OpenGL "state machine" (tilstandsmaskin).
­ Kunnskap om 3D­grafikkprogrammering, bruk av shadere og avanserte emner innen grafikk og
rendering.
­ Kjennskap til hovedtrekk i utviklingen av OpenGL, samt utviklingen av grafikkmaskinvare og moderne
grafikkort­arkitektur. • Via lab­øvelser bli komfortabel med å programmere OpenGL i Visual Studio med
C++.
­ Få praktisk erfaring med hvordan OpenGL fungerer gjennom modifisering og utvidelse av utdelt
«skjelettkode».
Gjennomføring Forelesning og øvinger.
Anbefalt tidsbruk
Aktivitet
Tidsbruk
Deltakelse i undervisning
24
Selvstudium
100
Forberedelse til presentasjon/diskusjon i klassen Øving
24
Vurdering
4
Anbefalt tidsbruk totalt
200
Verktøy
Programmeringsverktøy: C++, OpenGL og OpenGL Shading Language.
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet gir kunnskap innen avanserte metoder for 3D­grafikk, hvor hovedfokus ligger på moderne shader­
programmering og effektiv rendering. Praktisk grafikkprogrammering skjer med C++ og OpenGL
Pensum
Real­Time Rendering, Third Edition [1]
Tomas Akenine­Möller, Eric Haines, Naty Hoffman
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition [2]
Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea­Kane
Vurderingstype Mappevurdering
Vurdering
Mappe med muntlig prøve.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
24/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
PJ1100 Kreativt webprosjekt
Emnenivå Bachelor
Emnekode PJ1100
Emnenavn Kreativt webprosjekt
Studiepoeng 7,50
Emneansvarlig Eivind Brevik
Tilsynssensor Birgit Krogstie
Godkjenningsdato Hensikt Etter å ha fullført emnet skal studenten gjennom teamarbeid kunne utføre en kreativ prosess rettet mot
design og implementering av en IT­løsning. Studenten skal kunne skille mellom konsept, innhold, struktur
og presentasjon for et nettsted, og utføre enkel oppmarkering med HTML og CSS av en statisk nettløsning.
Forutsetninger Ingen
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten kunne:
forklare hva kreativitet er
forklare hva HTML og CSS er
forklare konseptet semantikk i forhold til HTML
forklare oppbygningen av en HTML tag (med attributter)
forklare oppbygningen av en CSS­regel
Ferdigheter
Etter å ha fullført emnet skal studenten kunne:
bruke kreativitet i utvikling av IT­systemer
bruke CPS (Creative Problem Solving) som metode for problemløsning
bruke ulike teknikker i en kreativ prosess, ulike typer brainstorming, idéskriving, og bruk av
sansene
benytte html for å legge ut tekst, bilder og lenker
forstå og benytte forskjellige typer CSS­velgere
validere HTML og CSS med W3C­validator
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
anvende kreative teknikker og metode i et lite utviklingsprosjekt
redegjøre og reflektere over sine valg av løsninger
Gjennomføring Emnet gjennomføres med forelesning og øvinger, og avsluttes med to uker prosjekt hvor studentene løser
en gitt caseoppgave i grupper med avsluttende presentasjon.
Anbefalt tidsbruk
Aktivitet
Tidsbruk
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
25/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Deltakelse i undervisning
20
Selvstudium
75
Forberedelse til presentasjon/diskusjon i klassen
10
Øving
20
Vurdering
75
Anbefalt tidsbruk totalt
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt studenten innføring i teamarbeid for å kunne utføre en kreativ prosess rettet mot design og
implementering av en IT­løsning ved hjelp av HTML og CSS.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter Forlag
Praktisk
nytenkning:
Leif­
systematisk og Runar
kreativ
Forsth problemløsning. Utgitt
år
Aquarius 1998 ISBN
Utgave Kommentar Type
9788244300001 Bok Litteratur
Pensum PJ2100 Iterativt webprosjekt
Emnenivå Bachelor
Emnekode PJ2100
Emnenavn Iterativt webprosjekt
Studiepoeng 7,50
Emneansvarlig Eivind Brevik
Tilsynssensor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
26/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Birgit Krogstie
Godkjenningsdato Hensikt Etter å ha fullført emnet skal studenten kunne kjenne til ulike metoder for utvikling av programvare, og
kunne gjennomføre et prosjekt med iterativ utvikling. Studenten skal kunne utforme en nettløsning i
henhold til grunnleggende brukbarhetskrav med enkel databasefunksjonalitet.
Forutsetninger Grunnleggende database­ og programmeringskunnskaper
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten kunne:
kjenne til ulike iterative og kundefokuserte utviklingsprosesser
ha kunnskap om roller i iterative utviklingsprosesser
kjenne til grunnleggende webdesign, grafisk grensesnitt og struktur
ha kunnskap om testing av brukbarhetskrav
Ferdigheter
Etter å ha fullført emnet skal studenten kunne:
kunne anvende teknikk for dokumentasjon av brukerkrav
kunne gjennomføre grunnleggende webdesign, med vekt på brukbarhetskrav
kunne bruke et versjonshåndteringssystem for administrasjon av prosjektdokumentasjon
kunne gjennomføre et mindre prosjekt med iterativ struktur med en intern oppdragsgiver
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
kunne dokumentere og vurdere prosjektresultatet etter gitte kriterier
kunne dokumentere gjennomført prosjektprosess
Gjennomføring Emnet gjennomføres med forelesninger og øvinger, og avsluttes med to uker prosjekt. Studentene løser en
gitt caseoppgave i grupper med avsluttende presentasjon.
Anbefalt tidsbruk
Aktivitet
Tidsbruk
Deltakelse i undervisning
20
Selvstudium
75
Forberedelse til presentasjon/diskusjon i klassen
10
Øving
20
Vurdering
75
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
27/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Anbefalt tidsbruk totalt
200
Verktøy
Versjonshåndteringsprogram (for eksempel Subversion)
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet gir en innføring i prosjektarbeid med iterativ utvikling og grunnleggende webdesign.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Don't Make
Me Think:
A Common
Sense
Approach
to Web
Usability Microsoft
Solutions
Framework
Essentials Forfatter Forlag
Utgitt
år
ISBN
Steve
Krug 2013 978­
3rd
0321965516 edition Bok Pensum 978­
0735623538 Bok Pensum New
Riders Microsoft
Turner, Press,
2006 Michael Redmond,
WA Utgave Kommentar Type
Litteratur
PJ3100 Prosjekt Software Engineering
Emnenivå Bachelor
Emnekode PJ3100
Emnenavn Prosjekt Software Engineering
Studiepoeng 15,00
Emneansvarlig Per Lauvås
Tilsynssensor Birgit Krogstie
Godkjenningsdato 29.04.2012
Hensikt Hensikten med dette emnet er å gi studenten en dypere erfaring i å mestre helheten i et større
systemutviklingsprosjekt, med vekt på anvendelse av Scrum. Studenten skal gjennomføre et omfattende
prosjektcase, og vil få trening å bruke moderne teknikker og verktøy.
Forutsetninger Emnet bygger på kunnskaper fra 1.klasse. Prosjektet forutsetter normal progresjon gjennom 2.klasse, da
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
28/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
det integrerer kunnskaper og ferdigheter fra emner i de respektive studieprogrammene. Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
• Kjenne til grunnleggende utviklingsmetoder for programvare
• Kjenne til ulike smidige metoder og deres fordeler og ulemper
• Kunne beskrive hensikten med og strukturen i Scrum • Kjenne til rammeverk for analyse av teamprosessen
• Kjenne til hvordan man arbeider effektivt i grupper
Ferdigheter
Etter å ha fullført emnet skal studenten:
• Kunne analysere gruppeprosessen i et team
• Kunne anvende ulike motivasjonsteorier i praksis under arbeid i team
• Kunne planlegge et prosjekt og utvikle en prosjektplan i tråd med Scrum
• Kunne designe/konfigurere/programmere og teste en større applikasjon som tilfredsstiller kravene i et
case, i et sammensatt teknologi­miljø • Kunne anvende et prosjektstyringsverktøy til planlegging og oppfølging av prosjektet
• Kunne bruke et versjonshåndteringssystem
Generell kompetanse
Etter å ha fullført emnet skal studenten:
• Kunne samarbeide i en prosjektgruppe om planlegging og gjennomføring av oppgaven • Kunne dokumentere resultat og prosjektprosess i en sluttrapport • Kunne reflektere over erfaringer i et prosjekt i forhold til utviklingsprosess og sluttresultat
Anbefalt tidsbruk
Aktivitet Tidsbruk
Deltakelse i undervisning 25
Selvstudium 70
Forberedelse til presentasjon/diskusjon i klassen 10
Øving 225
Vurdering 20
Anbefalt tidsbruk totalt 350
Verktøy
Versjonshåndteringssystem (for eksempel Git/GitHub)
Prosjektstyringsverktøy (for eksempel Jira)
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet gir en praktisk erfaring i et større systemutviklingsprosjekt med bruk av Scrum, i en gruppe på fire ­
fem studenter over to semestre.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
ISBN
Utgave
Kommentar Type
Litteratur
Bok Pensum 5.utgave Bok Pensum Agile Project
Ken
Microsoft
Management
2004 Schwaber Professional with Scrum 978­
0735619937 Project
management
Cadle and Pearson
for
Yeates Education Information
Systems 978­0­132­
06858­1 2008 PJ5100 Game Development
Emnenivå Bachelor
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
29/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Emnekode PJ5100
Emnenavn Game Development
Studiepoeng 7,50
Emneansvarlig Charles Butler
Godkjenningsdato Hensikt Klikk det engelske flagget. Emnebeskrivelsen finnes bare på engelsk.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
Tidsbruk
Vurderingstype Innlevering
PJ6000 Hovedprosjekt
Emnenivå Bachelor
Emnekode PJ6000
Emnenavn Hovedprosjekt
Studiepoeng 15,00
Emneansvarlig Tor­Morten Grønli
Godkjenningsdato Hensikt Studenten skal få yrkeserfaring ved å gjennomføre et prosjekt i en bedrift, etablere eget selskap eller delta
i forskningsprosjekt. Studenten skal demonstrere bred kunnskap om sentrale temaer og teorier, og vise
ferdigheter i metoder, verktøy og teknologi innenfor fagområdet.
Forutsetninger Det kreves at alle emner fra 1.klasse er bestått, samt bestått prosjektemne i software engineering.
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
Kunne forklare hvordan oppdraget er til nytte for virksomheten/bedriften/oppdragsgiver
Kunne planlegge og styre gjennomføringen av prosjektet
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
30/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Kunne anvende kilder på en korrekt måte
Ferdigheter
Etter å ha fullført emnet skal studenten:
Kunne innhente nødvendig informasjon på en strukturert måte
Kunne planlegge og gjennomføre et prosjekt i en bedrift etter valgt metodikk
Kunne utforme og kvalitetssikre løsningen i henhold til spesifikasjoner og etablerte standarder
Kunne formidle sentralt fagstoff, teorier og løsninger både skriftlig, muntlig og gjennom andre
relevante uttrykksformer
Generell kompetanse
Etter å ha fullført emnet skal studenten:
Kunne beskrive og vurdere erfaringer i prosjektet, og hva som er lært av prosessen.
Kunne formidle resultatet av prosjektet på en klar og velstrukturert måte, tilpasset målgruppen.
Kunne vurdere hvordan oppdraget forholder seg til etablert kunnskap/forskning på området
Gjennomføring Se egne retningslinjer for hovedprosjekt på emnesiden
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Veiledning
Industrikontakt/praksis
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
Tidsbruk
20
15
375
­
40
450
Vitnemålstekst Bachelorstudiet avsluttes med hovedprosjektet som innebærer å gjennomføre et IT­prosjekt i en bedrift.
Prosjektet gir yrkeserfaring hvor kunnskap og ferdigheter fra hele studiet skal anvendes.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
ISBN
år
Utgave Kommentar Type
Litteratur
Project
Management for
Information
Systems Cadle, J.
and
Prentice Hall Yeates,
D. 2007 9780132068581 5th
edition Bok Pensum Prosjektoppgaven
Rognsaa,
­ krav til
Universitetsforlaget 2003 Aage utforming 9788215003641 2
utgave Bok Pensum PJ6100 Undersøkelsesmetoder
Emnenivå Bachelor
Emnekode PJ6100
Emnenavn Undersøkelsesmetoder
Studiepoeng 7,50
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
31/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Emneansvarlig Hanne Sørum
Tilsynssensor Anders Fagerjord
Godkjenningsdato 04.11.2013
Hensikt Emnet skal gjøre studenten kjent med metoder med særlig vekt på metoder som har relevans for IT­
bransjen. Emnet er et støtteemne til hovedprosjektet, primært i forhold til rapportskriving og metode. Forutsetninger Ingen
Læringsutbytte
Etter å ha fullført emnet skal studenten kunne:
Kunnskaper:
Gjøre rede for forskjellen mellom kvalitative og kvantitative metoder
Gjøre rede for grunnprinsippene i metoder som kvalitative intervjuer, fokusgruppeundersøkelser,
brukertesting, surveyundersøkelser og Web­/ data mining.
Ferdigheter:
Etter å ha fullført emnet skal studenten kunne:
Gjennomføre en undersøkelse som er relevant for et IT­prosjekt
Begrunne valg av metode ut fra en gitt faglig problemstilling
Skrive en metoderapport som kan inngå som del av PJ6000 hovedprosjekt
Gjennomføre litteratursøk og utarbeide en korrekt referanseliste
Generell kompetanse:
Vurdere og benytte relevant metodikk for et IT­prosjekt.
Gjennomføring Emnet gjennomføres som forelesninger og workshops.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
Tidsbruk
24
70
20
30
56
200
Vitnemålstekst Emnet gir en innføring i grunnleggende metoder som er relevante for IT­bransjen.
Vurderingstype Mappevurdering
Litteraturliste:
Tittel
Forfatter Forlag
Metode og
Olav
oppgaveskriving Dalland Utgitt
år
Gyldendal
2012 akademisk ISBN
Utgave Kommentar Type
9788205423985 3. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Bok Litteratur
Pensum 32/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
RF3100 Matematikk og fysikk
Emnenivå Bachelor
Emnekode RF3100
Emnenavn Matematikk og fysikk
Studiepoeng 7,50
Emneansvarlig Lars Sydnes
Tilsynssensor Hugo Hammer, HiOA
Godkjenningsdato 13.05.2013
Hensikt Moderne dataspill er basert på bruk av to­ og tredimensjonal grafikk. En vesentlig del av spillene er å få
fram bevegelser som likner dem vi kjenner fra virkeligheten. Det er derfor viktig for en spillprogrammerer
å forstå hvilke fysiske lover som bestemmer legemers bevegelse, og å kunne beskrive disse bevegelsene
ved hjelp av matematikk og geometri.
Forutsetninger Generell studiekompetanse og R1 eller tilsvarende.
Læringsutbytte
Kunnskap
Etter å ha fullført emnet skal studenten
kjenne til ulike koordinatsystemer,
forstå funksjonsbegrepet,
kjenne til vinkelmålet radianer,
kjenne definisjonene til de trigonometriske funksjonene sinus, cosinus og tangens,
kjenne til vektorer og matriser,
forstå begrepene gjennomsnittlig vekst, momentan vekst og derivasjon,
kjenne til Newtons tre lover,
kjenne til størrelsene energi og arbeid,
kjenne til loven om bevaring av mekanisk energi,
kjenne til størrelsene bevegelsesmengde og impuls,
kjenne til hvordan man beskriver rotasjonsbevegelse.
Ferdigheter
Etter å ha fullført emnet skal studenten kunne
regne med kartesiske koordinater og polarkoordinater i planet og i rommet,
tolke og drøfte grafen til en funksjon av en variabel, kunne sette opp og løse nødvendige likninger
for å regne ut skjæringspunktene mellom grafer,
beregne kollisjonssirkler og ­sfærer,
bruke trigonometri til nødvendige beregninger,
beskrive enkle periodiske fenomener ved hjelp av trigonometriske funksjoner,
behandle vektorer geometrisk og på koordinatform,
gjøre ulike operasjoner på matriser, og bruke matriser til å gjøre transformasjoner,
bruke bevegelseslikningene for translasjon til å bestemme forflytning, fart og akselerasjon,
definere og beregne vinkelbevegelse, vinkel­ og tangentiell fart og akselerasjon,
bruke bevegelseslikningene for rotasjon til å bestemme størrelsene vinkelfart og vinkelakselerasjon,
bruke Newtons lover for translatorisk bevegelse og rotasjonsbevegelse,
beregne arbeid, kinetisk og potensiell energi og bruke energibevaringsloven for mekanisk energi,
bruke impuls­satsen til å beregne utfallet av kollisjoner,
definere og beregne dreiemoment.
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne
forstå grunnleggende lover i mekanikken slik at de blir i stand til å lage realistiske modeller av
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
33/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
hvordan legemer beveger seg under påvirkning av krefter,
bruke matematikk til å beskrive legemers bevegelse,
representere punkters og legemers posisjon i rommet ved hjelp av matematikk.
Gjennomføring Forelesninger, øvinger med veileder og skriftlige vurderinger.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Øving
Selvstudium
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Programmeringsverktøy (Java/C++)
Tidsbruk
24
24
148
4
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt studenten innsikt i de grunnleggende fysiske lovene som beskriver legemers bevegelse i to
og tre dimensjoner. Emnet gir en innføring i de matematiske metodene som er nødvendige for å beskrive
og beregne slike bevegelser. Temaer som tas opp er Newtons lover, spinnsetningen, bevegelsesmengde,
skjæring mellom grafer, periodiske funksjoner, vektorer, matriser og transformasjoner.
Pensum
Se litteraturliste
Vurderingstype Skriftlig
Vurdering
Skriftlig eksamen.
Arbeidskrav: For å få ta eksamen, er det krav om godkjent øvingsopplegg ­ se emnesiden i ITL
Litteraturliste:
Tittel
Forfatter Forlag
3D Math
Fletcher
primer for
Dunn,
graphics and
CRC Ian
game
Parberry development Utgitt
år
ISBN
2011 9781568817231 2. utg Utgave Kommentar Type
Bok Litteratur
Pensum RF5100 Lineær algebra
Emnenivå Bachelor
Emnekode RF5100
Emnenavn Lineær algebra
Studiepoeng 7,50
Emneansvarlig Lars Sydnes
Tilsynssensor Hugo Hammer, HiOA
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
34/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Godkjenningsdato 13.05.2013
Hensikt Datamodellering av geometriske objekter avhenger i stor grad av vektorgeometri og lineær algebra. I dette
kurset skal studenten forberede seg til å arbeide med tredimensjonal grafikkprogrammering ved få
nødvendig innsikt i geometri, transformasjonsteori og lineær algebra. Ved siden av dette, er det et viktig
mål at studenten skal få en generell trening i matematiske metoder.
Forutsetninger PG1100 og PG2100 eller tilsvarende grunnleggende programmeringskunnskap.
RF3100 Matematikk og fysikk
Læringsutbytte
Kunnskapsmål:
Studenten skal få kunnskap om
representasjon av geometriske objekter ved hjelp av vektorer,
lineære transformasjoner,
affine transformasjoner,
geometriske transformasjoner som translasjon og rotasjon,
komplekse tall, kvaternioner og Euler­vinkler
parallellprojeksjon og sentralprojeksjon,
lineære ligningssystem,
indreproduktrom og approksimasjoner,
ulike anvendelsesområder for lineær algebra.
Ferdighetsmål:
Studenten kunne
arbeide med vektorer, matriser og lineære ligningssystem,
kombinere og veksle mellom ulike koordinatsystemer,
bruke lineær algebra i programmering,
bruke lineær algebra på ulike anvendelsesområder.
Generelle kompetansemål:
Studenten skal ha god oversikt over vektorgeometri og grunnleggende lineær algebra med
anvendelser.
Studenten skal ha et godt utgangspunkt for å arbeide videre med grafikkprogrammering.
Studenten skal utvikle sin matematiske modenhet.
Gjennomføring Forelesninger (ca. 50%) og øvinger (ca. 50%)
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Egenarbeid med oppgaveløsing
Øving/Lab
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Programmeringsverktøy: Java
Tidsbruk
24
98
48
24
6
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet gir innsikt i vektorgeometri og grunnleggende lineær algebra med anvendelser.
Pensum
Se litteraturoversikt. I tillegg kan det komme noe ekstramateriale, avhengig av hvilke anvendelser som
berøres.
Vurderingstype Skriftlig
Vurdering
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
35/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Midsemestereksamen og skriftlig avsluttende eksamen.
Litteraturliste:
Tittel
Forfatter Forlag
3D Math
Primer for
Fletcher
Graphics and
Dunn,
Game
CRC Ian
Development,
Parberry 2nd Edition,
2011 Utgitt
år
ISBN
2011 9781568817231 2. Utgave Kommentar Type
Bok Litteratur
Pensum TK1100 Digital teknologi
Emnenivå Bachelor
Emnekode TK1100
Emnenavn Digital teknologi
Studiepoeng 7,50
Emneansvarlig Bjørn Olav Listog
Tilsynssensor Kjetil Svarstad
Godkjenningsdato 13.06.2011
Hensikt For å kunne benytte en datamaskin på en effektiv måte må man vite hvordan informasjon kodes digitalt,
samt hvordan den lagres, prosesseres og overføres av og mellom maskinvare og programvare. Ved å
arbeide med emnet skal studenten lære seg å analysere datasystemer i ulike abstraksjonslag fra bit­nivå,
via digitale kretser og maskinvarekomponenter (CPU, minne, busser og ulikt I/O­utstyr), data vs
instruksjoner, operativsystem, applikasjoner og nettverkskommunikasjon. De skal kunne forklare hvordan
man med binærtall kan representere ulike former for informasjon. De skal erverve seg begrepsapparatet
som trengs for å vurdere ulik maskin­ og programvare opp mot hverandre. De skal kunne benytte modeller
for funksjonell lagdeling i systemer, samt prosedyrer og verktøy til å forklare virkemåte og derigjennom
kunne utføre effektiv feilsøking av enkeltmaskiner og nettverkskommunikasjon. Forutsetninger Generell studiekompetanse
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten kunne:
· beskrive den historiske utviklingen som ledet frem til dagens datamaskiner og nettverk
· definere og benytte de vanligste begrepene som benyttes i beskrivelse og analyse av datasystemer og
nettverk
· prinsippene og metodene for digital koding av ulike former informasjon og hvilke muligheter og
begrensninger som er forbundet med disse
· beskrive arkitekturen og organiseringen av datasystemer og nettverk
· forklare rollen til et operativsystem og dekomponere funksjonaliteten i hovedelementene prosess/tråd­
administrasjon (scheduling + samtidshåndtering), minne­administrasjon (virtuelt minne mm), fil­
administrasjon, I/O­administrasjon
· benytte TCP/IP­modellen til å forklare og analysere datakommunikasjon gjennom Internett
Ferdigheter
Etter å ha fullført emnet skal studenten kunne:
· identifisere ulike kodingsformater for tekst, tall, lyd og bilder; kjenne virkemåten til disse og benytte dette
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
36/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
i feilsøking
· med utgangspunkt i kjennskap til virkemåten til hovedkort, CPU, minne, I/O­kontrollere, busser og
persistente lagringsmedia; identifisere de viktigste metrikker og benchmarks for ulike typer utstyr og
identifisere mulig feilkilder og hvoirdan disse vil ytre seg · benytte skall­kommandoer, overvåkings­ og konfigurasjons­ verktøy i Windows og/eller OSX/Linux · benytte TCP/IP­modellen og kjennskap til tilhørende portokoller, til å analysere den fullstendige gangen i
tilkopling til et LAN og nedlastingen av f.eks. en webisde
Generell kompetanse Typiske oppgaver en student skal være i stand til å løse etter å ha fullført emnet er:
· Gi en anbefaling ved innkjøp av datamaskin ut fra brukers behov og ønsker med bakgrunn i en korrekt og
systematisk forståelse av tekniske spesifikasjoner for utstyret
· Gjennomføre systematisk feilsøking og reparasjon av typiske problemer i hardware og software
· Gi en begrunnet anbefaling ved valg av ISP og nettprodukt/abonnementstype, samt lokalt nettverksutstyr
ut fra overslag på behov for bitrate og tjenestekvalitet
· Benytte standard verktøy for å finne feil på og rette opp nettverksforbindelser
Gjennomføring Forelesninger, elektroniske tester og individuelle øvingsoppgaver med veiledning.
For å få karakter må studenten ha tilfredsstilt arbeidskravene i emnet (se emnesiden).
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Hexeditor tilpasset eget OS
SSH klient
Pakke­analysator ("sniffer"), f.eks. Wireshark Tidsbruk
24
147
0
24
5
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Etter å ha fullført emnet skal studenten kunne forklare hva slags maskinvare som inngår i en moderne
datamaskin, hvordan komponentene samvirker og hvordan ulike typer informasjon kodes digitalt. Man skal
kunne konfigurere og kjenne til oppbyggingen av et operativsystem. Man skal kunne redegjøre for
prinsippene for datakommunikasjon i nettverk og protokollene i TCP/IP­stacken. Man skal kunne benytte
vanlige verktøy for å feilsøke og rette opp feilsituasjoner på maskin, i operativsystem og i nettverk.
Pensum
www­ressurser og kompendium som publiseres på emnesiden i It's Learning
Vurderingstype Skriftlig
Vurdering
For å få karakter i emnet kreves det at arbeidskravene (se emnesiden i It's Learning) er oppfylt.
TK2100 Informasjonssikkerhet
Emnenivå Bachelor
Emnekode TK2100
Emnenavn Informasjonssikkerhet
Studiepoeng 7,50
Emneansvarlig http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
37/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Bjørn Olav Listog
Tilsynssensor Kjetil Svarstad
Godkjenningsdato 10.12.2011
Hensikt Trusselbildet for en datamaskinbruker er i dag preget av angrep fra datakriminelle som er ute etter direkte
økonomisk gevinst, eller å overta enkeltmaskiner for å benytte disse videre til kriminelll virksomhet.
Bevissthet om de ulike trusslene som finnes i Internett er forutsetningen for å treffe riktige tiltak. Etter å ha
fullført emnet skal en student være i stand til å analysere trusselbildet og foreta egnede sikringstiltak på
egen maskin, i eget hjemmenettverk og gi begrunnede råd i forhold til oppsett og teknologivalg for
websteder. Man skal også ha oversikt over hvilke lover og forskrifter som gjelder for bruk av datamaskiner
til lagring, prosessering og formidling av data, her under personvern og opphavsrett
Forutsetninger TK1100, DB1100, PG1100 og PJ1100
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten kunne:
forklare hva som menes med informasjonsikkerhet.
beskrive de ulike nivåene i informasjonsikkerhet med tilhørende trusselbilde og (mulige) tiltak.
beskrive og forklare hvilke sikringstiltak som er tilgjenglig i ulike teknologier
vurdere sikkerhetstiltak i forhold til gitte situasjoner
Ferdigheter
Etter å ha fullført emnet skal studenten kunne:
utføre en risikoanalyse i forhold til en bestemt teknologisk løsning og foreslå tilpassede tiltak
planleggge og gjennomføre (enkle) sikkerhetstester av bestemte teknologiske løsninger ved hjelp av
standardverktøy
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
beskrive og følge lover og etiske normer som gjelder mhp opphavsrett og informasjonsikkerhet i
Norge
reflektere over sikkerhetsaspekter ved egen nett­adferd.
Gjennomføring Forelesninger og øvinger
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Tidsbruk
24
128
0
24
24
200
nmap (siste versjon)
Wireshark (siste versjon)
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Etter å ha fullført emnet skal studenten kjenne til og kunne beskrive tekniske, lovmessige og
holdningsmessige sider ved informasjonsikkerhet for privatpersoner og virksomheter i forhold til bruk av
Internett. De skal kunne utføre en systematisk risikovurdering av egen konfigurasjon og bruk av
datamaskin på Internett, og kunne gi begrunnede råd til andre. De skal ha tilegnet seg fagterminologien
som benyttes innenfor datasikkerhetsfeltet.
Pensum
I noen delemner publiseres støttelittertur tilpasset norske lover og regler på emnesidene
Vurderingstype http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
38/39
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Skriftlig
Vurdering
Det er arbeidskrav i emnet som må tilfredstilles for å få eksamen.
Karakter er basert på to innleveringer (25%) og en avsluttende skriftlig eksamen (75%).
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Introduction Goodrich,
to
Michael T.
Pearson 2014 Computer & Roberto
Security Tamassia ISBN
Utgave Kommentar Type
Litteratur
978­1­
29202­
540­7 1. Pensum http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/nor­NO
Bok 39/39