Bachelor IT - Spillprogrammering 2016-2017



Like dokumenter
Bachelor IT - Intelligente systemer

Bachelor IT - Programmering

Navn. Bachelor IT Spillprogrammering

Programbeskrivelse Bachelor i informasjonsteknologi - spillprogrammering

KONTINUASJONSEKSAMENER - "KONT" - SOMMEREN 2015

Bachelor IT: E-Business

Programmeringsstudiet bygger på NITHs Bachelor i Informasjonsteknologi. Studiet er 3 årig, og gir tittelen bachelor i IT.

AlgDat 12. Forelesning 2. Gunnar Misund

NTNU KOMPiS Studieplan for MATEMATIKK 2 ( trinn) med hovedvekt på trinn Studieåret 2015/2016

Database Systems. A Practical Approach to Design, Implementation, and Management

Studieinformasjon Bachelor i IT Spillprogrammering Avdeling for teknologi

Digital markedsføring. Studieplan Avdeling for kommunikasjon

Navn. Bachelor IT Mobil apputvikling

Studieinformasjon Bachelor i IT Spillprogrammering Avdeling for teknologi

Studieinformasjon Bachelor i IT Intelligente systemer Avdeling for teknologi

Studieinformasjon

Studieplan - KOMPiS Programmering

Studieinformasjon Bachelor i 3D-grafikk Avdeling for film, tv og spill

AlgDat 10. Forelesning 2. Gunnar Misund

Bachelor IT - Interaktivt Design

Studieplan 2019/2020

Hva er drivkrefter ved utvikling av dataspill: innhold eller teknologi? Om spillutdanning i nord

Studieplan - KOMPiS Programmering

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

<kode> Grunnleggende matematikk for ingeniører Side 1 av 5

Studieplan 2018/2019

Studieplan 2017/2018

3D- grafikk Studieplan

Studieinformasjon

Dagens. Faglærers bakgrunn IMT 1321 IT-LEDELSE. Faglærer : Tom Røise 11.Jan IMT1321 IT-Ledelse 1

Studieplan 2006/2007

Fagplan-/Studieplan Studieår Data. Oppstart H2010, 1. kl.

Studieplan 2016/2017

Studieplan 2015/2016

MindIT sin visjon er å være en anerkjent og innovativ leverandør av teknologi og tjenester i den globale opplæringsbransjen

Studieinformasjon Bachelor i IT Intelligente systemer Avdeling for teknologi

Studieplan 2015/2016

Studieinformasjon Bachelor i manus - programprofil Avdeling for film, tv og spill

Studieplan 2014/2015

Studieplan 2012/2013

Introduksjon til kurset og dets innhold

Oppnådd grad Bachelor i ledelse, innovasjon og marked. Omfang 180 studiepoeng

Dagens IMT 1321 IT-LEDELSE. Faglærer : Tom Røise. IMT1321 IT-Ledelse 1. Faglærers bakgrunn

Læreplan i informasjonsteknologi - programfag i studiespesialiserende utdanningsprogram

Studieplan for ENGELSK 1 ( trinn) med vekt på trinn

Studieplan for Norsk 2 (8-13) Norsk i mediesamfunnet

Programvareutvikling (store systemer)

Studieplan 2014/2015

Studieplan Bachelor i IT Spillprogrammering. Institutt for teknologi

Videreutdanning i skriving av vitenskapelig artikkel

TDT4105 Informasjonsteknologi, grunnkurs

Studieplan 2016/2017

STUDIEPLAN. Andrespråkspedagogikk - Videreutdanningskurs. 30 studiepoeng

Det er 3 hovedtemaer i studiet med oppgaver knyttet til hver av disse.

Studieplan for Norsk 2 (8-13) med vekt på 8-10 Norsk i mediesamfunnet Studieåret 2016/2017

Søknadsfrist

UNIVERSITETET I STAVANGER Det humanistiske fakultet Institutt for allmennlærerutdanning og spesialpedagogikk

Pensum: fra boken (H-03)+ forelesninger

Undervisningssemester Undervisning i kunst og håndverk 1 (5-10), emne 1a, gis i andre semester i 1. studieår.

Gruppe 43. Hoved-Prosjekt Forprosjekt

Pensum: fra boken (H-03)+ forelesninger

Norsk - Forkurs for ingeniørutdanning

Studieplan 2015/2016

NTNU KOMPiS Studieplan for Norsk 2 ( trinn) med vekt på trinn Norsk i mediesamfunnet Studieåret 2015/2016

Kravspesifikasjon. Høgskolen i Oslo, våren 2011 Sted og dato: Oslo, 9. februar Gruppemedlemmer

Bachelorgradsprogram i religionsvitenskap Studieplan INSTITUTT FOR HISTORIE OG RELIGIONSVITENSKAP

Emneplan for. Trykk og digitale foto (FOTO) Print and Digital Photography. 15 studiepoeng Deltid

TDT4102 Prosedyreog objektorientert programmering Vår 2016

PG4200 Algoritmer og datastrukturer Forelesning 10

Studieplaner m/eksamensdatoer 2011/2012

Innhold uke 10. Objektorientert programmering i Python. Oblig 7 og 8. IN1000 Seminar! IN1000 Høst 2018 uke 10 Siri Moe Jensen

Jon Hammeren Nilsson, Anders Emil Rønning, Lars Grini og Erling Fjelstad

Studieplan - KOMPiS Nordisk språk og litteratur (nettstudium)

2.5 BACHELORGRADSPROGRAM I INFORMATIKK

Oppsummering. Thomas Lohne Aanes Thomas Amble

PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014

Emnebeskrivelse Drama fordypning, 30 studiepoeng.

Generelt om operativsystemer

Studieplan Bachelor i IT Intelligente Systemer. Institutt for teknologi

Spesifikasjon av Lag emne

STUDIEPLAN. Samtidskunst. 180 studiepoeng. Tromsø

Studieplan. Bachelorstudium i Retail Design. Westerdals Høyskole Oslo School of Arts, Communication and Technology

Studieplan 2017/2018

Emnebeskrivelser for emner tatt ved Universitetet i Oslo. Presentasjon laget av Joakim Hjertås

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

Kompetanse for kvalitet: Programmering for trinn

Barn og unges utvikling og oppvekstmiljø

Årsplan i Kunst & handverk 9.klasse

Studieplan 2016/2017

SPANSK ÅRSSTUDIUM FORDYPNINGSEMNER STØTTEFAG

Programbeskrivelse Bachelor i informasjonsteknologi - Intelligente systemer

UNIVERSITETET I STAVANGER Det humanistiske fakultet Institutt for allmennlærerutdanning og spesialpedagogikk

UNIVERSITETET I STAVANGER Det humanistiske fakultet Institutt for allmennlærerutdanning og spesialpedagogikk

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Studieplan 2010/2011

Studieplan for Norsk 2 ( trinn)

Tildeling av minne til prosesser

Studieplan 2017/2018. Verdiskapende prosjektledelse (vår 2018) Studiepoeng: 15. Målgruppe. Opptakskrav og rangering. Arbeids- og undervisningsformer

Fag: kunst & håndverk Årstrinn: 10. Skoleår: 2018/2019. Uke Emne Kompetansemål Grunnleggende ferdigheter Vurderingsform M S L R D

Transkript:

Bachelor IT - Spillprogrammering 2016-2017 Innhold Dataspillbransjen har blitt en stor, internasjonal industri. Blant de best utdannede ansatte er programmererne. Disse har likevel sjelden en skreddersydd utdannelse for produksjon av spill. Samtidig bruker flere og flere tradisjonelle industrier spill og spillrelatert teknologi. Profesjonelle spill lages av grupper med variert størrelse, men noen roller er alltid med. Spillprogrammereren utvikler ny funksjonalitet og systemer i et spill. Forbedrete grafiske effekter, bedre kunstig intelligens og mer realistisk fysikk er oppgaver som programmereren typisk har ansvaret for. Et annet viktig arbeidsområde for spillprogrammerere er verktøy som andre utviklere bruker for å lage innhold i spillet. Med fokus på sanntids grafikksimuleringer har spillprogrammereren god innsikt i teoriene og teknologiene som brukes. På Spillprogrammererstudiet vil studentene lære å realisere spennende og realistiske spillopplevelser. De får grundig opplæring i C++, så vel som andre programmeringsspråk som benyttes i profesjonell spillutvikling. Studentene lærere å integrere eksisterende teknologier til nye spill. Studiet er 3-årig, og gir tittelen bachelor i IT. 1. Det første året er felles, og gir en solid grunnkompetanse i programmering, prosjektarbeid, systemutvikling, datateknikk og databaser. 2. Det andre året gir en grundig opplæring i programmeringsspråket C++, som et mye brukt språk for utvikling av store, moderne spill. C++ gir også en fin komplementering til Java som studentene lærer i første studieår: de behersker nå to utbredte programmeringsspråk. Forløperen til C++ er fortsatt i vid bruk, og studentene lærer C som en introduksjon til C++. Ved siden av C/C++ lærer studentene matematikk og fysikk, med fokus på temaer som er relevante for spill- og grafikkprogrammering. Som spesialiseringsemne innen spill lærer de Game AI (kunstig intelligens med fokus på spillbruk). Programmering involverer mer enn bare programmeringspråk, og studentene vil få et kurs i programmvareakritektur som gir innsikt i bredere problemstillinger samt et emne innen algoritmer og datastrukturer, som forbedrer studentenes evne til å skrive ytelseseffektiv kode. 3. I det tredje året vil studentene jobbe med 3D grafikk, så vel som det mattematiske grunnlaget for dette. Verktøyene studentne bruker er C++ og 3D systemet OpenGL. Studentene har også valgfag dette året, der de kan velge emner som gir de spisskompetanse innen spillindustrien eller som gir de breddekunnskap innen programmering generelt. I det avsluttende semesteret gjennomfører studentene et hovedprosjekt der de løser en krevende oppgave knyttet til spill- og/eller grafikkprogrammering, i nærkontakt med en privat eller offentlig virksomhet. X. Studiet har i tillegg noen fellesemner som står sentralt i bachelor IT utdanningen. Disse emnene er Teknologi og Organisasjonen og Undersøkelsesmetoder. Introduksjon Spillprogrammering: Utdanne programmerere som kan utvikle spill og tunge matematikk-/grafikkprogrammer Mål med studiet Etter endt studie skal studentene være i stand til å fylle et vidt spekter av programmeringsroller i norsk og internasjonalt næringsliv. De skal være høyaktuelle for spillindustrien, men de skal også være aktuelle som programutviklere innen C++ og Java generelt, spesielt i miljøer der visuelle virkemidler og multimedia benyttes samt tidskritiske applikasjoner. Sentrale emner Bachelor studium IT med fordypning i Spillprogrammering har følgende fokus: Ved siden av vanlig programmerer-kunnskap som software engineering og algoritmer/datastrukturer

tilpasset bruksområdet, fordrer dette kjennskap til mer spesialiserte fagområder og forskningsfelt som lineær algebra og spesielle geometriske teknikker, nummeriske tilnærminger til klassisk mekanikk, optimalisering av grafisk programvare og kunstig intelligens. Jobbmuligheter Generelt vil studiet gi kompetanse til å gå inn i følgende roller: Spillprogrammerer: Som spillprogrammerer jobber man daglig med å utvikle verktøy til dataspillbransjen og/eller kjernefunksjonalitet for dataspillene. Dette er en rolle som ligger svært tett opp til studiet. Man jobber i et ungt, spennende og hektisk miljø. Systemprogrammerer: Mange firmaer lager programmer som krever mange av de samme egenskapene som spillprogrammering. Simuleringer, kontrollsystemer og andre tidsfølsome applikasjoner pruker mange av de samme teknikkene. Dette betyr at spillprogrammereren kan jobbe for et vidt spekter av bransjer. IT-konsulent: Som IT-konsulent får man gjerne muligheten til å oppleve flere forskjellige arbeidsplasser, da man leies ut på prosjektbasis. Det er en variert hverdag der man kan dra nytte av enkelte emner man har lært i et prosjekt, andre emner i det neste. Utveksling Det et mulig å ta deler av studiet ved andre høgskoler og universiteter i tråd med ERASMUS utvekslings program. Videre utdanning Etter fullført bachelor studium er det mulig å fortsette på en masterutdanning. Følgende retninger vil passe for studenter som har tatt bachelor studium IT med fordypning i Spillprogrammering: Retninger innen spill- og underholdningsprogrammering Teknisk programmering Prosjekt- eller IT-ledelse Forkunnskaper Studiet krever generell studiekompetanse med matematikkfordypning R1 eller S1 + S2 (2MX eller 2MZ + 3MZ ) for å ta Bachelor IT: Spillprogrammering. Undervisningsmåte Studiet benytter en rekke undervisningsformer for å legge til rette for læring hos studentene. Forelesninger, presentasjoner, arbeidsmøte og øvinger brukes for å introdusere nye begreper og sammenhenger, samt innøve ferdigheter og forståelse. Arbeid med fagstoff foregår både individuelt og i gruppe, med vekt på samhandling for å oppnå et godt læringsutbytte. Studiet har prosjektarbeid alle semestre for å i praksis anvende ferdigheter og forståelse til å løse mer komplekse problemstillinger. I andre og tredje studieår er problemstillingene sterkt knyttet til det enkelte studieprogrammets egenart. Studiet avsluttes med et hovedprosjekt i bedrift, hvor studentene vil anvende alle sine kompetanser opparbeidet gjennom studiet for å løse et problem/oppgave som har verdi for oppdragsgiver.

Spillprogrammering Emnekode Emnets navn S.poeng O/V *) Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) PGR100 Objektorientert programmering 1 7,50 O 7,5 PJ1100 Kreativt webprosjekt 7,50 O 7,5 TK1100 Digital teknologi 7,50 O 7,5 DB1100 Databaser 1 7,50 O 7,5 TK2100 Informasjonssikkerhet 7,50 O 7,5 PGR101 Objektorientert programmering 2 7,50 O 7,5 PJ2100 Iterativt webprosjekt 7,50 O 7,5 RF3100 Matematikk og fysikk 7,50 O 7,5 PJ3100 Prosjekt Software Engineering 15,00 O 7,5 7,5 PG3300 Programvarearkitektur 7,50 O 7,5 PG3400 Programmering i C for Linux 7,50 O 7,5 PG4500 Game AI 7,50 O 7,5 PG4400 C++ Programmering 7,50 O 7.5 PG4200 Algoritmer og datastrukturer 7,50 O 7,5 RF5100 Lineær algebra 7,50 O 7,5 BU5100 Entreprenørskap 7,50 O 7,5 PG5200 Tools programmering 7,50 O 7,5 PG6200 Grafikkprogrammering 7,50 O 7,5 PJ6100 Undersøkelsesmetoder 7,50 O 7,5 PJ6000 Bachelorprosjekt 15,00 O 15 Sum: 30 22,5 30 30 22,5 30 *) O - Obligatorisk emne, V - Valgbare emne Spillprogrammering, valgemner 1.klasse Emnekode Emnets navn S.poeng O/V *) Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) DS2100 Animasjon 7,50 V 7,5 DS2200 Digital kultur 7,50 V 7,5 PG2201 Unity Utvikling 7,50 V 7,5 Sum: 0 7,5 0 0 0 0 *) O - Obligatorisk emne, V - Valgbare emne Spillprogrammering - Valgemner 3.klasse Emnekode Emnets navn S.poeng O/V *) Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) PG5500 Embedded systems 7,50 V 7,5 PJ5100 Game Development 7,50 V 7,5 PG5600 ios programmering 7,50 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 Tidsbruk Deltakelse i undervisning 25 Selvstudium 80 Forberedelse til presentasjon/diskusjon i klassen 5 Øving 20 Vurdering 70 Anbefalt tidsbruk totalt 200 Karakterskala Letter grades A-E for passed and F for failure 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 Utgit t år ISBN Utgav e Kommenta r Typ e Litteratu r Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers The Lean Startup: How Today's Entrepreneur s Use Continuous Innovation to Create Radically Successful Businesses Osterwalder, A., Peigner, Y. Ries, Eric Wiley 2010 9780470876411 1 Bok Pensum Crown Business 2011 9780670921607 1 Bok Pensum

DB1100 Databaser 1 Emnenivå Bachelor Emnekode DB1100 Emnenavn Databaser 1 Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Bjørn Kristoffersen Godkjenningsdato 18.04.2013 Hensikt Etter fullført Databaser 1 skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende prinsippene for god design (normalisering, nøkkelbruk). Forutsetninger Generell studiekompetanse Læringsutbytte Etter å ha fullført emnet skal studenten kunne: Kunnskap: 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 Tidsbruk Deltakelse i undervisning 40 Selvstudium 100 Forberedelse til presentasjon/diskusjon i klassen 14 Øving 40 Vurdering 6 Anbefalt tidsbruk totalt 200 Verktøy MySQL Database Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Etter å ha fullført emnet skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende prinsippene for god design (normalisering, nøkkelbruk), og utføre grunnleggende administrative oppgaver. Vurderingstype Skriftlig Vurdering Flervalgseksamen (25%) Skriftlig eksamen (75%) Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur Database Systems. A Practical Approach to Design, Implementation, and Management Thomas Connolly & Begg, Carolyn Addison Wesley 2014 ISBN-10: 0132943263 ISBN-13: 978-0132943260 6. Bok Pensum

DS2100 Animasjon Emnenivå Bachelor Emnekode DS2100 Emnenavn Animasjon Studiepoeng 7,50 Emneansvarlig Hrafnhildur Jonasdottir Tilsynssensor Bård R.Gunnerud Godkjenningsdato 30.05.2012 Hensikt I dagens samfunn er det stadig en utvikling i teknologi, applikasjoner og teknikker. Animasjon knytter tradisjonelle teknikker som historiefortelling, tegning og konstruksjon sammen med ny teknologi innenfor kanaler som reklame, spill, film, mobiltelefoni, kunst, internett osv. Animasjon hjelper oss å kommunisere og visualisere våre budskap gjennom disse kanalene og spiller en stor rolle i utdanning, underholdning, industri og kunst. I løpet av emnet vil studenten ha tilegnet seg kunnskap og ferdigheter til å lage en kort animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et gitt budskap gjennom visuelle grep. Studenten skal kunne vise til kreativog kritisk tenkning knyttet til animasjon. Læringsutbytte Kunnskaper Etter fullført emne skal studenten kunne: o forklare virkemåten til, og produksjonsmåten for, ulike animasjons-teknikker og uttrykk o beskrive rollen til manus, storyboard, lyd og etterarbeid i produksjon av (egen) animasjonsfilm o gjengi og benytte regler og teori innenfor filmkunnskap og dramaturgi til å analysere animasjonsfilm o beskrive de spesifikke visuelle virkemidlene som benyttes i animasjonskultur Ferdigheter Etter fullført emne skal studenten kunne: o demonstrere ferdigheter innenfor tegning, fotografering, lyd og filmredigering gjennom å kunne skape en enkel animasjonsfilm fra ide til ferdig produkt o demonstrere ulike teknikker for å lage en animasjonsfilm o utvikle et eget animasjonsuttrykk o benytte ulike digitale verktøy og filformater til å produsere, publisere og distribuere animasjoner. Generell kompetanse Etter fullført emne skal studenten kunne: o demonstrere kreativ og kritisk tenkning og kommunikasjonsevner gjennom animasjonsteknikker

Gjennomføring Gjennomføringen av emnet er basert på kombinasjon av forelesning, prosjektarbeid, og individuell skriftlig prøve Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 48 Selvstudium 60 Forberedelse til presentasjon/diskusjon i klassen 12 Øving 40 Vurdering 40 Anbefalt tidsbruk totalt 200 Karakterskala Letter grades A-E for passed and F for failure 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 ISBN Utgave Kommentar Type Litteratur Ideas for the Animated Short: Finding and Building Stories Karen Sullivan, Kate Alexander og Gary Schumer Elsevier 2013 9780240818726 2. utg Bok Pensum

DS2200 Digital kultur Emnenivå Bachelor Emnekode DS2200 Emnenavn Digital kultur Studiepoeng 7,50 Emneansvarlig Faltin Karlsen Tilsynssensor Anders Fagerjord, UiO Godkjenningsdato 08.05.2013 Hensikt Internett har stor innflytelse på hvordan vi kommuniserer og våre liv, både privat og i kommersielle sammenhenger. Innen mange bransjer har Internett bidratt til å bryte ned skillet mellom produsent og tjenesteyter på den ene siden, og brukere og konsumenter på den andre. I dag påvirker brukerne ofte direkte hvordan nye produkter, tekster og tjenester utformes. Samtidig gir Internett helt nye muligheter for å overvåke brukernes adferd og å styre tilgang til informasjon, i tillegg til at skillet mellom privat og offentlig blir mye mer uklart og det blir enklere for flere å delta som aktive brukere. Emnet Digital kultur behandler disse temaene fra hovedsakelige humanistiske og medievitenskapelige kulturteoretiske tilnærminger gjennom fokus på generell kultur- og medieforståelse knyttet opp mot digitale kulturfenomener. Klassiske og moderne kulturteorier og tradisjoner benyttes i analyser og drøftinger av produsenter, innhold/tekster, forbrukere og kommunikasjonskanaler. Studentene lærer hvordan digitale kulturfenomener ligner på og skiller seg fra andre kulturfenomener, samt hvordan kulturteori kan anvendes for å kontekstualisere, belyse, diskutere og problematisere disse fenomenene. Forutsetninger Generell studiekompetanse Læringsutbytte Kunnskaper Studentene skal kjenne til sentrale kulturteoretiske perspektiver og tradisjoner, og vite hvordan disse kan belyse forskjellige aspekter og problemstillinger rundt digitalekulturfenomener. Sentrale perspektiver og tradisjoner inkluderer semiotikk, retorikk,hermeneutikk, ideologikritikk og postmodernisme. Sentrale fenomener inkluderer sosialemedier, produsage, transmediering, franchising, kollektiv intelligens og spillkultur. Studentene skal kjenne til akademisk tenkning og skriving som genre, med fokus på analyse, drøfting, kildekritikk og referanseteknikk. Ferdigheter

Studentene skal kunne kritisk reflektere over og bruke fagstoff i analyser og drøftinger samt skrive akademiske tekster og holde faglige presentasjoner. Studentene skal kunne utvikle en strategi for bruk av sosiale medier i forretningssammenheng Generell kompetanse Studentene skal kjenne til sentrale klassiske og moderne kulturteorier og kritisk anvende disse i forståelse og analyser av kulturfenomener Studentene skal kunne problematisere ulike tilnærminger rundt bruk av digitale medier i offentlig, kommersiell, og privat sammenheng. Studentene skal kunne kritisk anvende fagstoff i egne akademiske tekster og presentasjoner som følger god akademisk skikk med hensyn til problemstilling, struktur, innhold,argumentasjon og referanseteknikk. Gjennomføring Emnet gjennomføres som fellesforelesninger og som samlinger i mindre grupper. Studentene skal i løpet av emnet gjennomføre minst en presentasjon av et tema de har jobbet med i grupper. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 104 Forberedelse til presentasjon/diskusjon i klassen 24 Øving 24 Vurdering 24 Anbefalt tidsbruk totalt 200 Verktøy Studentene vil benytte enkle og gratis tilgjengelig publiseringsverktøy og sosiale medier som flickr, posterous, facebook og twitter. Disse tjenestene vil brukes aktivt i undervisningen. Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Studenten skal vite hvordan digitale kulturfenomener ligner på og skiller seg fra andre kulturfenomener, samt hvordan kulturteori kan anvendes til å kontekstualisere, belyse og problematisere disse fenomenene. Studenten skal kunne skrive akademiske tekster og holde faglige presentasjoner. Pensum Gripsrud, Jostein: Mediekultur, mediesamfunn Universitets-forlaget 2011 (4. utg) ISBN 9788215017921 Detaljert oversikt over hvilke kapitler som skal være med vil oppgis før oppstart. Vurderingstype Innlevering Vurdering I semesteret må det leveres to kvalifikasjonsoppgaver. I forbindelse med siste innlevering må man også delta på en muntlig eksamen.

Litteraturliste: Tittel Forfatt er Forlag Utgit t år ISBN Utgav e Komment ar Typ e Litterat ur Cultural Theory and Popular Culture: An Introduction Mediekultur, mediesamfun n Storey, John Gripsrud, Jostein Routledge Universitetsforlag et 2015 978-1138811034 2015 978821502587 2 7. utg Bok Pensum 5. utg Bok Pensum

PG2201 Unity Utvikling Emnenivå Bachelor Emnekode PG2201 Emnenavn Unity Utvikling Studiepoeng 7,50 Emneansvarlig Tomas Sandnes Tilsynssensor Michael McCoy Jr. Godkjenningsdato Hensikt Emnet omhandler programmering og utvikling med spillutviklingsplattformen Unity. 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 PGR100 eller tilsvarende. Læringsutbytte Kunnskap Lære grunnleggende C# syntaks, samt vite på hvilke måter språket skiller seg fra Java. Lære hvordan C# programmering kan brukes i Unity. 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 kan benyttes for input. Ferdigheter Kunne benytte programmeringspråket C#. Beherske Unity utviklingsmiljøet, kunne opprette prosjekter og publisere de til forskjellige plattformer. Legge til spillmekanikk ved hjelp av programmering. Importere og anvende 3D-modeller, animasjoner, teksturer, lyder, "prefabs" og andre assets i Unity. Generell Kompetanse Planlegge, utvikle og publisere enkle spill.

Gjennomføring 12 forelesninger med øvinger. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 92 Forberedelse til presentasjon/diskusjon i klassen 0 Øving 24 Vurdering 60 Anbefalt tidsbruk totalt 200 Verktøy Unity Visual Studio Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Emnet omhandler programmering og utvikling med utviklingsplattformen Unity. Pensum Lærebok. Ressurser publisert på emnesidene. Vurderingstype Innlevering Vurdering 1 innlevering. 1 hjemmeeksamen. Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur Unity Game Mike Development Geig in 24 Hours Sams Publishing 2013 978-0672336966 1. utg Kjøp bare EN av bøkene! Denne utgaven er lett tilgjengelig, men tar for seg forrige versjon av Unity. (Undervisningen Bok tar høyde for at enkelte studenter har denne utgaven av boka.) Pensum

Unity Game Mike Development Geig in 24 Hours Sams Publishing 2015 978-0672337512 2. utg Kjøp bare EN av bøkene! Denne utgaven kommer rundt årsskiftet 2015/2016, og får man tak i den til studiestart er det den beste løsningen. (Den er allerede tilgjengelig som ebok/pdf.) Bok Pensum

PG3300 Programvarearkitektur Emnenivå Bachelor Emnekode PG3300 Emnenavn Programvarearkitektur Studiepoeng 7,50 Emneansvarlig Tomas Sandnes Tilsynssensor Alf Inge Wang Godkjenningsdato Hensikt Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med kjente teknikker for modellering, testing og implementasjon. Forutsetninger Erfaring med grunnleggende objektorietert programmering. Læringsutbytte Etter å ha fullført emnet skal studenten kunne: Kunnskap: Vite bakgrunn og innhold for UML standarden. Kjenne til konsepter for versjonskontroll. Vite hva Unit Testing er. Forklare prinsippene for test-driven development (TDD). Vite hva design patterns er. 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 prinsippene 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 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 vurdere strukturelle forbedringer. Gjennomføring Forelesninger, øvinger og egenstudier. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 128 Øving 24 Vurdering 24 Anbefalt tidsbruk totalt 200. Verktøy IDE: Visual Studio 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 merket "Pensum" (se "Litteraturliste", under) samt forelesningsmaterialet og nødvendige hjelpemidler for å gjennomføre øvingsopplegget. Vurderingstype Innlevering Vurdering 1 innlevering og 1 muntlig prøve (se "Vurdering / Assessment", under). Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur Applying UML and Patterns The Art of Readable Code Craig Larman Dustin Boswell Prentice 2004 Hall O'Reilly Media 2011 978-0131489066 978-0596802295 3rd ed. Bok Pensum 1st ed. Bok Støttelitteratur

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: o bakgrunn og historie o 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: o compile o link Forklare konseptet «everything is a file» og kjenne til eksempler inkludert: o devices o 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: o main, basic types, printf, scanf, strings, #include, enum, typedef, struct, union, command line parameters, macros, varargs o Statisk minnehåndtering

Utvikle programmer under paradigmet «strukturert programmering» Anvende dynamisk minnehåndtering inkludert: o 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 o makefile o static libraries Implementere lesing og skriving til fil o r/w modes o seek o buffer size Operere kommandolinjen i linux for å utføre viktige operasjoner inkludert: o ls, cd, mkdir, rm, cp, chmod, chown, pwd, ps, kill, man, wget o pipes, redirection o starte programmer o 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 Tidsbruk Deltakelse i undervisning/forelesning 24 Selvstudium 110 Forberedelse til presentasjon/diskusjon 0 Øving/prosjektarbeid/workshop 24 Vurdering 42 Anbefalt tidsbruk totalt 200 Verktøy Linux og gcc 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 ISBN Utgave Kommentar Type Litteratur Kochan, Programming Stephen in C G Sams publishing 2004 9780672326660 3. utg Bok Pensum

PG4200 Algoritmer og datastrukturer Emnenivå Bachelor Emnekode PG4200 Emnenavn Algoritmer og datastrukturer Studiepoeng 7,50 Emneansvarlig Lars Sydnes Tilsynssensor 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: o Lister, køer, stakker, o Mengder (sets, collections), Avbildninger (maps) o Trær og grafer. Egenskapene til sentrale datastrukturer: o Tabeller (arrays). o Lenkede lister. o Binære trær, søketrær, balanserte søketrær, B-trær, AVL-trær, Red-Blacktrær. o Hash-tabeller og Hash-avbildninger. o Grafer implementert ved naboskapslister og -matriser. Sentrale søkealgoritmer: o Linært søk, Binært søk. o Søk i binære søketrær. o Søk i Hash-tabeller. Sorteringsalgoritmer: o Insertion sort, Selection sort, Bubble sort, o Quicksort, Merge sort, Heap sort, o Radix sort. Enkelte graf-algoritmer, inkludert o traversering av grafer, o Dijkstras algoritme, A*-algoritmen, o Prims algoritme.

Oppbygning, virkemåte og bruk av rekursive funksjoner, inkludert o rekursiv traversering av trær og grafer, o rekursiv søk og sortering, o backtracking. Grunnleggende begreper innen teorien for beregningskompleksitet, inkludert o O-notasjon, o NP-kompletthet og reduksjon, o den handelsreisendes problem (Travelling salesman problem), o ryggsekkproblemet (Knapsack problem). Ferdighetsmål Studenten skal kunne: Bruke eksisternde bilblioteker for algoritmer og datastrukturer, Implementere kjente datastrukturer, inkludert o tabell-lister, lenkede lister, o binære søketrær og heaps, o hash-tabeller, o grafer. Implementere kjente algoritmer, inkludert o Insertion sort, selection sort, o Merge sort, Heap sort. Drøfte worst-case ressursbruk for konkrete elementer i dataprogrammer ved hjelp av O-notasjon. Bruke grunnleggende generisk programmering i java. Generelle kompetansemål Studenten skal beherske klassisk asymptotisk analyse av dataprogrammer, kunne bruke eksisterende bibliotek og egenutviklede algoritmer og datastrukturer til å løse praktiske problemer, beherske et språk og begrepsapparat som egner seg for å drøfte ressursbruken til dataprogrammer, ha den kunnskapen om algoritmer og datastrukturer som kreves i videre informatikkstudier. Gjennomføring Forelesninger (ca. 50%) og øvinger (ca. 50%) Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 128 Forberedelse til presentasjon/diskusjon i klassen Øving 24 Vurdering 24 Anbefalt tidsbruk totalt 200 Verktøy Java Development Kit 1.8 Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Emnet skal gi innsikt i algoritmer og datastrukturer som er sentrale i arbeidet med implementasjon og design av effektive datasystemer.

Vurderingstype Innlevering Vurdering To innleveringer underveis i semesteret og skriftlig avsluttende eksamen. Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur Robert Sedgewick, Addison- Algorithms 2011 Kevin Wesley Wayne 978-0- 321-57351- 3 4 Bok Pensum

PG4400 C++ Programmering Emnenivå Bachelor Emnekode PG4400 Emnenavn C++ Programmering Studiepoeng 7,50 Emneansvarlig Tomas Sandnes Tilsynssensor Olve Maudal Godkjenningsdato Hensikt Emnet skal gi studentene kunnskap om fundamentale og avanserte programmeringsbegreper i språket C++. Målet er å videreutvikle studentenes programmeringskunnskaper til det som er nødvendig for å utvikle effektive og komplekse systemer, inklusive spill og interaktive applikasjoner. De vil lære å beherske Microsofts Visual Studio som IDE for C++. Forutsetninger Objektorientert programmering som fra PGR101 (Objektorientert programmering 2), samt C- programmering som fra PG3400 (Programmering i C for Linux). Eventuelt tilsvarende emner. Læringsutbytte Kunnskap Kjenne til referanser og pekere, samt deres relasjon til hverandre. Kjenne til bibliotek for 2D grafikkprogrammering. Kjenne til grunnleggende konsepter i 2D grafikkprogrammering. Kjenne til minneallokering i C++, inklusiv forskjellene på stack og heap. Kjenne til function pointers i C++, samt callback functions og functors. Kjenne til templates og deres bruksområder. Kjenne til ulike revisjoner av C++ og de viktigste forskjellene. Ferdigheter Beherske Visual Studio som C++ programmeringsmiljø (opprette projects, kompilere, linke, kjøre). Beherske debugging i Visual Studio. Programmere med standard I/O (cin, cout). Beherske skriving og lesing til og fra fil med streams. Anvende pekere og referanser. Korrekt anvendelse av minne med new og delete. Korrekt anvendelse av const og mutable. Programmere med containers, algoritmer og iteratorer fra STL. Kunne anvende og utvikle egne templates. Kunne anvende objektorientert programmering i C++ med bruk av klasser, objekter, arv og polymorfi. Programmere med threads og synkroniseringsmekanismer i C++. Kunne anvende smart pointers.

Programmere med operator-overlasting. Håndtere og lage egne exceptions. Kunne inkludere og anvende tredjepartsbiblioteker ved hjelp av macroer i Visual Studio. Beherske enkel 2D grafikkprogrammering. Benytte callback functions. Kunne anvende tid som en faktor under kjøring av et program. Håndtere brukerinput interaktivt i applikasjoner. Utnytte "move semantics" for bedre kode. Benytte tråder, promises og futures til parallell programmering. Generell kompetanse Utvide sin forståelse for hvordan objektorientering og template programming kan benyttes til å skape veldesignede programmer. Forstå poenget med operator-overlasting og bruksområde. Forstå når man skal bruke tredjeparts biblioteker og når en skal utvikle selv. Forstå hvordan parallel programmering er nødvendig for å få optimal ytelse av moderne hardware. Gjennomføring 12 forelesninger med øvinger. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 92 Forberedelse til presentasjon/diskusjon i klassen 0 Øving 24 Vurdering 60 Anbefalt tidsbruk totalt 200 Verktøy Microsofts Visual Studio, med 3. parts biblioteker for ekstra funksjonalitet ved behov. Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Emnet har gitt studentene kunnskap om fundamentale og avanserte programmeringsbegreper i språket C++. Studentenes programmeringskunnskaper er videreutviklet til det som er nødvendig for å utvikle effektive og komplekse systemer, inklusive spill og interaktive applikasjoner. De har lært å beherske Microsofts Visual Studio som IDE for C++. Pensum Lærebok. Ressurser publisert på emnesidene. Vurderingstype Mappevurdering Vurdering 1 innlevering. 1 skriftlig eksamen.

Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur The C++ Bjarne Programming Strostrup Language Addison Wesley 2013 978-0- 321-56384- 2 4 Bok Pensum

PG4500 Game AI Emnenivå Bachelor Emnekode PG4500 Emnenavn Game AI Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Etter fullført emne har studentene fått en innføring i kunstig intelligens for spill: Hvilke byggesteiner som utgjør AI i ulike typer spill, og hvilken teknikk som passer i en bestemt situasjon. Videre har studentene fått praktisk erfaring med å implementere kunstig intelligens. Forutsetninger Erfaring med grunnleggende C# programmering (som C# delen av PG3300 programvarearkitektur, eller liknende). Læringsutbytte Etter å ha fullført emnet skal studenten: Kunnskap: Kjenne til forskjeller og likheter mellom kunstig intelligens (AI) for spill og mer tradisjonelle bruksområder. Vite hva pathfinding er, samt kunne sammenlikne en rekke kjente pathfinding algoritmer. Kjenne til hierarkisk pathfinding. Kjenne til fuzzy logic, og hvordan dette kan brukes i AI sammenheng. Vite hva regelbaserte systemer er, og hvordan de virker. Kjenne til måter AI kan ta taktiske og strategiske avgjørelser på. Vite hvordan vi kan lage koordinert AI for grupper. Kjenne til teknikker for å la AI systemer lære, blant annet ved hjelp av nevrale nettverk. Ferdigheter: Kunne lage og bruke agentbasert AI. Kjenne til steering behaviors, og bruke de vanligeste steering behaviors i praksis. Kunne lage og bruke tilstandsmaskiner, særlig i forbindelse med spill. Kunne implementere riktig AI for spill innen flere sjangere. Kunne programmere A* algoritmen med fler for pathfinding. Kunne scripte AI-oppførsel for spill. Generell Kompetanse: Forstå hvordan AI kan brukes til å gi unike spillopplevelser.

Forstå hvilke AI-teknikker som er riktig å velge, gitt bestemte situasjoner. Gjennomføring Forelesninger, øvinger og egenstudier. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 128 Øving 24 Vurdering 24 Anbefalt tidsbruk totalt 200 Verktøy Visual Studio IDE. Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Etter fullført emne har studentene fått en innføring i kunstig intelligens for spill: Hvilke byggesteiner som utgjør AI i ulike typer spill, og hvilken teknikk som passer i en bestemt situasjon. Videre har studentene fått praktisk erfaring med å implementere kunstig intelligens. Pensum Se litteraturliste. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur Artificial Intelligence for Games Ian Millington & John Funge Morgan Kaufmann 2009 978-0- 12-374731- 0 2nd ed. Bok Pensum

PG5200 Tools programmering Emnenivå Bachelor Emnekode PG5200 Emnenavn Tools programmering Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Målet med faget er å gi studentene innsikt i utfordringer å løsninger for utvikling av verktøy som lar andre profesjoner produsere innhold for spill. Studentene utvikler en enkel leveleditor og andre verktøy som trengs for å utvikle spill og andre multimediaprodukter. Videre vil studentene bli kjent med behovet for stabilitet, feilhåndtering og hurtig reaksjon. Forutsetninger Erfaring med grunnleggende C# programmering (gjennom C# elementene i PG3300 programvarearkitektur, eller tilsvarende) Læringsutbytte Kunnskap: Forstå grunnleggende funksjonalitet i en spillmotor, og hva konseptet toolchain innebærer. Kjenne til forskjellige typer spillmotorer samt forskjellen mellom rene grafikkmotorer og komplette spillmotorer. Forstå hvorfor gode verktøy er essensielle for effektiv produksjon av innhold. Forklare de forskjellige kategoriene av verktøy brukt i spillutvikling inkludert leveleditors, propertyeditor og support tools. Beskrive den viktigste funksjonaliteten i en leveleditor. Kjenne til tredjepartsløsninger for spillverktøy. Kjenne til nettverksprotokoller og hvordan spill kommuniserer over nett. Ferdigheter: Vurdere nytten av å lage utviklingsverktøy selv i forhold til å benytte tredjepartsløsninger. Utvikle kravspesifikasjon for et variert utvalg verktøy. Programmere verktøy i C# med WPF. Implementere essensiell funksjonalitet for en leveleditor. Bruk og håndtering av exceptions for bedret stabilitet.

Unngå tunge operasjoner i GUI-tråd. Kunne legge inn support for scripting i eksisterende kode. Kunne lagre spilltilstand og logge hendelser i en database. Kunne serialisere og deserialisere spilldata. Generell kompetanse: Forstå hvordan en god verktøykjede kan forbedre utviklingseffektiviteten. Reflektere kritisk rundt spillutviklingsprosessen og de nødvendige krav. Gjennomføring 12 forelseninger med øvinger Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 122 Forberedelse til presentasjon/diskusjon i klassen 0 Øving 24 Vurdering 30 Anbefalt tidsbruk totalt 200 Verktøy Microsoft visual studio C# Spillmotor Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Studenten har fått innsikt i utfordringer å løsninger for utvikling av verktøy som lar andre profesjoner produsere innhold for spill. Studenten har utviklet en enkel leveleditor og andre verktøy som trengs for å utvikle spill og andre multimediaprodukter. Videre er studenten kjent med behovet for stabilitet, feilhåndtering og hurtig reaksjon. Vurderingstype Innlevering Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur Professional C# 2012 and.net 4.5 Nagel, Evjen, Glynn, Watson, Skinner Wrox Press 2012 978-1- 118-31442- 5 1st edition Bok Pensum

PG5500 Embedded systems Emnenivå Bachelor Emnekode PG5500 Emnenavn Embedded systems Studiepoeng 7,50 Emneansvarlig Tomas Sandnes Godkjenningsdato Hensikt Hensikten med dette emnet er å gi kunnskap i og om bruken av embedded systems med tilhørende arkitektur. Emnet skal også gi kunnskap om grunnleggende hardwarekomponenter og Arduino. Emnet skal gi studentene ferdigheter i å programmere applikasjoner som kommuniserer med I/O enheter tilknyttet mikrokontrollere. Studenten skal ha kompetanse i bruksområder og praktiske anvendelser for embedded systems. Forutsetninger Gode ferdigheter i programmering (minimum tilsvarende 3. semester bachelor IT). Læringsutbytte Kunnskap: Forstå uttrykket "embedded systems" og kjenne til forskjellen mellom en CPU og en microcontroller. Kjenne til de mest brukte arkitekturene for embedded systems. Ha kunnskap om hardwaren i Raspberry Pi, og hvordan den brukes. Ha kunnskap Arduino og hvordan 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 digitale eksterne sensorer. (Eks: lys, temperatur, 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 systems virker i grensesnittet mellom elektronikk og program (eeprom, interrupts, minnehåndtering). Kunne designe enkle 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øsninger 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 I/O enheter tilknyttet mikrokontrollere. Studenten skal ha kompetanse i bruksområder og praktiske anvendelser for embedded systems. Pensum Dette emnet benytter ikke pensumbok. Studentene får et komponent-sett som betales etter studiestart (faktura på kroner 1000,-). Komponent-settet beholdes av studenten etter at emnet er fullført. Vurderingstype Innlevering

PG5600 ios programmering Emnenivå Bachelor Emnekode PG5600 Emnenavn ios programmering Studiepoeng 7,50 Godkjenningsdato Hensikt Emnet har til hensikt å gi en innføring i programmering i Swift 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 (2.kl bacehlor, eller tilsvarende innføring i objektorientert programmering). Læringsutbytte Kunnskap: Etter å ha fullført emnet skal studenten: Ferdighet o ha kunnskap om arkitekturen til ios-plattformen o kunne beskrive livsløpet til en ios-applikasjon med tekst og tegning o kjenne til prosessen for distribuering av applikasjoner o ha kjennskap om hvordan applikasjoner kompileres på ios o kunne beskrive MVC, observable og delegate-patternet i kontekst av ios med tekst og tegning Etter å ha fullført emnet skal studenten kunne: programmere grunnleggende Swift, herunder: o datatyper bruk av foundationklasser kontrollstrukturer bruk av objektorientering bruk av protokoller bruk av extensions bruk av closures feilhåndtering o bruke ios APIet aktivt under programmering av applikasjoner o anvende de vanligste GUI komponentene til å produsere brukergrensesnitt o anvende storyboards o skrive automatiserte tester o benytte seg av grunnleggende animasjoner o serialisere, deserialisere og persistere data o kunne programmere mot internettbaserte tjenester

o o gjøre rede for og implementere asynkron arkitektur 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 Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 110 Forberedelse til presentasjon/diskusjon i klassen 0 Øving 24 Vurdering 42 Anbefalt tidsbruk totalt 200 Verktøy ios SDK (inkl Xcode) ios Karakterskala Letter grades A-E for passed and F for failure Vitnemålstekst Emnet har gitt studenten ferdigheter i å programmere Swift og mobile applikasjoner på iosplattformen. Det er lagt vekt på grensesnittprogrammering, arkitektur, asynkronitet og kommunikasjon med internettbaserte tjenester. Vurderingstype Innlevering Litteraturliste: Tittel Forfatt er Forla g Utgit t år ISB N Utgav e Kommentar Typ e Litterat ur The Swift Programmi ng Language Apple Inc. Apple Inc 2015 Tilgjengelig gratis fra https://itunes.apple.com/us/book /swift-programminglanguage/id1002622538?mt=11 Bok Pensum

PG6200 Grafikkprogrammering Emnenivå Bachelor Emnekode PG6200 Emnenavn Grafikkprogrammering Studiepoeng 7,50 Emneansvarlig Martin Lilleeng Sætra Tilsynssensor N/A Godkjenningsdato Hensikt Hensikten med dette emne er å gi en god oversikt over hvordan grafikk programmeres med C++ og moderne OpenGL, samt de sentrale teknikker og metoder som brukes. Emnet skal videre gi innsikt i avanserte metoder for grafikk og rendering (multipass-algoritmer, avansert lyssetting og skygger, mm.), blant annet ved bruk av nettopp OpenGL og OpenGL Shading Language. Videre lærer man om effektiv representasjon og behandling av geometri. Forutsetninger PG1100 og PG2100 eller tilsvarende grunnleggende programmeringskunnskap PG4400 C++ Programmering RF5100 Lineær algebra RF3100 Matematikk og fysikk Elller tilsvarende Læringsutbytte Kunnskapsmål Studenten skal få kunnskap om blant annet: Representasjon av geometri, farger, lysegenskaper og materialegenskaper, buffer objects, framebuffer objects, multipass-algoritmer, per-pixel lyssetting, blending, teksturering, skygger, cube maps, normal-mapping og subdivisjon. Ferdighetsmål Studenten skal blant annet: arbeide med geometriske transformasjoner,