Bachelor IT Programmering 2014 2015

10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Bachelor IT ­ Programmering 2014 ­ 2015
Innhold Programmering er en betegnelse på utvikling av programvare. I denne prosessen bruker man et
programmeringsspråk som forteller maskinen hvordan den skal utføre operasjoner og instruksjoner som
skal iverksettes etter at handlinger er utført. God programvare er avhengig av et vellykket samarbeid
mellom menneske og maskin. Dyktige programmerere og systemutviklere har derfor jobben med å utvikle
innovativ, effektiv og funksjonell programvare.
I takt med at programmeringsspråk og teknikker endrer seg kommer det frem i lyset nye dialekter /
generasjoner programmeringsspråk. Arkitekturer blir hele tiden utfordret på å kunne implementere nye
begreper (Web 2.0, 3.gen skriptspråk, SOA, sosial web). Programmering og arkitektur benyttes som
fundament for de aller fleste tjenester i offentlig og privat sektor. Det er et behov for dyktige
programmerere som har kunnskaper om alt fra lokale applikasjoner og opp til distribuerte SOA løsninger
med mobile klienter. Det er også et sterkt behov for at man ikke bare kan bygge etter oppskrift, men også
evner å se muligheter / løsninger ved design av arkitekturen. Paradigmeskifter i programmering må holdes
øye med og veies i forhold til eksisterende teknologi.
Med fordypning i programmering kan det være du som lager den neste trendsettende applikasjonen. Det er
stor etterspørsel etter programmerere og systemutviklere med riktig kompetanse. programmering på NITH
er helt i front innen teknologi, og passer godt for deg som er logisk anlagt og glad i å utvikle. Det er stor rift
om disse studentene i markedet.
Navn Bachelor IT ­ Programmering 2014 ­ 2015
Programmatrise + introduksjon
Ved NITH lærer du å bygge avanserte teknologiske løsninger for datamaskiner, så vel som mobiltelefoner.
Gjennom studiet utdannes du til å konstruere arkitekturer fra bunnen, designe systemer og utvikle
attraktive applikasjoner ­ alt gjennom en dyp opplæring i programmeringsspråket Java. IT­hverdagen er i
dag langt mer kompleks enn for bare noen år siden. Det er nå viktig å kunne se hvordan applikasjoner kan
samarbeide på tvers av maskingrenser, mellom websider og på mobiltelefoner. Programmering gir deg
verktøyene og kunnskapen du trenger for dette, samtidig som du får grundig innføring i støttende
teknologier som XML, scriptspråk og lagringsmedier. Dette vil forberede deg på å ta fremtidens digitale
hverdag et steg videre.
Studiefordypningen programmering skal utdanne studentene til å bli dyktige programmerere gjennom alle
nivåer av arkitekturen av Java stacken. Studentene får en innføring i arkitektur og skal kunne stille seg
kritisk til sin egen informasjonsarkitektur og argumentere for styrker / svakheter / alternativer i den.
Programmeringsstudiet bygger på NITHs Bachelor i Informasjonsteknologi. Studiet er 3­årig, og gir tittelen
bachelor i IT.
Det første året er felles for alle linjer, og gir en solid grunnkompetanse i programmering, prosjektarbeid,
systemutvikling, datateknikk og databaser.
På det andre året er kjernen videreføringen av Java løpet fra første år. År to gir videre en innføring i
operativsystemer, en inngående introduksjon til mobil programmering (Android), web programmering i
Ruby og datastrukturer ved XML. Til sist men ikke minst vil man også gjennom føre faget Prosjekt software
engineering som over begge semestrene samler kunnskapen man har tilegnet seg og lar dette bli anvendt i
et større gruppebasert prosjektarbeid.
I tredje år er fokuset rettet mot totalforståelsen av distribuerte systemer og arkitektur. Dette gjøres ved
dypt fokus og grundig trening i distribuert Java representert ved Java Enterprise Edition. Ved siden av dette
har algoritmer en sentral plassering og i tillegg utfylles tredje året med felles fag som forretningsforståelse,
valgfag og forskningsmetoder. Studiet avsluttes med et hovedprosjekt ute i bedrift hvor studentene løser et
reelt case gitt av en oppdragsgiver.
Studiet har i tillegg noen fellesemner som står sentralt i bachelor IT utdanningen. Disse emnene er
Teknologi og Organisasjonen, Undersøkelsesmetoder og E­business.
Mål med studiet
Etter endt studium skal studenten kunne designe arkitekturen for, og implementere et distribuert
informasjonssystem.
Sentrale emner
Bachelorstudium i Programmering har følgende sentrale tema og forskningsforankring:
­ Programmering i Java – fra Standard Edition (SE) til Enterprise Edition(EE)
­ Emnet er forskningsforankret i paradigme objektorientert programmering
Jobbmuligheter
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
1/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Læringsutbyttet i programmet er definerte i kompetansemålene for hvert emne i studiet og beskrivelse av
områder/arbeidsoppgaver hvor denne kompetansen kan benyttes. Generelt vil studiet gi kompetanse til å
gå inn i følgende roller:
­ Konsulent i norske eller internasjonale konsulentselskaper
­ Systemutvikler / arkitekt i en IT avdeling i privat eller offentlig sektor
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 i er det mulig å fortsette på en masterutdanning. Følgende retninger vil passe
for studenter som har tatt bachelor studium i Programmering:
­ Fordypning i distribuerte (mobile) systemer
­ Fordypning i SOA og arkitektur
­ Fordypning i prosjektledelse og forretningsforståelse
Forkunnskaper
Studiet krever forkunnskaper i matematikk tilsvarende R1 eller S1+S2 i tilleg til, eller inkludert i generell
studiekompetanse
Undervisningsmåte Studiet kjennetegnes ved bruk av forelesninger, øvinger og problembasert læring. Med problembasert
læring menes at studentene stilles overfor praktiske og faglige utfordringer.
Studentene må selv på eget initiativ skaffe seg nødvendig informasjon, og diskutere dette sammen med
medstudenter og veiledere.
Bruk av forelesninger og øvinger skal være med på å gi studentene individuell faglig kompetanse i alle
emner.
Prosjektorganisert undervisning innebærer at man alle semestre har tverrfaglige prosjekter. Gjennom
prosjektarbeidene får studentene i tillegg til mer individuell faglig kompetanse erfaring i samarbeid,
prosjektstyring og prosjektorganisering.
Programmering 2014 ­ 2015 Emnekode
DB1100
PG1100
PJ1100
TK1100
PJ2100
TK2100
PG2100
PG3100
PG3300
PG4200
PJ3100
PG4300
PG4100
PG3200
PG5100
PG3400
BU5100
PG6100
PJ6000
PJ6100
Emnets navn
Databaser 1
Programmering 1
Kreativt webprosjekt
Digital teknologi
Iterativt webprosjekt
Informasjonssikkerhet
Programmering 2
Avansert Javaprogrammering 1
Programvarearkitektur
Algoritmer og datastrukturer
Prosjekt Software Engineering
Ruby on Rails
Avansert Javaprogrammering 2
Android programmering
Enterpriseprogrammering 1
Programmering i C for Linux
Entreprenørskap
Enterprise programmering 2
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
Valgemner , 1.klasse Emnekode
DS2100
DS2200
PG2201
Emnets navn
Animasjon
Digital kultur
Unity Utvikling
S.poeng O/V *)
7,50
7,50
7,50
V
V
O
Sum:
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Studiepoeng pr. semester
S1(H) S2(V) S3(H) S4(V) S5(H) S6(V)
7,5
7,5
7,5
0
7,5
0
0
0
0
2/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
*) O ­ Obligatorisk emne, V ­ Valgbare emne
Valgemner høsten 2014, 3.klasse Programmering Emnekode
DS3800
PG5500
PG5600
Emnets navn
S.poeng O/V *)
Grensesnittdesign
Embedded systems
iOS programmering
7,50
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
V
7,5
Sum:
0
0
0
0
7,5
0
*) 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
Tidsbruk
25
80
5
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
3/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
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
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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
4/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
prinsippene for god design (normalisering, nøkkelbruk).
Forutsetninger Generell studiekompetanse
Læringsutbytte
Etter å ha fullført emnet skal studenten kunne:
Kunnskap:
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%)
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
5/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Database
Systems. A
Practical
Thomas
Approach to
Connolly Addison
2014 Design,
& Begg, Wesley Implementation, Carolyn and
Management ISBN
Utgave Kommentar Type
ISBN­10:
0132943263
ISBN­13:
6. 978­
0132943260 Bok Litteratur
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:
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
6/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Karakterskala Letter grades A­E for passed and F for failure
Tidsbruk
48
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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
7/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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.
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.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
8/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
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 DS3800 Grensesnittdesign
Emnenivå Bachelor
Emnekode DS3800
Emnenavn Grensesnittdesign
Studiepoeng 7,50
Emneansvarlig Tor­Morten Grønli
Godkjenningsdato Hensikt Hensikten med dette emnet er å gi studenten kunnskap om interaksjonsdesign og utviklingsprosesser på en
mobil plattform, herunder kunnskaper om teknologier for å bygge applikasjoner, teknikker for evaluering
og innsikt i fordeler og ulemper ved valgt løsning. Studenten får ferdigheter i å bygge mobile web baserte
applikasjoner gjennom bruk av HTML5, JQuery Mobile og CSS. Studenten skal etter endt emne kunne
evaluere et mobilt design ved brukerundersøkelser og være i stand til å reflektere over kritiske
suksessfaktorer. Forutsetninger Ingen
Læringsutbytte
Kunnskap:
ha kunnskap om interaksjonsdesign og utviklingsprosesser for mobil webutvikling
ha kunnskap om testing av mobile løsninger, herunder teknisk testing og brukertesting
ha kunnskap om HTML5, JQuery Mobile og CSS 3
ha kunnskap om fordeler og ulemper ved HTML5 web­applikasjoner
ha kjennskap til User Centred Design ha kunnskap om responsivt design
Ferdigheter:
kunne bruke HTML5, JQuery Mobile og CSS til å bygge en web applikasjon/side
kunne implementere responsivt design
kunne evaluere en web basert mobil løsning med brukere
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
9/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
kunne utføre teknisk testing av en web basert mobile løsning
Generell kompetanse:
Kunne evaluere et mobilt design ved brukerundersøkelser/observasjon og reflektere over dets
kritiske suksessfaktorer
Ha forståelse for ulike interaksjonsdesignprinsipper for mobile plattformer
Gjennomføring Emnet gjennomføres med en kombinasjon av 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
24
78
24
24
50
Vurderingstype Innlevering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Elizabeth
Goodman
Observing
, Mike
Morgan
the User
2012 Kuniavsky Kaufmann Experience , Andrea
Moed Sketching
User
Experiences:
Getting the Bill
Morgan
2007 Design Right Buxton Kaufmann and the
Right Design
The Mobile
Book Smashing
Smashing
Media
2013 Magazine GmbH ISBN
Utgave Kommentar Type
Litteratur
978­
2 0123848697 Bok Pensum 978­
1 0123740373 Bok Pensum Bok Pensum 1 1 Kindle bok
PG1100 Programmering 1
Emnenivå Bachelor
Emnekode PG1100
Emnenavn Programmering 1
Studiepoeng 7,50
Emneansvarlig Stein Marthinsen
Tilsynssensor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
10/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
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
Tidsbruk
24
110
36
30
200
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
11/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Verktøy
· 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å 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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
12/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
· 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
Verktøy
Tidsbruk
24
128
24
24
200
· 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 PG2201 Unity Utvikling
Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
13/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Bachelor
Emnekode PG2201
Emnenavn Unity Utvikling
Studiepoeng 7,50
Emneansvarlig Tomas Sandnes
Tilsynssensor Michael McCoy Jr.
Godkjenningsdato Hensikt Emnet omhandler programmering og utvikling med Unity spillutviklingsplattformen. Studentene blir kjent
med utviklingsmiljøets muligheter og effektiv bruk av dette. Studentene lærer å importere, bruke og scripte
forskjellige spillobjekter ("assets") i en "scene" for dermed å opprette "levels" med grunnleggende
spillfunksjonalitet.
Forutsetninger PG1100
Læringsutbytte
Kunnskap
Lære grunnleggende C# syntaks, samt vite på hvilke måter språket skiller seg fra Java.
Forstå hvordan prinsippene bak objektorientert programmering kan brukes i C# med Unity3d.
Forstå hensikten med en "game loop" og hvordan denne er nødvendig for spill.
Kjenne til Unitys event functions og bruksområdene for disse.
Forstå hensikten med local og world koordinater.
Kjenne til hvordan rotasjon, translasjon og skalering benyttes til å manipulere objekter.
Kjenne til hvordan kollisjoner implementeres I Unity.
Kjenne til hvordan mus, tastatur og gamepad benyttes for input.
Ferdigheter
Kunne benytte programmeringspråket C#.
Debugge, lokalisere og rette feil i programmer.
Beherske Unity utviklingsmiljøet, kunne opprette prosjekter og publisere de til forskjellige
plattformer.
Importere og anvende 3D­modeller, animasjoner, teksturer, lyder, "prefabs" og andre assets.
Legge til spillmekanikk ved hjelp av programmering.
Generell Kompetanse
Planlegge, utvikle og publisere enkle spill.
Implementere og utvide 3D spillomgivelser.
Gjennomføring 12 forelesninger med øvinger.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Tidsbruk
24
92
0 24
60
200
Unity
MonoDevelop
Visual Studio
Karakterskala Letter grades A­E for passed and F for failure
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
14/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Vitnemålstekst Emnet omhandler programmering og utvikling med Unity spillutviklingsplattformen.
Pensum
Lærebok.
Ressurser publisert på emnesidene. Vurderingstype Innlevering
Vurdering
Hjemmeeksamen
Litteraturliste:
Tittel
Forfatter Forlag
Unity Game
Mike
Development
Geig in 24 Hours Utgitt år ISBN
Utgave Kommentar Type
Sams
December 978­
1st
Publishing 6, 2013 0672336966 edition Bok Litteratur
Pensum PG3100 Avansert Javaprogrammering 1
Emnenivå Bachelor
Emnekode PG3100
Emnenavn Avansert Javaprogrammering 1
Studiepoeng 7,50
Emneansvarlig Per Lauvås
Tilsynssensor Morten Andersen­Gott
Godkjenningsdato 25.03.2012
Hensikt Under utvikling av programvare er det nødvendig å kunne noen teknikker og konsepter som støtter opp
under utviklingen. Emnet skal gi en grunnleggende innføring i feilsøking, automatisert testing og
arkitekturprinsipper. Videre gis det en innføring i unntakshåndtering som et fundament for mer avansert
programutvikling. Emnet skal også gjøre studenten i stand til å kommunisere med en database for å hente
ut og manipulere data, samt skrive enkle servlets for å lage websider med dynamisk innhold.
Forutsetninger Emnet bygger på grunnleggende ferdigheter i objektorientert programmering (Java) og relasjonsdatabaser.
Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet og evne til logisk tenkning.
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten
vite hva automatisert testing er, og hvilke fordeler dette kan gi
beskrive vanlig arbeidsflyt i testdrevet utvikling
kjenne til begrepene "mock" og "stub"
forklare begrepene "separation of concerns" og lagdeling
kjenne til MVC­patternet og dets anvendelse på klientside og web
forklare begrepet "SQL injection" og hvordan man kan unngå dette
forklare begrepet "Cross­site scripting" (XSS) og hvordan man unngår dette
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
15/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
vite hva JDBC (Java Database Connectivity) og ORM (Object­Relational Mapping) er og hvordan vi
kan benytte disse for å kommunisere med en database
Ferdigheter
Etter å ha fullført emnet skal studenten kunne
utvikle robuste programmer som gjør bruk av feilhåndtering
anvende debuggeren i et IDE for å feilsøke programmer, herunder stegvis utføring av kode og
breakpoints
teste deler av applikasjonen ved hjelp av enhetstester og integrasjonstester
utvikle programmer som kommuniserer med en database og utfører CRUD (create, read, update,
delete) operasjoner
utvikle en enkel webapplikasjon ved hjelp av servlets, herunder:
gjengi livsløpet til en servlet
hente ut POST/GET parametere
produsere dynamisk innhold
lage en WAR­fil og deployere denne på en server
skrive og hente ut data fra en HTTP session
skrive views i Java Server Pages (JSP)
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne
begrunne og presentere sin egen kode
reflektere rundt: verdien av automatiserte tester
valg av kommunikasjonsmetode mot database
grunnleggende websikkerhet (SQL injection/XSS)
Gjennomføring Forelesninger, øvinger med veileder, mappevurdering og skriftlig vurdering.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Øving
Selvstudium
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Java 1.8
Tidsbruk
24
24
70
82
200
Eclipse
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt en introduksjon til feilsøking, automatisert testing, arkitekturprinsipper,
databaseprogrammering og servlets. Studenten kjenner til prinsipper for automatisert testing og konsepter
som lagdeling og separation of concerns. Studenten kan gjøre bruk av unntaktshåndtering, oppkobling og
manipulering av data i en database, samt skrive enkle servlets og deployere til en server.
Pensum
Utvalgte kapitler fra læreboken. Utvalgte artikler.
Vurderingstype Mappevurdering
Vurdering
Mappe og skriftlig.
Litteraturliste:
Tittel
Introduction to
Forfatter Forlag
Utgitt
år
ISBN
Utgave Kommentar Type
Litteratur
ISBN­10:
0133761312,
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
16/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Java
Y. Daniel Prentice 2014 Programming, Liang Hall Comprehensive
Version ISBN­13:
10 978­
0133761313
Bok Pensum PG3200 Android programmering
Emnenivå Bachelor
Emnekode PG3200
Emnenavn Android programmering
Studiepoeng 7,50
Emneansvarlig Tor­Morten Grønli
Tilsynssensor Jarle Hansen, Evry AS
Godkjenningsdato 20.08.2012
Hensikt Emnet har til hensikt i å gi en innføring i programmering av mobile klienter. Emnet gir en introduksjon til
mobil programmering, og kunnskap om muligheter og begresninger ved mobile enheter og
operativsystemer. Emnet gir praktisk erfaring i å utvikle programvare for Android plattformen. Etter fullført
emne vil studentene være i stand til å lage activities, services og content providers i tillegg til å utnytte
apier for multimedia, lokasjon og kommunikasjon.
Forutsetninger Grunnleggende programmeringskunnskap (PG1100 og PG2100 eller tilsvarende innføring i objektorientert
programmering)
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
ha kunnskap om arkitekturen til Android OS
ha kunnskap om muligheter og begresninger ved programmering av mobile klienter ha kjenskap til livsløpet til en Android applikasjon
kunne beskrive livsløpet til en activity med tekst og tegning
kjenne til prosessen for publisering av applikasjoner i Google Play
ha kunskap om testing på Android OS
Ferdigheter
Etter å ha fullført emnet skal student kunne: programmere activities
programmere services
programmere fragments
gjøre rede for activities, services, broadcasts og fragments
bruke Android APIet aktivt under programmering av applikasjoner
programmere mot filer i intern og ekstern minne på den mobile enheten
anvende de vanligste GUI komponentene til å produsere brukergrensesnitt
programmere mot en lokal SQL database
gjøre rede for forskjellen ved å programmere for et nettbrett og en telefon
konfigurere en Android applikasjon
konfigurere nettbrett og telefon emulatorer
debugge og deploye en applikasjon mot emulator og enhet
kunne programmere mot internettbaserte tjenester
kunne gjøre bruk av lokasjonsbaserte tjenester i egne applikasjoner
gjøre rede for og implementere asynkron arkitektur
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
17/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
foreslå og begrunne designvalg i en Android applikasjon
foreslå og begrunne valgt arkitektur
argumentere og reflektere over native applikasjoner i forhold til hybride applikasjoner
reflektere over valgt og implementert løsning i forhold til et kunde case / oppgave case
Gjennomføring Kurset gjennomføres med 12 forelesninger på ca 2 timer og 12 lærerstyrte øvinger på ca 2 timer. Øvingene er ikke obligatoriske, men for å oppnå kompetansemålene forventes det at studentene fullfører
øvingsoppgavene og også på egenhånd legger inn ekstra innsats der øvingstimene ikke strekker til.
Anbefalt tidsbruk
Aktivitet
Tidsbruk
Deltakelse i
24
undervisning/forelesning
Selvstudium
110
Forberedelse til
0
presentasjon/diskusjon
Øving
24
Vurdering
42
Totalt
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt studenten ferdigheter i å programmere mobile applikasjoner på Android plattformen, med
vekt på elementer som applikasjonstyper, grensesnittbygging, IO­tjenester , lokasjonstjenester og
kommunikasjon med internett baserte tjenester. Studenten har kunnskap om programmering mot både
nettbrett og telefoner, og kan reflektere over valg av implementasjonsteknikk (native / hybrid).
Vurderingstype Innlevering
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
Beginning
Android
PawPrints
CreateSpace
Development: Learning
Independent
2014 Create Your Technologies Publishing
Own Android Platform Apps Today ISBN
Utgave Kommentar Type
978­
1502395221 Bok Litteratur
Pensum PG3300 Programvarearkitektur
Emnenivå Bachelor
Emnekode PG3300
Emnenavn Programvarearkitektur
Studiepoeng 7,50
Emneansvarlig Per Lauvås
Tilsynssensor Alf Inge Wang
Godkjenningsdato http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
18/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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.
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).
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
19/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
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»
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
20/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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.
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 PG4100 Avansert Javaprogrammering 2
Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
21/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Bachelor
Emnekode PG4100
Emnenavn Avansert Javaprogrammering 2
Studiepoeng 7,50
Emneansvarlig Per Lauvås
Tilsynssensor Morten Andersen­Gott
Godkjenningsdato 25.03.2012
Hensikt Innenfor programmering vil man ofte ha et behov for å kunne ta i bruk kode som andre har skrevet. Emnet
gir en innføring i hvordan man kan legge til tredjepartsbiblioteker i et Javaprosjekt, hvordan man kan
benytte et byggverktøy for å forenkle denne prosessen, samt hvordan man kan ta i bruk Open­Source
biblioteker. I produksjon og forvaltning er det nødvendig med logging og dokumentasjon, og emnet gir
derfor en innføring i Log4j og javadoc. Videre vil tyngre programmer ha et behov for å parallellisere
oppgaver og emnet gir derfor en introduksjon til trådprogrammering. Sockets tas i bruk for å lage
programmer som kan kommunisere med hverandre over nettverket. Emnet gir også en smakebit på
funksjonell programmering som et alternativt programmerings­paradigme til objekt­orientert
programmering. I den anledning vil det være naturlig å se hvordan også Java SE, fra versjon 8, inneholder
funksjonelle elementer.
Forutsetninger Emnet krever videregående programmeringskunnskaper tilsvarende PG3100, samt grunnleggende
kjennskap til versjonskontroll. Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet
og evne til logisk tenkning.
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten
vite hvilke fordeler trådprogrammering kan gi og når det lønner seg å benytte dette
kjenne til forskjeller i objekt­orientert og funksjonell programmering
kjenne til minst ett open­source prosjekt i Java og ha lest deler av kildekoden til dette
kjenne til hvordan applikasjoner kan utveksle data med hverandre gjennom sockets og web­
services
kjenne til begrepet "REST"
vite når det kan være fornuftig å benytte Lambda Expressions i Java
Ferdigheter
Etter å ha fullført emnet skal studenten kunne
konfigurere avhengigheter:
lage JAR/WAR
legge til tredjepartsbiblioteker manuelt i Eclipse
bruke Maven for å spesifisere avhengigheter og bygge et Javaprosjekt
anvende open­source biblioteker:
sjekke de ut fra versjonskontroll
bygge et open­source prosjekt som baserer seg på Maven
gjøre en endring i biblioteket
kjøre testene til biblioteket
konfigurere Log4j og skrive programmer som benytter seg av slik type logging
anvende Javadoc for å skrive dokumentasjon av kode
utvikle trådbaserte applikasjoner
utvikle klient/tjener applikasjoner ved hjelp av Sockets
gjøre HTTP kall mot en RESTful web­service
produsere applikasjoner som kan tolke XML og JSON
lese og skrive Java­kode som benytter Lambda expressions med relevante interface fra
java.util.function­pakken som Predicate, Supplier, Consumer og Function
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
22/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
reflektere rundt fordeler og ulemper med tredjepartsbiblioteker
reflektere rundt fordeler og ulemper med funksjonell programmering
begrunne og presentere sin egen kode
Gjennomføring Kurset gjennomføres med 12 sesjoner på 4 timer som inkluderer forelesning, øving og egenarbeid.
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Øving
Selvstudium
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Tidsbruk
24
24
70
82
200
Java 1.8
Scala
Eclipse
Maven
Git/Subversion
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt en introduksjon til bruk av tredjepartsbiblioteker i Java og bruk av Maven. Videre har emnet
gitt en innføring i trådprogrammering, sockets, logging, 2d­grafikk i Swing og enkel integrasjon mot REST­
baserte webtjenester som returnerer XML/JSON. Emnet ga også en smakebit på funksjonell programmering
som et alternativt programmerings­paradigme til objekt­orientert programmering.
Pensum
Utvalgte kapitler fra læreboka. Utvalgte artikler.
Vurderingstype Mappevurdering
Vurdering
Mappe og skriftlig
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Introduction to
Java
Y. Daniel Prentice
Programming,
2014 Liang Hall Comprehensive
Version ISBN
Utgave Kommentar Type
ISBN­10:
0133761312,
10.
ISBN­13:
utgave 978­
0133761313 Bok Litteratur
Pensum PG4200 Algoritmer og datastrukturer
Emnenivå Bachelor
Emnekode PG4200
Emnenavn Algoritmer og datastrukturer
Studiepoeng 7,50
Emneansvarlig Lars Sydnes
Tilsynssensor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
23/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Magnus Lie Hetland, NTNU
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,
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
24/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
ha den kunnskapen om algoritmer og datastrukturer som kreves i videre informatikkstudier.
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:
Forlag
Utgitt
år
Tittel
Forfatter
Algorithms Robert
Sedgewick, Addison­
2011 Kevin
Wesley Wayne ISBN
Utgave Kommentar Type
Litteratur
978­0­
321­
57351­
3 4 Pensum Bok PG4300 Ruby on Rails
Emnenivå Bachelor
Emnekode PG4300
Emnenavn Ruby on Rails
Studiepoeng 7,50
Emneansvarlig Per Lauvås
Tilsynssensor Mads Mobæk
Godkjenningsdato 01.11.2013
Hensikt Emnet skal gi studentene grunnleggene kjennskap til programmeringsspråket Ruby og rammeverket Rails.
Hensikten er å introdusere et rammeverk som gjør det enklere å utvikle, rulle ut og vedlikeholde
webapplikasjoner. Etter fullført emne vil studentene være i stand til å lage enkle webapplikasjoner som
kommuniserer med en database. Videre skal studenten ha grunnleggende kunnskap til testing, sikring av
en webapplikasjon, og være i stand til å rulle den ut på en ekstern server.
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
25/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Forutsetninger ­ Grunnleggende kjennskap til (X)HTML
­ Grunnleggende ferdigheter i objektorientert programmering med utgangspunkt i programmeringsspråket
Java
­ Grunnleggende kjennskap til relasjonsdatabaser
Læringsutbytte
Kunnskaper
Etter å ha fullført emnet skal studenten:
kjenne til forskjellen mellom kompilerte og interpreterte språk
kjenne til begrepene TDD og BDD
kjenne til MVC­patternet sin anvendelse for webapplikasjoner og Rails
kjenne til hvordan man lager en Rails­basert webapplikasjon
Ferdigheter
Du skal kunne grunnleggende Ruby, herunder:
datatypene Numbers, String, Ranges, Hash og Array
kontrollstrukturer
blokker
symboler
bruk av objektorientering
navngivningskonvensjoner
bruk av Interactive Ruby Shell (irb)
Du skal kunne benytte rammeverk i Ruby for å skrive enkle tester
Du skal kunne opprette et Rails prosjekt og kjenne til mappestrukturen og konvensjoner i Rails
Du skal kunne konfigurere og benytte en database mot Rails. Du skal også kunne skrive og kjøre
database migrations.
Du skal ha grunnleggende kjennskap til Ruby gems, kunne installere/oppdatere disse, og spesifisere
avhengigheter i et Rails prosjekt
Du skal ha kunnskap om (M) ActiveRecord. Dette inkluderer innebygde funksjoner, validatorer og
hvordan du definerer og benytter relasjoner mellom modeller
Du skal ha kunnskap om (V) ActionView. Du skal kunne benytte templates og view helpers.
Du skal ha kunnskap om (C) ActionController og hvordan ruter settes opp og konfigureres
Du skal kjenne til deployeringsalternativene for en Rails applikasjon og kunne deployere på Heroku­
plattformen.
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
foreslå og begrunne designvalg i en web applikasjon baser på Ruby on Rails
foreslå og begrunne valgt arkitektur
Gjennomføring Kurset gjennomføres med 12 sesjoner på 4 timer som inkluderer forelesning, øving og egenarbeid.
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
132
24 20 200
Vitnemålstekst Dette innebefatter kjennskap til utvikling av webapplikasjoner som kommuniserer med databaser etter
MVC­mønsteret. Emnet inneholdt bl.a. validering av modeller, relasjoner, view templates, view helpers,
routing og kjennskap til konvensjonene i Rails og moderne webrammeverk. Studenten har lært å utvikle
enkle webapplikasjoner, det er blitt gitt en grunnleggende innføring i websikkerhet, og studenten lært litt
om å skrive enhetstester. Det har blitt gitt innføring i utplassering av Rails­applikasjoner til plattformen
Heroku.
Vurderingstype Innlevering
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
26/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
Sam Ruby,
Dave
Agile Web
Thomas og Pragmatic
Development
2013 David
Bookshelf with Rails 4 Heinemeier
Hansson ISBN
Utgave Kommentar Type
978­
1937785567 Bok Litteratur
Pensum PG5100 Enterpriseprogrammering 1
Emnenivå Bachelor
Emnekode PG5100
Emnenavn Enterpriseprogrammering 1
Studiepoeng 7,50
Emneansvarlig Naimdjon Takhirov
Tilsynssensor Jarle Hansen
Godkjenningsdato 21.04.2013
Hensikt Hensikten med dette emnet er å gi kunnskap om distribuerte systemer og komponentbasert utvikling.
Emnet gir også inngående kunnskap om Java Enterprise Edition med tilhørende applikasjonsarkitektur.
Emnet skal gi studentene ferdigheter i det å kunne utvikle applikasjoner basert på Java EE, med tilhørende
rammeverk for persistens, presentasjon og logikk. Studenten skal ha kompetanse i å kunne anvende
korrekt applikasjonsarkitektur og analysere fordeler og ulemper knyttet til valg teknologi og
implementasjonsteknikk
Forutsetninger Emnet bygger på grunnleggende objektorientert programmering i Java foruten unntakshåndtering, servlets
og databaseprogrammering (JDBC).
Læringsutbytte
Kunnskap:
Kunne forklare begrepet distribuerte systemer/applikasjoner
Ha kunnskap om begrepet og teorier vedrørende komponentbasert utvikling
Ha kunnskap om fordeler og ulemper ved bruk av Maven som byggsystem
Ha kunnskap til Java Enterprise Edition oppbyggning, komponenter og arkitektur (Herunder skissere
og forklare arkitekturen til RMI, EJB og web applikasjoner).
Ha kunnskap om Java Persistence biblioteket (versjon 2)
Ferdigheter:
Kunne lage en distribuert RMI applikasjon som håndterer kommunikasjon mellom klient og tjener i
et nettverk
Kunne lage en distribuert web applikasjon basert på Java EE teknologi med rammeverk
Kunne bruke Maven til å bygge applikasjoner (inkludert dependency management, versjonering og
støtte for plugins)
Kunne utvikle komponentbaserte webgrensesnitt
Kunne utvikle og sette i drift tilstandsfulle sesjonsbønner på en JEE tjener
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
27/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Kunne utvikle og sette i drift tilstandsløse sesjonsbønner på en JEE tjener
Kunne vurdere fordeler og ulemper ved bruk av tilstandsfulle og tilstandsløse sesjonsbønner
Kunne lagre data permanent ved hjelp av Java Persistence biblioteket
Generell kompetanse:
Kunne anvende korrekt applikasjonsarkitektur og analysere fordeler og ulemper knyttet til valg
teknologi og implementasjonsteknikk
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Valgfritt Java EE IDE
Tidsbruk
24
92
24
12
50
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Dette emnet har gitt studenten kunnskap om distribuerte systemer og komponentbasert utvikling ved bruk
av Java Enterprise Edition. Emnet har gitt studenten ferdigheter i å utvikle applikasjoner på Java EE
plattformen, med tilhørende rammeverk for persistens, presentasjon og logikk. Studenten har fått
kompetanse i å kunne analysere fordeler og ulemper knyttet til valg teknologi og implementasjonsteknikk
ved sin løsning.
Vurderingstype Innlevering
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
Beginning
Antonio
Java EE
APress 2013 Goncalves 7 ISBN
Utgave Kommentar Type
ISBN­10:
143024626X
| ISBN­13: 1 978­
1430246268 Bok Litteratur
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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
28/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
Tidsbruk
Deltakelse i undervisning
24
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
PG5600 iOS programmering
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
29/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Emnenivå Bachelor
Emnekode PG5600
Emnenavn iOS programmering
Studiepoeng 7,50
Godkjenningsdato Hensikt Emnet har til hensikt å gi en innføring i programmering i Objective­C og iOS­plattformen. Etter fullført emne
vil studentene være i stand til å lage applikasjoner som kommuniserer over nettverk, lagrer data lokalt, og
tar i bruk grensesnittelementer og patterns som følger plattformen. Forutsetninger Videregående programmeringskunnskap (PG3100 og PG4100, eller tilsvarende innføring i objektorientert
programmering). Kjennskap til C er en fordel, men ikke et krav.
Læringsutbytte
Kunnskap:
Etter å ha fullført emnet skal studenten:
ha kunnskap om arkitekturen til iOS­plattformen
kunne beskrive livsløpet til en iOS­applikasjon med tekst og tegning
kjenne til prosessen for distribuering av applikasjoner
ha kjennskap om hvordan applikasjoner kompileres på iOS
kunne beskrive MVC, observable og delegate­patternet i kontekst av iOS med tekst og tegning
Ferdighet
Etter å ha fullført emnet skal studenten kunne:
programmere grunnleggende Objective­C, herunder:
datatyper
bruk av foundationklasser
kontrollstrukturer
bruk av objektorientering
bruk av protokoller
bruk av categories
bruk av blokker
bruke iOS APIet aktivt under programmering av applikasjoner
anvende de vanligste GUI komponentene til å produsere brukergrensesnitt
anvende storyboards
benytte seg av grunnleggende animasjoner
serialisere, deserialisere og persistere data
kunne programmere mot internettbaserte tjenester
gjøre rede for og implementere asynkron arkitektur
benytte seg av mulighetene med en dynamisk typet runtime
debugge og deploye en applikasjon mot simulator og enhet
Generell kompetanse
Etter å ha fullført emnet skal studenten kunne:
foreslå og begrunne arkitekturvalg i en iOS applikasjon
ha kunnskap om når asynkronitet er hensiktsmessig
konsumere et REST API
Gjennomføring Kurset gjennomføres med 12 forelesninger på ca 2 timer og 12 lærerstyrte øvinger på ca 2 timer. Øvingene er ikke obligatoriske, men for å oppnå kompetansemålene forventes det at studentene fullfører
øvingsoppgavene og også på egenhånd legger inn ekstra innsats der øvingstimene ikke strekker til.
Anbefalt tidsbruk
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
30/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Aktivitet
Tidsbruk
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
iOS SDK (inkl Xcode)
24
110
0
24
42
iOS
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har gitt studenten ferdigheter i å programmere Objective­C og mobile applikasjoner på iOS­
plattformen. Det er lagt vekt på grensesnittprogrammering, arkitektur, asynkronitet og kommunikasjon
med internettbaserte tjenester.
Vurderingstype Innlevering
Litteraturliste:
Tittel
Forfatter Forlag
Utgitt
år
Joe
Conway,
iOS
The Big
Aaron
Programming:
Nerd
Hillegass
2014 The Big Nerd
Ranch
,
Ranch Guide Guide Christian
Keur Objective­C
The Big
Programming: Aaron
Nerd
2013 The Big Nerd Hillegass Ranch
Ranch Guide Guide ISBN
Utgave Kommentar Type
Litteratur
978­
4 0321942050 Bok Pensum 978­
2 0321942067 Bok Pensum PG6100 Enterprise programmering 2
Emnenivå Bachelor
Emnekode PG6100
Emnenavn Enterprise programmering 2
Studiepoeng 7,50
Emneansvarlig Naimdjon Takhirov
Tilsynssensor Jarle Hansen
Godkjenningsdato 01.11.2013
Hensikt Hensikten med dette emnet er å gi videregående kunnskap om distribuerte systemer og komponentbasert
utvikling. Emnet gir inngående kunnskap om Java Enterprise Edition med tilhørende applikasjonsarkitektur.
Emnet skal gi studentene ferdigheter i det å kunne utvikle applikasjoner basert på Java EE, med tilhørende
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
31/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
funksjonalitet for web services, meldinger, sikkerhet, transaksjoner og brukerstyring. Studenten skal ha
kompetanse i å kunne anvende korrekt applikasjonsarkitektur og analysere fordeler og ulemper knyttet til
valg teknologi og implementasjonsteknikk
Forutsetninger Emnet forutsetter at emnet PG5100 er gjennomført, eller at tilsvarende kunnskaper er ervervet.
Læringsutbytte
Kunnskap:
Kunne forklare begrepet distribuerte systemer/applikasjoner
Ha kunnskap om begrepet og teorier vedrørende komponentbasert utvikling
Ha kunnskap om fordeler og ulemper ved bruk av Maven som byggsystem
Ha kunnskap til Java Enterprise Edition oppbyggning, komponenter og arkitektur (Herunder skissere
og forklare arkitekturen til REST, EJB og web applikasjoner).
Ha kunnskap om sikkerhet og transaksjoner i JEE
Kunne skissere og forklare begrepene synkron og asynkron kommunikasjon
Ferdigheter:
Kunne lage en distribuert applikasjon som håndterer kommunikasjon mellom klient og tjener i et
nettverk
Kunne lage en distribuert web applikasjon basert på Java EE teknologi med rammeverk
Kunne bruke Maven til å bygge applikasjoner (inkludert dependency management, versjonering og
støtte for plugins)
Kunne utvikle komponentbaserte webgrensesnitt
Kunne utvikle og sette i drift meldingsbønner på en JEE tjener
Kunne gjøre aktivt bruk av sikkerhetsmekanismer fra JEE for adgangskontroll og brukerstyring
Kunne implementere transaksjoner i en JEE applikasjon
Kunne implementere Web Services i en JEE applikasjon
Generell kompetanse:
Kunne anvende korrekt applikasjonsarkitektur/patterns og analysere fordeler og ulemper knyttet til
valg teknologi og implementasjonsteknikk
Gjennomføring Emnet gjennomføres med en kombinasjon av forelesninger og egenarbeid (lab).
Anbefalt tidsbruk
Aktivitet
Deltakelse i undervisning
Selvstudium
Forberedelse til presentasjon/diskusjon i klassen
Øving
Vurdering
Anbefalt tidsbruk totalt
Verktøy
Valgfritt Java EE IDE
Tidsbruk
24
99
12
24
55
200
Karakterskala Letter grades A­E for passed and F for failure
Vitnemålstekst Emnet har tatt for seg komponent basert utvikling i et dirtribuert miljø. Emnet har vist hvordan man bygger
og setter i drift Java Enterprise komponenter som meldingsbønner og web services. Gjennom emnet har
det blitt gitt introduksjon til emner som transaksjoner og sikkerhet. Det er lagt vekt på å vise hvordan alle
elementene inngår som en helhet i en større applikasjon bygd opp med et fundament i Java Enterprise
Edition patterns.
Vurderingstype Innlevering
Vurdering
Skriftlig eksamen og innlevering (hjemmeeksamen)
Litteraturliste:
Tittel
Forfatter
Forlag
Utgitt
år
ISBN
Utgave Kommentar Type
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Litteratur
32/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Beginning
Antonio
Java EE
Apress 2013 Goncalves 7 ISBN­10:
143024626X
| ISBN­13: 1 978­
1430246268 Bok Pensum 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/7610/language/nor­NO
33/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
34/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Tilsynssensor 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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
35/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Vurdering
75
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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
36/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Emnet bygger på kunnskaper fra 1.klasse. Prosjektet forutsetter normal progresjon gjennom 2.klasse, da
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 PJ6000 Hovedprosjekt
Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
37/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
38/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
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
Tidsbruk
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
39/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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
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. 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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
40/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
· 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
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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
41/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
Emnekode TK2100
Emnenavn Informasjonssikkerhet
Studiepoeng 7,50
Emneansvarlig 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
http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
42/43
10.3.2015
nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/nor­NO
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 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/7610/language/nor­NO
Bok 43/43