studieplan
Transcription
studieplan
10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Bachelor IT Spillprogrammering 2013 2014 Innhold Dataspillbransjen har blitt en stor, internasjonal industri. Blant de best utdannede ansatte er programmererne. Disse har likevel sjelden en skreddersydd utdannelse for produksjon av spill. Samtidig bruker flere og flere tradisjonelle industrier spill og spillrelatert teknologi. Profesjonelle spill lages av grupper med variert størrelse, men noen roller er alltid med. Spillprogrammereren utvikler ny funksjonalitet og systemer i et spill. Forbedrete grafiske effekter, bedre kunstig intelligens og mer realistisk fysikk er oppgaver som programmereren typisk har ansvaret for. Et annet viktig arbeidsområde for spillprogrammerere er verktøy som andre utviklere bruker for å lage innhold i spillet. Med fokus på sanntids grafikksimuleringer har spillprogrammereren god innsikt i teoriene og teknologiene som brukes. På Spillprogrammererstudiet vil studentene lære å realisere spennende og realistiske spillopplevelser. De får grundig opplæring i C++, så vel som andre programmeringsspråk som benyttes i profesjonell spillutvikling. Studentene lærere å integrere eksisterende teknologier til nye spill. Studiet er 3årig, og gir tittelen bachelor i IT. 1. Det første året er felles, og gir en solid grunnkompetanse i programmering, prosjektarbeid, systemutvikling, datateknikk og databaser. 2. Det andre året gir en grundig opplæring i programmeringsspråket C++, som et mye brukt språk for utvikling av store, moderne spill. C++ gir også en fin komplementering til Java som studentene lærer i første studieår: de behersker nå to utbredte programmeringsspråk. Forløperen til C++ er fortsatt i vid bruk, og studentene lærer C som en introduksjon til C++. Ved siden av C/C++ lærer studentene matematikk og fysikk, med fokus på temaer som er relevante for spill og grafikkprogrammering. Som spesialiseringsemne innen spill lærer de Game AI (kunstig intelligens med fokus på spillbruk). Programmering involverer mer enn bare programmeringspråk, og studentene vil få et kurs i programmvareakritektur som gir innsikt i bredere problemstillinger samt et emne innen algoritmer og datastrukturer, som forbedrer studentenes evne til å skrive ytelseseffektiv kode. 3. I det tredje året vil studentene jobbe med 3D grafikk, så vel som det mattematiske grunnlaget for dette. Verktøyene studentne bruker er C++ og 3D systemet OpenGL. Studentene har også valgfag dette året, der de kan velge emner som gir de spisskompetanse innen spillindustrien eller som gir de breddekunnskap innen programmering generelt. I det avsluttende semesteret gjennomfører studentene et hovedprosjekt der de løser en krevende oppgave knyttet til spill og/eller grafikkprogrammering, i nærkontakt med en privat eller offentlig virksomhet. X. Studiet har i tillegg noen fellesemner som står sentralt i bachelor IT utdanningen. Disse emnene er Teknologi og Organisasjonen og Undersøkelsesmetoder. Navn Bachelor IT Spillprogrammering 2013 2014 Programmatrise + introduksjon Spillprogrammering: Utdanne programmerere som kan utvikle spill og tunge matematikk /grafikkprogrammer Mål med studiet Etter endt studie skal studentene være i stand til å fylle et vidt spekter av programmeringsroller i norsk og internasjonalt næringsliv. De skal være høyaktuelle for spillindustrien, men de skal også være aktuelle som programutviklere innen C++ og Java generelt, spesielt i miljøer der visuelle virkemidler og multimedia benyttes samt tidskritiske applikasjoner. Sentrale emner Bachelor studium IT med fordypning i Spillprogrammering har følgende fokus: Ved siden av vanlig programmererkunnskap som software engineering og algoritmer/datastrukturer tilpasset bruksområdet, fordrer dette kjennskap til mer spesialiserte fagområder og forskningsfelt som lineær algebra og spesielle geometriske teknikker, nummeriske tilnærminger til klassisk mekanikk, optimalisering av grafisk programvare og kunstig intelligens. Jobbmuligheter Generelt vil studiet gi kompetanse til å gå inn i følgende roller: Spillprogrammerer: S om spillprogrammerer jobber man daglig med å utvikle verktøy til dataspillbransjen og/eller kjernefunksjonalitet for dataspillene. Dette er en rolle som ligger svært tett opp til studiet. Man jobber i et ungt, spennende og hektisk miljø. Systemprogrammerer: Mange firmaer lager programmer som krever mange av de samme egenskapene som spillprogrammering. Simuleringer, kontrollsystemer og andre tidsfølsome applikasjoner pruker mange av de samme teknikkene. Dette betyr at spillprogrammereren kan jobbe for et vidt spekter av bransjer. ITkonsulent: S om ITkonsulent får man gjerne muligheten til å oppleve flere forskjellige arbeidsplasser, da man leies ut på prosjektbasis. Det er en variert hverdag der man kan dra nytte av enkelte emner man har http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 1/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 ITledelse Forkunnskaper Studiet krever generell studiekompetanse med matematikkfordypning R1 eller S1 + S2 (2MX eller 2MZ + 3MZ ) for å ta Bachelor IT: Spillprogrammering. Undervisningsmåte Studiet benytter en rekke undervisningsformer for å legge til rette for læring hos studentene. Forelesninger, presentasjoner, arbeidsmøte og øvinger brukes for å introdusere nye begreper og sammenhenger, samt innøve ferdigheter og forståelse. Arbeid med fagstoff foregår både individuelt og i gruppe, med vekt på samhandling for å oppnå et godt læringsutbytte. Studiet har prosjektarbeid alle semestre for å i praksis anvende ferdigheter og forståelse til å løse mer komplekse problemstillinger. I andre og tredje studieår er problemstillingene sterkt knyttet til det enkelte studieprogrammets egenart. Studiet avsluttes med et hovedprosjekt i bedrift, hvor studentene vil anvende alle sine kompetanser opparbeidet gjennom studiet for å løse et problem/oppgave som har verdi for oppdragsgiver. Spillprogrammering 2013 2014 Emnekode DB1100 PG1100 PJ1100 TK1100 TK2100 PG2100 PJ2100 PG3300 PG3400 RF3100 PJ3100 PG4200 PG4400 PG4500 BU5100 PG5200 RF5100 PG6200 PJ6000 PJ6100 Emnets navn Databaser 1 Programmering 1 Kreativt webprosjekt Digital teknologi Informasjonssikkerhet Programmering 2 Iterativt webprosjekt Programvarearkitektur Programmering i C for Linux Matematikk og fysikk Prosjekt Software Engineering Algoritmer og datastrukturer C++ Programmering Game AI Entreprenørskap Tools programmering Lineær algebra Grafikkprogrammering Hovedprosjekt Undersøkelsesmetoder S.poeng O/V *) 7,50 7,50 7,50 7,50 7,50 7,50 7,50 7,50 7,50 7,50 15,00 7,50 7,50 7,50 7,50 7,50 7,50 7,50 15,00 7,50 Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 7,5 O 7,5 O 7.5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 15 O 7,5 Sum: 30 22,5 30 30 22,5 30 *) O Obligatorisk emne, V Valgbare emne Spillprogrammering, valgemner 1.klasse Emnekode Emnets navn DS2100 Animasjon DS2200 Digital kultur S.poeng O/V *) 7,50 7,50 Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) V 7,5 V 7,5 Sum: 0 7,5 0 0 0 0 *) O Obligatorisk emne, V Valgbare emne Spillprogrammering Valgemner 3.klasse 2013 2014 Emnekode Emnets navn PG5500 Embedded systems PJ5100 Game Development S.poeng O/V *) 7,50 7,50 V V Sum: http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) 7,5 7,5 0 0 0 0 7,5 0 2/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO *) O Obligatorisk emne, V Valgbare emne BU5100 Entreprenørskap Emnenivå Bachelor Emnekode BU5100 Emnenavn Entreprenørskap Studiepoeng 7,50 Emneansvarlig Eivind Brevik Tilsynssensor Magne Johannessen Godkjenningsdato 03.05.2013 Hensikt Hensikten med emnet er å gi forståelse for hva innovasjon og entreprenørskap er og kunne utvikle ferdigheter for å fremme ideer og realisere disse. Kurset er orientert mot praktisk anvendelse av teknikk og metoder, med utarbeidelse av forretningsplan som bærende element. Etter fullført emne skal studenten ha tilstrekkelig innsikt og kompetanse til å kunne delta i og drive en slik prosess med utvikling av forretningsplan for å etablere et nytt firma eller forretningsområde. Forutsetninger Ingen Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: Kunne definere innovasjon og entreprenørskap Kjenne til betydningen av innovasjon og entreprenørskap for individ, organisasjoner og samfunn Kjenne til de markedsmessige og organisatoriske konsekvenser for innovasjon og entreprenørskap Ha forståelse for immaterielle rettigheter Ferdigheter Etter å ha fullført emnet skal studenten: Kunne utvikle planer for innovasjon og entreprenørskap, fra idé til implementering og drift Kunne evaluere, velge og selge inn egne prosjekter for egnet målgruppe Generell kompetanse Etter å ha fullført emnet skal studenten: Kunne reflektere over innovasjon og entreprenørskap i et videre perspektiv Ha kunnskap om og forståelse for hvordan ideer aksepteres og spres i et sosialt system Gjennomføring Forelesninger og øvinger Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure Tidsbruk 25 80 5 20 70 200 Vitnemålstekst Emnet har gitt studenten forståelse for hva innovasjon og entreprenørskap er, og ferdigheter med å fremme ideer og realisere disse. Kurset er orientert mot praktisk anvendelse av teknikk og metoder, med http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 3/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO utarbeidelse av forretningsplan som bærende element. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Utgitt år Business Model Generation: A Handbook for Osterwalder, Visionaries, A., Peigner, Wiley 2010 Game Y. Changers, and Challengers The Lean Startup: How Today's Entrepreneurs Use Crown Continuous Ries, Eric 2011 Business Innovation to Create Radically Successful Businesses ISBN Utgave Kommentar Type Litteratur 9780470876411 1 Bok Pensum 9780670921607 1 Bok Pensum DB1100 Databaser 1 Emnenivå Bachelor Emnekode DB1100 Emnenavn Databaser 1 Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Bjørn Kristoffersen Godkjenningsdato 18.04.2013 Hensikt Etter fullført Databaser 1 skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende prinsippene for god design (normalisering, nøkkelbruk). Forutsetninger Generell studiekompetanse Læringsutbytte Etter å ha fullført emnet skal studenten kunne: Kunnskap: http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 4/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO definere og forklare forskjellen på data, struktur og presentasjon forklare komponentene som inngår i et RDBMS definere hva ACIDegenskapene 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 supernø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 EARmodell fra kravspesifikasjonen til ferdig database, tegne en EARmodell med korrekt notasjon og kardinalitet bruke SQL for å utføre CRUDoperasjoner på databasen bruke SELECTspørringer med opsjoner til å hente rapport fra en enkelt tabell kombinere og hente rapporter fra flere tabeller ved bruk av JOINklausuler 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. 1015 tabeller og 510 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 AE for passed and F for failure Vitnemålstekst Etter å ha fullført emnet skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende prinsippene for god design (normalisering, nøkkelbruk), og utføre grunnleggende administrative oppgaver. Vurderingstype Skriftlig Vurdering Flervalgseksamen (25%) Skriftlig eksamen (75%) Litteraturliste: Tittel Forfatter Forlag Database Systems. A Practical Thomas Utgitt år ISBN Utgave Kommentar Type Litteratur ISBN10: http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 5/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Approach to Connolly Addison 2014 Design, & Begg, Wesley Implementation, Carolyn and Management 0132943263 6. ISBN13: 978 0132943260 Bok Pensum DS2100 Animasjon Emnenivå Bachelor Emnekode DS2100 Emnenavn Animasjon Studiepoeng 7,50 Emneansvarlig Hrafnhildur Jonasdottir Tilsynssensor Bård R.Gunnerud Godkjenningsdato 30.05.2012 Hensikt I dagens samfunn er det stadig en utvikling i teknologi, applikasjoner og teknikker. Animasjon knytter tradisjonelle teknikker som historiefortelling, tegning og konstruksjon sammen med ny teknologi innenfor kanaler som reklame, spill, film, mobiltelefoni, kunst, internett osv. Animasjon hjelper oss å kommunisere og visualisere våre budskap gjennom disse kanalene og spiller en stor rolle i utdanning, underholdning, industri og kunst. I løpet av emnet vil studenten ha tilegnet seg kunnskap og ferdigheter til å lage en kort animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et gitt budskap gjennom visuelle grep. Studenten skal kunne vise til kreativ og kritisk tenkning knyttet til animasjon. Læringsutbytte Kunnskaper Etter fullført emne skal studenten kunne: o forklare virkemåten til, og produksjonsmåten for, ulike animasjonsteknikker og –uttrykk o beskrive rollen til manus, storyboard, lyd og etterarbeid i produksjon av (egen) animasjonsfilm o gjengi og benytte regler og teori innenfor filmkunnskap og dramaturgi til å analysere animasjonsfilm o beskrive de spesifikke visuelle virkemidlene som benyttes i animasjonskultur Ferdigheter Etter fullført emne skal studenten kunne: o demonstrere ferdigheter innenfor tegning, fotografering, lyd og filmredigering gjennom å kunne skape en enkel animasjonsfilm fra ide til ferdig produkt o demonstrere ulike teknikker for å lage en animasjonsfilm o utvikle et eget animasjonsuttrykk o benytte ulike digitale verktøy og filformater til å produsere, publisere og distribuere animasjoner. Generell kompetanse Etter fullført emne skal studenten kunne: o demonstrere kreativ og kritisk tenkning og kommunikasjonsevner gjennom animasjonsteknikker Gjennomføring Gjennomføringen av emnet er basert på kombinasjon av forelesning, prosjektarbeid, og individuell skriftlig prøve Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Tidsbruk 48 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 6/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure 60 12 40 40 200 Vitnemålstekst Studenten skal ha tilegnet seg tilstrekkelig kunnskap og ferdigheter til å lage en kort animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et gitt budskap gjennom visuelle grep. Studenten skal kunne vise til kreativ og kritisk tenkning knyttet til animasjon. Pensum publiseres på emnesiden i It's Learning Vurderingstype Innlevering Vurdering Mappevurdering (se emnesiden) Litteraturliste: Tittel Forfatter Forlag Utgitt år Ideas for the Karen Animated Sullivan, Short: Kate Elsevier 2013 Finding Alexander and og Gary Building Schumer Stories ISBN Utgave Kommentar Type 9780240818726 2. utg Bok Litteratur Pensum DS2200 Digital kultur Emnenivå Bachelor Emnekode DS2200 Emnenavn Digital kultur Studiepoeng 7,50 Emneansvarlig Faltin Karlsen Tilsynssensor Anders Fagerjord, UiO Godkjenningsdato 08.05.2013 Hensikt Internett har stor innflytelse på hvordan vi kommuniserer og våre liv, både privat og i kommersielle sammenhenger. Innen mange bransjer har Internett bidratt til å bryte ned skillet mellom produsent og tjenesteyter på den ene siden, og brukere og konsumenter på den andre. I dag påvirker brukerne ofte direkte hvordan nye produkter, tekster og tjenester utformes. Samtidig gir Internett helt nye muligheter for å overvåke brukernes adferd og å styre tilgang til informasjon, i tillegg til at skillet mellom privat og offentlig blir mye mer uklart og det blir enklere for flere å delta som aktive brukere. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 7/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 AE 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 Universitetsforlaget 2011 (4. utg) ISBN 9788215017921 Detaljert oversikt over hvilke kapitler som skal være med vil oppgis før oppstart. Vurderingstype Innlevering Vurdering http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 8/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO I semesteret må det leveres to kvalifikasjonsoppgaver. I forbindelse med siste innlevering må man også delta på en muntlig eksamen. Litteraturliste: Tittel Forfatter Forlag Utgitt år Mediekultur, Gripsrud, Universitetsforlaget 2011 mediesamfunn Jostein ISBN Utgave Kommentar Type 9788215017921 4. utg Bok Litteratur Pensum PG1100 Programmering 1 Emnenivå Bachelor Emnekode PG1100 Emnenavn Programmering 1 Studiepoeng 7,50 Emneansvarlig Stein Marthinsen Tilsynssensor Morten AndersenGott 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 ITutdanningen. Emnet skal gi en første innføring i programmering og utvikling av algoritmer for å løse ulike problemer. Forutsetninger Emnet krever ingen konkrete faglige forutsetninger utover generell studiekompetanse og god kjennskap til bruk av en PC. Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet og evne til logisk tenking. Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten vite hva et programmeringsspråk er, og hvordan slike skiller seg fra naturlige språk vite forskjellen på interpreterte og kompilerte språk kjenne til forskjellene på hendelsesdrevne og rent sekvensielle programmer Ferdigheter Etter å ha fullført emnet skal studenten kunne · bruke et API · lage enkle programmer som bl.a. gjør bruk av o variabler o tilordning http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 9/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO o ulike datatyper o aritmetiske og logiske uttrykk · lage enkle programmer som anvender kontrollstrukturene o valg o løkke · lage enkle programmer med fokus på utvikling av algoritmer · lage enkle programmer som skriver til og leser fra tekstfiler · deklarere og bruke statiske tabeller (arrays) · beherske et enkelt integrert utviklingsverktøy (IDE) · kunne skrive og redigere kildekode med dette verktøyet · kunne kjøre programmer med dette verktøyet · kunne bruke de grunnleggende elementene i et programmeringsspråk til å lage programmer · kunne tolke og forholde seg til feilmeldinger og rette kildekode ut fra disse Generell kompetanse Etter å ha fullført emnet skal studenten kunne · vurdere passende strategi for løsing av et problem · diskutere problemløsningsmetoder med medstudenter · gjøre rede for tankegang for egne løsninger Gjennomføring Forelesninger, øvinger med veileder, innleveringer og skriftlig vurdering. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy Tidsbruk 24 110 36 30 200 · Java 1.6 · JCreator/DrJava Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt en introduksjon i programmering med vekt på utvikling av algoritmer for å løse enkle problemer. Studenten kan deklarere og anvende ulike datatyper og gjøre bruk av kontrollstrukturene valg og løkke. Studenten kan også gjøre bruk av tabeller (arrays) etter behov. Vurderingstype Mappevurdering Vurdering Mappe bestående av innleveringer og avsluttende skriftlig vurdering. Litteraturliste: Tittel Forfatter Forlag Utgitt år Building Stuart Java Addison Reges/Marty 2013 Programs Wesley Stepp ISBN Utgave Kommentar Type 978 3. utg 0133360905 Bok Litteratur Pensum PG2100 Programmering 2 Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 10/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Bachelor Emnekode PG2100 Emnenavn Programmering 2 Studiepoeng 7,50 Emneansvarlig Stein Marthinsen Tilsynssensor Morten AndersenGott 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 Collectionklasse (ArrayList). Forutsetninger PG1100 Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: · vite hva arv er · vite hva polymorfi er · vite om likheter/forskjeller mellom abstrakte klasser og interfacees · vite hvordan mekanismen for hendelseshåndtering fungerer Ferdigheter Etter å ha fullført emnet skal studenten kunne: · definere klasser, og kunne beherske bruk av objekter · beherske ulike UMLdiagramtyper 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 ArrayListklassen til å opprette og bruke en dynamisk datastruktur Generell kompetanse Etter å ha fullført emnet skal studenten kunne: · beherske et enkelt integrert utviklingsverktøy (IDE) · skrive og redigere kildekode med dette verktøyet · kjøre programmer med dette verktøyet · bruke de grunnleggende elementene i dette språket til å lage programmer · bruke en debugger for å finne feil Gjennomføring Forelesninger, øvinger, innleveringer og skriftlig vurdering. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Tidsbruk 24 128 24 24 200 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 11/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Verktøy · Java JDK 1.6 eller nyere · IDE Karakterskala Letter grades AE 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 Collectionklasse til å implementere en dynamisk datastruktur. Vurderingstype Mappevurdering Vurdering Mappe bestående av innleveringer og skriftlig prøve. Litteraturliste: Tittel Forfatter Forlag Building Stuart Java Reges/Marty Programs Stepp Utgitt år ISBN 2013 978 3. utg 0133360905 Utgave Kommentar Type Bok Litteratur Pensum PG3300 Programvarearkitektur Emnenivå Bachelor Emnekode PG3300 Emnenavn Programvarearkitektur Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Alf Inge Wang Godkjenningsdato Hensikt Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med kjente teknikker for modellering, testing og implementasjon. Forutsetninger Erfaring med grunnleggende objektorietert programmering. Læringsutbytte Etter å ha fullført emnet skal studenten kunne: Kunnskap: Vite bakgrunn og innhold for UML standarden. Kjenne til konsepter for versjonskontroll. Vite hva Unit Testing er. Forklare prinsippene for testdriven development (TDD). Vite hva design patterns er. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 12/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Kjenne til og kunne identifisere en del viktige design patterns når de ser de i kode. Vite hva refactoring er. Vite hva multithreading 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 UMLdiagrammene: 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 multithreading 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 AE for passed and F for failure Vitnemålstekst Kurset skal gjøre studentene i stand til å designe og videreutvikle større programvaresystemer i tråd med kjente teknikker for modellering, testing og implementasjon. Pensum Lærebok (se "Litteraturliste", under) samt forelesningsmaterialet og nødvendige hjelpemidler for å gjennomføre øvingsopplegget. Vurderingstype Innlevering Vurdering 2 innleveringer og 1 muntlig prøve (se "Vurdering / Assessment", under). Litteraturliste: Tittel Forfatter Forlag Utgitt år Applying Craig Prentice UML and 2004 Larman Hall Patterns ISBN Utgave Kommentar Type 978 3rd ed. 0131489066 Bok Litteratur Pensum PG3400 Programmering i C for Linux http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 13/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Emnenivå Bachelor Emnekode PG3400 Emnenavn Programmering i C for Linux Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Emnet gir innføring i programmeringspråket C og hvordan dette kan brukes til å interaktere direkte med operativstytemet. Det skal også gi forståelse av operativsystemet Linux og kunnskap om hvordan dette virker. Forutsetninger Grunnleggende programmeringskunnskap (PG2100 Programmering 2 eller tilsvarende) samt grunnleggende digital teknologi (TK1100 Digital teknologi eller tilsvarende). Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: Kjenne til operativsystemene Unix og Linux: bakgrunn og historie overordnet arkitektur og oppbygning Kjenne til utviklingen av og bruksområdet for programmerinspråket «C» Forstå hva «viritualisering» er Kjenne til byggeprosessen i C inkludert: compile link Forklare konseptet «everything is a file» og kjenne til eksempler inkludert: devices procfs Forstå hva et «filsystem» er og hva det brukes til Forstå konseptene bak brukere og permissions i Linux Kjenne til forskjellen på userspace og kernelspace og hvordan bruke systemkall og signaler Kjenne til minneområdene «stack» og «heap» og forklare forskjellen Kjenne til konseptet "buffer owerflow" og hvorfor det er farlig. Ferdigheter Etter å ha fullført emnet skal studenten: Bruke grunnleggende konstuksjoner i programmeringspråket «C» inkludert: main, basic types, printf, scanf, strings, #include, enum, typedef, struct, union, command line parameters, macros, varargs Statisk minnehåndtering Utvikle programmer under paradigmet «strukturert programmering» Anvende dynamisk minnehåndtering inkludert: malloc, free, pointers, memcpy, sprintf, arrays, sizeof Lese og skrive enkeltbits og grupper av bits in en større datastruktur. Generere kjørbare filer fra Ckode makefile static libraries Implementere lesing og skriving til fil r/w modes seek buffer size Operere kommandolinjen i linux for å utføre viktige operasjoner inkludert: ls, cd, mkdir, rm, cp, chmod, chown, pwd, ps, kill, man, wget pipes, redirection starte programmer mounting av filsystemer Lage programmer som unngår buffer overflow. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 14/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 AE for passed and F for failure Vitnemålstekst Etter å ha gjennomført emnet skal studentene kunne bruke operativsystemet Linux. De skal også være i stand til å programmere i programmeringspråket «C». Pensum Pensum skal være egnet til å sikre kandidatenes kompetanse i relasjon til læringsutbyttene for emnet. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Utgitt år Kochan, Programming Sams Stephen 2004 in C publishing G ISBN Utgave Kommentar Type 9780672326660 3. utg Bok Litteratur Pensum PG4200 Algoritmer og datastrukturer Emnenivå Bachelor Emnekode PG4200 Emnenavn Algoritmer og datastrukturer Studiepoeng 7,50 Emneansvarlig Lars Sydnes Tilsynssensor Magnus Lie Hetland, NTNU http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 15/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 worstcase 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, Btrær, AVLtrær, RedBlacktrær. Hashtabeller og Hashavbildninger. 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 Hashtabeller. Sorteringsalgoritmer: Insertion sort, Selection sort, Bubble sort, Quicksort, Merge sort, Heap sort, Radix sort. Enkelte grafalgoritmer, 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 Onotasjon, NPkompletthet 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 tabelllister, lenkede lister, binære søketrær og heaps, hashtabeller, grafer. Implementere kjente algoritmer, inkludert Insertion sort, selection sort, Merge sort, Heap sort. Drøfte worstcase ressursbruk for konkrete elementer i dataprogrammer ved hjelp av Onotasjon. Bruke grunnleggende generisk programmering i java. Generelle kompetansemål Studenten skal beherske klassisk asymptotisk analyse av dataprogrammer, kunne bruke eksisterende bibliotek og egenutviklede algoritmer og datastrukturer til å løse praktiske problemer, beherske et språk og begrepsapparat som egner seg for å drøfte ressursbruken til dataprogrammer, ha den kunnskapen om algoritmer og datastrukturer som kreves i videre informatikkstudier. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 16/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 AE for passed and F for failure Vitnemålstekst Emnet skal gi innsikt i algoritmer og datastrukturer som er sentrale i arbeidet med implementasjon og design av effektive datasystemer. Vurderingstype Innlevering Vurdering To innleveringer underveis i semesteret og skriftlig avsluttende eksamen. Litteraturliste: Tittel Forfatter Forlag Utgitt år Robert Sedgewick, Addison Algorithms 2011 Kevin Wesley Wayne ISBN Utgave Kommentar Type Litteratur 9780 321 57351 3 4 Pensum Bok PG4400 C++ Programmering Emnenivå Bachelor Emnekode PG4400 Emnenavn C++ Programmering Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Tilsynssensor Olve Maudal Godkjenningsdato Hensikt Emnet skal gi studentene kunnskap om fundamentale og avanserte programmeringsbegreper i språket C++. Målet er å videreutvikle studentenes programmeringskunnskaper til det som er nødvendig for å utvikle effektive og komplekse systemer, inklusive spill og interaktive applikasjoner. De vil lære å beherske Microsoft Visual Studio som IDE for C++. Forutsetninger Objektorientert programmering som fra PG2100 (Programmering 2), samt Cprogrammering som fra http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 17/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO PG3400 (Programmering i C for Linux). Eventuelt tilsvarende emner. Læringsutbytte Kunnskap Kjenne til referanser og pekere, samt deres relasjon til hverandre. Kjenne til et bibliotek for 2D grafikkprogrammering. Kjenne til grunnleggende konsepter i 2D grafikkprogrammering. Kjenne til minneallokering i C++ inklusiv forskjellene på stack og heap. Kjenne til erstatninger for function pointers i C++, som callback functions og functors. Kjenne til templates og deres bruksområder. Kjenne til ulike revisjoner av C++ og de viktigste forskjellene. Kjenne til hvordan kompilatoren utnytter CPU, minne og cache. Ferdigheter Beherske Visual Studio som C++ programmeringsmiljø (opprette projects, kompilere, linke, kjøre). Beherske debugging i Visual Studio. Programmere med standard IO (cin, cout). Beherske skriving og lesing til og fra fil med streams. Anvende pekere og referanser. Korrekt anvendelse av minne ved new og delete. Korrekt anvendelse av const og mutable. Programmere med containers, algoritmer og iteratorer fra STL. Kunne anvende og utvikle egne templates. Kunne anvende objektorientert programmering i C++ med bruk av klasser, objekter, arv og polymorfi. Programmere med threads og synkroniseringsmekanismer i C++. Anvende smart pointers for å forenkle minnehåndtering. Programmere med operatoroverlasting. Håndtere og lage egne exceptions. Kunne inkludere og anvende tredjepartsbiblioteker ved hjelp av macroer i Visual Studio. Beherske enkel 2D grafikkprogrammering. Benytte callback functions. Kunne anvende tid som en faktor under kjøring av et program. Håndtere brukerinput interaktivt i applikasjoner. Utnytte "move semantics" for bedre kode. Benytte tråder, promises og futures til paralell programmering. Generell kompetanse Utvide sin forståelse for hvordan objektorientering og template programming kan benyttes til å skape veldesignede programmer. Forstå poenget med operatoroverlasting og bruksområde. Forstå når man skal bruke tredjeparts biblioteker og når en skal utvikle selv. Forstå hvordan parallel programmering er nødvendig for å få optimal ytelse av moderne hardware. Gjennomføring Forelesninger og øvinger, til sammen 4 timer/uke. Kurset gjennomføres med 12 forelesninger a ca 2 timer og 12 lærerstyrte øvinger a ca 2 timer. Øvingene er ikke obligatoriske, men for å oppnå kompetansemålene forventes det at studentene fullfører øvingsoppgavene på egenhånd der øvingstimene ikke strekker til. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 92 Forberedelse til presentasjon/diskusjon i klassen 0 Øving 24 Vurdering 60 Anbefalt tidsbruk totalt 200 Verktøy Microsoft Visual Studio med 3. parts biblioteker for ekstra funksjonalitet. Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt studentene kunnskap om fundamentale og avanserte programmeringsbegreper i språket C++. Studentenes programmeringskunnskaper er videreutviklet til det som er nødvendig for å utvikle effektive og komplekse systemer, inklusive spill og interaktive applikasjoner. De har lært å beherske Microsoft Visual Studio som IDE for C++. Pensum Se litteraturliste, under. Pensum dekkes i tillegg av forelesningsmaterialet og nødvendige hjelpemidler for å http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 18/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO gjennomføre øvingsopplegget. Materiellet gjøres tilgjengelig for studentene fortløpende gjennom kurset. Vurderingstype Mappevurdering Vurdering 2 innleveringer Skriftlig eksamen Litteraturliste: Tittel Forfatter Forlag Utgitt år The C++ Bjarne Addison Programming 2013 Strostrup Wesley Language ISBN Utgave Kommentar Type Litteratur 9780 321 56384 2 4 Pensum Bok PG4500 Game AI Emnenivå Bachelor Emnekode PG4500 Emnenavn Game AI Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Etter fullført emne har studentene fått en innføring i kunstig intelligens for spill: Hvilke byggesteiner som utgjør AI i ulike typer spill, og hvilken teknikk som passer i en bestemt situasjon. Videre har studentene fått praktisk erfaring med å implementere kunstig intelligens. Forutsetninger Erfaring med grunnleggende C# programmering (som C# delen av PG3300 programvarearkitektur, eller liknende). Læringsutbytte Etter å ha fullført emnet skal studenten: Kunnskap: Kjenne til forskjeller og likheter mellom kunstig intelligens (AI) for spill og mer tradisjonelle bruksområder. Vite hva pathfinding er, samt kunne sammenlikne en rekke kjente pathfinding algoritmer. Kjenne til hierarkisk pathfinding. Kjenne til fuzzy logic, og hvordan dette kan brukes i AI sammenheng. Vite hva regelbaserte systemer er, og hvordan de virker. Kjenne til måter AI kan ta taktiske og strategiske avgjørelser på. Vite hvordan vi kan lage koordinert AI for grupper. Kjenne til teknikker for å la AI systemer lære, blant annet ved hjelp av nevrale nettverk. Ferdigheter: Kunne lage og bruke agentbasert AI. Kjenne til steering behaviors, og bruke de vanligeste steering behaviors i praksis. Kunne lage og bruke tilstandsmaskiner, særlig i forbindelse med spill. Kunne implementere riktig AI for spill innen flere sjangere. Kunne programmere A* algoritmen med fler for pathfinding. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 19/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Kunne scripte AIoppførsel for spill. Generell Kompetanse: Forstå hvordan AI kan brukes til å gi unike spillopplevelser. Forstå hvilke AIteknikker som er riktig å velge, gitt bestemte situasjoner. Gjennomføring Forelesninger, øvinger og egenstudier. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Øving Vurdering Anbefalt tidsbruk totalt Verktøy Visual Studio IDE. Tidsbruk 24 128 24 24 200 Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Etter fullført emne har studentene fått en innføring i kunstig intelligens for spill: Hvilke byggesteiner som utgjør AI i ulike typer spill, og hvilken teknikk som passer i en bestemt situasjon. Videre har studentene fått praktisk erfaring med å implementere kunstig intelligens. Pensum Se litteraturliste. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Utgitt år Ian Artificial Millington Morgan Intelligence 2009 & John Kaufmann for Games Funge ISBN Utgave Kommentar Type 9780 12 2nd ed. 374731 0 Bok Litteratur Pensum PG5200 Tools programmering Emnenivå Bachelor Emnekode PG5200 Emnenavn Tools programmering Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Målet med faget er å gi studentene innsikt i utfordringer å løsninger for utvikling av verktøy som lar andre profesjoner produsere innhold for spill. Studentene utvikler en enkel leveleditor og andre verktøy som trengs for å utvikle spill og andre multimediaprodukter. Videre vil studentene bli kjent med behovet for http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 20/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO stabilitet, feilhåndtering og hurtig reaksjon. Forutsetninger Erfaring med grunnleggende C# programmering (gjennom C# elementene i PG3300 programvarearkitektur, eller tilsvarende) Læringsutbytte Kunnskap: Forstå grunnleggende funksjonalitet i en spillmotor, og hva konseptet ”toolchain” innebærer. Forstå hvorfor gode verktøy er essensielle for effektiv produksjon av innhold. Forklare de forskjellige kategoriene av verktøy brukt i spillutvikling. Beskrive den viktigste funksjonaliteten i en leveleditor. Kjenne til tredjepartsløsninger for spillverktøy. Ferdigheter: Vurdere nytten av å lage utviklingsverktøy selv i forhold til å benytte tredjepartsløsninger. Utvikle kravspesifikasjon for et variert utvalg verktøy. Programmere verktøy i C# med WPF. Bruk og håndtering av exceptions for bedret stabilitet. Implementere essensiell funksjonalitet for en leveleditor. Bruke parallell prosessering til å fordele arbeid og forbedre svartiden i applikasjoner. Lage programmer hvis oppførsel kan endres under kjøring. Kommunisere med eksisterende APIer laget i andre språk. Generell kompetanse: Forstå hvordan en god verktøykjede kan forbedre utviklingseffektiviteten. Reflektere kritisk rundt spillutviklingsprosessen og de nødvendige krav. Gjennomføring 12 forelseninger med øvinger Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy Microsoft visual studio Tidsbruk 24 122 0 24 30 200 C# Spillmotor Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Studenten har fått innsikt i utfordringer å løsninger for utvikling av verktøy som lar andre profesjoner produsere innhold for spill. Studenten har utviklet en enkel leveleditor og andre verktøy som trengs for å utvikle spill og andre multimediaprodukter. Videre er studenten kjent med behovet for stabilitet, feilhåndtering og hurtig reaksjon. Vurderingstype Innlevering Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Litteratur 21/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Nagel, Professional Evjen, C# 2012 Wrox Glynn, and .NET Press Watson, 4.5 Skinner 2012 9781 118 31442 5 1st edition Bok Pensum PG5500 Embedded systems Emnenivå Bachelor Emnekode PG5500 Emnenavn Embedded systems Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Hensikten med dette emnet er å gi kunnskap i og om bruken av embedded systems med tilhørende arkitektur. Emnet skal også gi kunnskap om grunnleggende hardwarekomponenter og Arduino. Emnet skal gi studentene ferdigheter i å programmere applikasjoner som kommuniserer med IO enheter tilknyttet mikrokontrollere. Studenten skal ha kompetanse i bruksområder og praktiske anvendelser for embedded systems. Forutsetninger Gode ferdigheter i programmering (min tilsvarende 2.kl Bachelor) Læringsutbytte Kunnskap: Forstå utrykket Embedded systems og kjenne til forskjellen mellom en CPU og en microkontroller Kjenne til de mest brukte akritekturene for embedded systems Ha kunnsakp om hardwaren i Raspberry Pi, og hvordan den brukes Ha kunnskap Arduino og hvoran den brukes Ferdigheter: Kunne sette opp og installere OS og annen software på Raspberry PI Kjenne til og bruke grunnleggende elektroniske komponenter som LED, knapper, motstand, buzzer og transistorer. Kunne styre eksterne komponenter, med både analoge og digitale signaler, fra embedded kontroller (segment display, led matrise, lcd, i/o expansion) Kunne lese inn data fra analoge og dikgitale eksterne sensorer. (eks. lys, tempratur, knapper) Kunne styre motorer (servo, DC, stepper, solenoid m.m.) Kommunisere trådløst med IR Bruke data fra eksterne sensorer til å styre eksterne komponenter Kjenne til og bruke viktige protokoller i embedded systems som bitbanging, SPI, I2C, 1Wire og UART. Forstå hvordan embedded systemer virker i grensesnittet mellom elektronikk og program (Eeprom, interrupts, minnehåndtering) Kunne designe enkle kage kretskort med Fritzing Generell kompetanse: Ha innsikt i bruksområder og praktiske anvendelser for embedded systems Designe, teste og kritisk evaluere Embedded Systems som løsninge på virkelige problemstillinger som å lage roboter og spillkonsoller Gjennomføring Forelesninger, øvinger og egenstudium Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Tidsbruk 24 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 22/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 AE for passed and F for failure Vitnemålstekst Hensikten med dette emnet er å gi kunnskap i og om bruken av embedded systems med tilhørende arkitektur. Emnet skal også gi kunnskap om grunnleggende hardwarekomponenter og Arduino. Emnet skal gi studentene ferdigheter i å programmere applikasjoner som kommuniserer med IO enheter tilknyttet mikrokontrollere. Studenten skal ha kompetanse i bruksområder og praktiske anvendelser for embedded systems. Vurderingstype Innlevering PG6200 Grafikkprogrammering Emnenivå Bachelor Emnekode PG6200 Emnenavn Grafikkprogrammering Studiepoeng 7,50 Emneansvarlig Martin Lilleeng Sætra Tilsynssensor N/A Godkjenningsdato Hensikt Hensikten med dette emne er å gi en god oversikt over hvordan grafikk programmeres med C++ og moderne OpenGL, samt de sentrale teknikker og metoder som brukes. Emnet skal videre gi innsikt i avanserte metoder for grafikk og rendering (multipassalgoritmer, avansert lyssetting og skygger, mm.), blant annet ved bruk av nettopp OpenGL og OpenGL Shading Language. Videre lærer man om effektiv representasjon og behandling av geometri. Forutsetninger PG1100 og PG2100 eller tilsvarende grunnleggende programmeringskunnskap. PG4400 C++ Programmering RF5100 Lineær algebra RF3100 Matematikk og fysikk Elller tilsvarende Læringsutbytte Kunnskapsmål: Studenten skal få kunnskap om blant annet: Representasjon av geometri, farger, lysegenskaper og materialegenskaper, http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 23/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO buffer objects, framebuffer objects, multipassalgoritmer, perpixel lyssetting, blending, teksturering, skygger, cube maps, normalmapping, subdivisjon. Ferdighetsmål: Studenten skal blant annet: arbeide med geometriske transformasjoner, benytte kvaternioner, vektorer og matriser ifm. grafikkprogrammering, arbeide med ulike projeksjoner ifm. grafikkprogrammering. Generelle kompetansemål: Få en god oversikt over OpenGL og OpenGL "state machine" (tilstandsmaskin). Kunnskap om 3Dgrafikkprogrammering, bruk av shadere og avanserte emner innen grafikk og rendering. Kjennskap til hovedtrekk i utviklingen av OpenGL, samt utviklingen av grafikkmaskinvare og moderne grafikkortarkitektur. • Via labøvelser bli komfortabel med å programmere OpenGL i Visual Studio med C++. Få praktisk erfaring med hvordan OpenGL fungerer gjennom modifisering og utvidelse av utdelt «skjelettkode». Gjennomføring Forelesning og øvinger. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 24 Selvstudium 100 Forberedelse til presentasjon/diskusjon i klassen Øving 24 Vurdering 4 Anbefalt tidsbruk totalt 200 Verktøy Programmeringsverktøy: C++, OpenGL og OpenGL Shading Language. Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet gir kunnskap innen avanserte metoder for 3Dgrafikk, hvor hovedfokus ligger på moderne shader programmering og effektiv rendering. Praktisk grafikkprogrammering skjer med C++ og OpenGL Pensum RealTime Rendering, Third Edition [1] Tomas AkenineMöller, Eric Haines, Naty Hoffman OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition [2] Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. LiceaKane Vurderingstype Mappevurdering Vurdering Mappe med muntlig prøve. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 24/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 ITlø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 CSSregel Ferdigheter Etter å ha fullført emnet skal studenten kunne: bruke kreativitet i utvikling av ITsystemer 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 CSSvelgere validere HTML og CSS med W3Cvalidator Generell kompetanse Etter å ha fullført emnet skal studenten kunne: anvende kreative teknikker og metode i et lite utviklingsprosjekt redegjøre og reflektere over sine valg av løsninger Gjennomføring Emnet gjennomføres med forelesning og øvinger, og avsluttes med to uker prosjekt hvor studentene løser en gitt caseoppgave i grupper med avsluttende presentasjon. Anbefalt tidsbruk Aktivitet Tidsbruk http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 25/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Deltakelse i undervisning 20 Selvstudium 75 Forberedelse til presentasjon/diskusjon i klassen 10 Øving 20 Vurdering 75 Anbefalt tidsbruk totalt 200 Karakterskala Letter grades AE 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 ITløsning ved hjelp av HTML og CSS. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Praktisk nytenkning: Leif systematisk og Runar kreativ Forsth problemløsning. Utgitt år Aquarius 1998 ISBN Utgave Kommentar Type 9788244300001 Bok Litteratur Pensum PJ2100 Iterativt webprosjekt Emnenivå Bachelor Emnekode PJ2100 Emnenavn Iterativt webprosjekt Studiepoeng 7,50 Emneansvarlig Eivind Brevik Tilsynssensor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 26/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Birgit Krogstie Godkjenningsdato Hensikt Etter å ha fullført emnet skal studenten kunne kjenne til ulike metoder for utvikling av programvare, og kunne gjennomføre et prosjekt med iterativ utvikling. Studenten skal kunne utforme en nettløsning i henhold til grunnleggende brukbarhetskrav med enkel databasefunksjonalitet. Forutsetninger Grunnleggende database og programmeringskunnskaper Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten kunne: kjenne til ulike iterative og kundefokuserte utviklingsprosesser ha kunnskap om roller i iterative utviklingsprosesser kjenne til grunnleggende webdesign, grafisk grensesnitt og struktur ha kunnskap om testing av brukbarhetskrav Ferdigheter Etter å ha fullført emnet skal studenten kunne: kunne anvende teknikk for dokumentasjon av brukerkrav kunne gjennomføre grunnleggende webdesign, med vekt på brukbarhetskrav kunne bruke et versjonshåndteringssystem for administrasjon av prosjektdokumentasjon kunne gjennomføre et mindre prosjekt med iterativ struktur med en intern oppdragsgiver Generell kompetanse Etter å ha fullført emnet skal studenten kunne: kunne dokumentere og vurdere prosjektresultatet etter gitte kriterier kunne dokumentere gjennomført prosjektprosess Gjennomføring Emnet gjennomføres med forelesninger og øvinger, og avsluttes med to uker prosjekt. Studentene løser en gitt caseoppgave i grupper med avsluttende presentasjon. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 20 Selvstudium 75 Forberedelse til presentasjon/diskusjon i klassen 10 Øving 20 Vurdering 75 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 27/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Anbefalt tidsbruk totalt 200 Verktøy Versjonshåndteringsprogram (for eksempel Subversion) Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet gir en innføring i prosjektarbeid med iterativ utvikling og grunnleggende webdesign. Vurderingstype Mappevurdering Litteraturliste: Tittel Don't Make Me Think: A Common Sense Approach to Web Usability Microsoft Solutions Framework Essentials Forfatter Forlag Utgitt år ISBN Steve Krug 2013 978 3rd 0321965516 edition Bok Pensum 978 0735623538 Bok Pensum New Riders Microsoft Turner, Press, 2006 Michael Redmond, WA Utgave Kommentar Type Litteratur PJ3100 Prosjekt Software Engineering Emnenivå Bachelor Emnekode PJ3100 Emnenavn Prosjekt Software Engineering Studiepoeng 15,00 Emneansvarlig Per Lauvås Tilsynssensor Birgit Krogstie Godkjenningsdato 29.04.2012 Hensikt Hensikten med dette emnet er å gi studenten en dypere erfaring i å mestre helheten i et større systemutviklingsprosjekt, med vekt på anvendelse av Scrum. Studenten skal gjennomføre et omfattende prosjektcase, og vil få trening å bruke moderne teknikker og verktøy. Forutsetninger Emnet bygger på kunnskaper fra 1.klasse. Prosjektet forutsetter normal progresjon gjennom 2.klasse, da http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 28/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 teknologimiljø • 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 AE 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 9780132 068581 2008 PJ5100 Game Development Emnenivå Bachelor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 29/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Emnekode PJ5100 Emnenavn Game Development Studiepoeng 7,50 Emneansvarlig Charles Butler Godkjenningsdato Hensikt Klikk det engelske flagget. Emnebeskrivelsen finnes bare på engelsk. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure Tidsbruk Vurderingstype Innlevering PJ6000 Hovedprosjekt Emnenivå Bachelor Emnekode PJ6000 Emnenavn Hovedprosjekt Studiepoeng 15,00 Emneansvarlig TorMorten Grønli Godkjenningsdato Hensikt Studenten skal få yrkeserfaring ved å gjennomføre et prosjekt i en bedrift, etablere eget selskap eller delta i forskningsprosjekt. Studenten skal demonstrere bred kunnskap om sentrale temaer og teorier, og vise ferdigheter i metoder, verktøy og teknologi innenfor fagområdet. Forutsetninger Det kreves at alle emner fra 1.klasse er bestått, samt bestått prosjektemne i software engineering. Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: Kunne forklare hvordan oppdraget er til nytte for virksomheten/bedriften/oppdragsgiver Kunne planlegge og styre gjennomføringen av prosjektet http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 30/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 AE for passed and F for failure Tidsbruk 20 15 375 40 450 Vitnemålstekst Bachelorstudiet avsluttes med hovedprosjektet som innebærer å gjennomføre et ITprosjekt i en bedrift. Prosjektet gir yrkeserfaring hvor kunnskap og ferdigheter fra hele studiet skal anvendes. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Utgitt ISBN år Utgave Kommentar Type Litteratur Project Management for Information Systems Cadle, J. and Prentice Hall Yeates, D. 2007 9780132068581 5th edition Bok Pensum Prosjektoppgaven Rognsaa, krav til Universitetsforlaget 2003 Aage utforming 9788215003641 2 utgave Bok Pensum PJ6100 Undersøkelsesmetoder Emnenivå Bachelor Emnekode PJ6100 Emnenavn Undersøkelsesmetoder Studiepoeng 7,50 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 31/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 ITprosjekt 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 ITprosjekt. Gjennomføring Emnet gjennomføres som forelesninger og workshops. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure Tidsbruk 24 70 20 30 56 200 Vitnemålstekst Emnet gir en innføring i grunnleggende metoder som er relevante for ITbransjen. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Metode og Olav oppgaveskriving Dalland Utgitt år Gyldendal 2012 akademisk ISBN Utgave Kommentar Type 9788205423985 3. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Bok Litteratur Pensum 32/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO RF3100 Matematikk og fysikk Emnenivå Bachelor Emnekode RF3100 Emnenavn Matematikk og fysikk Studiepoeng 7,50 Emneansvarlig Lars Sydnes Tilsynssensor Hugo Hammer, HiOA Godkjenningsdato 13.05.2013 Hensikt Moderne dataspill er basert på bruk av to og tredimensjonal grafikk. En vesentlig del av spillene er å få fram bevegelser som likner dem vi kjenner fra virkeligheten. Det er derfor viktig for en spillprogrammerer å forstå hvilke fysiske lover som bestemmer legemers bevegelse, og å kunne beskrive disse bevegelsene ved hjelp av matematikk og geometri. Forutsetninger Generell studiekompetanse og R1 eller tilsvarende. Læringsutbytte Kunnskap Etter å ha fullført emnet skal studenten kjenne til ulike koordinatsystemer, forstå funksjonsbegrepet, kjenne til vinkelmålet radianer, kjenne definisjonene til de trigonometriske funksjonene sinus, cosinus og tangens, kjenne til vektorer og matriser, forstå begrepene gjennomsnittlig vekst, momentan vekst og derivasjon, kjenne til Newtons tre lover, kjenne til størrelsene energi og arbeid, kjenne til loven om bevaring av mekanisk energi, kjenne til størrelsene bevegelsesmengde og impuls, kjenne til hvordan man beskriver rotasjonsbevegelse. Ferdigheter Etter å ha fullført emnet skal studenten kunne regne med kartesiske koordinater og polarkoordinater i planet og i rommet, tolke og drøfte grafen til en funksjon av en variabel, kunne sette opp og løse nødvendige likninger for å regne ut skjæringspunktene mellom grafer, beregne kollisjonssirkler og sfærer, bruke trigonometri til nødvendige beregninger, beskrive enkle periodiske fenomener ved hjelp av trigonometriske funksjoner, behandle vektorer geometrisk og på koordinatform, gjøre ulike operasjoner på matriser, og bruke matriser til å gjøre transformasjoner, bruke bevegelseslikningene for translasjon til å bestemme forflytning, fart og akselerasjon, definere og beregne vinkelbevegelse, vinkel og tangentiell fart og akselerasjon, bruke bevegelseslikningene for rotasjon til å bestemme størrelsene vinkelfart og vinkelakselerasjon, bruke Newtons lover for translatorisk bevegelse og rotasjonsbevegelse, beregne arbeid, kinetisk og potensiell energi og bruke energibevaringsloven for mekanisk energi, bruke impulssatsen til å beregne utfallet av kollisjoner, definere og beregne dreiemoment. Generell kompetanse Etter å ha fullført emnet skal studenten kunne forstå grunnleggende lover i mekanikken slik at de blir i stand til å lage realistiske modeller av http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 33/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO hvordan legemer beveger seg under påvirkning av krefter, bruke matematikk til å beskrive legemers bevegelse, representere punkters og legemers posisjon i rommet ved hjelp av matematikk. Gjennomføring Forelesninger, øvinger med veileder og skriftlige vurderinger. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Øving Selvstudium Vurdering Anbefalt tidsbruk totalt Verktøy Programmeringsverktøy (Java/C++) Tidsbruk 24 24 148 4 200 Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt studenten innsikt i de grunnleggende fysiske lovene som beskriver legemers bevegelse i to og tre dimensjoner. Emnet gir en innføring i de matematiske metodene som er nødvendige for å beskrive og beregne slike bevegelser. Temaer som tas opp er Newtons lover, spinnsetningen, bevegelsesmengde, skjæring mellom grafer, periodiske funksjoner, vektorer, matriser og transformasjoner. Pensum Se litteraturliste Vurderingstype Skriftlig Vurdering Skriftlig eksamen. Arbeidskrav: For å få ta eksamen, er det krav om godkjent øvingsopplegg se emnesiden i ITL Litteraturliste: Tittel Forfatter Forlag 3D Math Fletcher primer for Dunn, graphics and CRC Ian game Parberry development Utgitt år ISBN 2011 9781568817231 2. utg Utgave Kommentar Type Bok Litteratur Pensum RF5100 Lineær algebra Emnenivå Bachelor Emnekode RF5100 Emnenavn Lineær algebra Studiepoeng 7,50 Emneansvarlig Lars Sydnes Tilsynssensor Hugo Hammer, HiOA http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 34/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Godkjenningsdato 13.05.2013 Hensikt Datamodellering av geometriske objekter avhenger i stor grad av vektorgeometri og lineær algebra. I dette kurset skal studenten forberede seg til å arbeide med tredimensjonal grafikkprogrammering ved få nødvendig innsikt i geometri, transformasjonsteori og lineær algebra. Ved siden av dette, er det et viktig mål at studenten skal få en generell trening i matematiske metoder. Forutsetninger PG1100 og PG2100 eller tilsvarende grunnleggende programmeringskunnskap. RF3100 Matematikk og fysikk Læringsutbytte Kunnskapsmål: Studenten skal få kunnskap om representasjon av geometriske objekter ved hjelp av vektorer, lineære transformasjoner, affine transformasjoner, geometriske transformasjoner som translasjon og rotasjon, komplekse tall, kvaternioner og Eulervinkler parallellprojeksjon og sentralprojeksjon, lineære ligningssystem, indreproduktrom og approksimasjoner, ulike anvendelsesområder for lineær algebra. Ferdighetsmål: Studenten kunne arbeide med vektorer, matriser og lineære ligningssystem, kombinere og veksle mellom ulike koordinatsystemer, bruke lineær algebra i programmering, bruke lineær algebra på ulike anvendelsesområder. Generelle kompetansemål: Studenten skal ha god oversikt over vektorgeometri og grunnleggende lineær algebra med anvendelser. Studenten skal ha et godt utgangspunkt for å arbeide videre med grafikkprogrammering. Studenten skal utvikle sin matematiske modenhet. Gjennomføring Forelesninger (ca. 50%) og øvinger (ca. 50%) Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Egenarbeid med oppgaveløsing Øving/Lab Vurdering Anbefalt tidsbruk totalt Verktøy Programmeringsverktøy: Java Tidsbruk 24 98 48 24 6 200 Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet gir innsikt i vektorgeometri og grunnleggende lineær algebra med anvendelser. Pensum Se litteraturoversikt. I tillegg kan det komme noe ekstramateriale, avhengig av hvilke anvendelser som berøres. Vurderingstype Skriftlig Vurdering http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 35/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Midsemestereksamen og skriftlig avsluttende eksamen. Litteraturliste: Tittel Forfatter Forlag 3D Math Primer for Fletcher Graphics and Dunn, Game CRC Ian Development, Parberry 2nd Edition, 2011 Utgitt år ISBN 2011 9781568817231 2. Utgave Kommentar Type Bok Litteratur Pensum TK1100 Digital teknologi Emnenivå Bachelor Emnekode TK1100 Emnenavn Digital teknologi Studiepoeng 7,50 Emneansvarlig Bjørn Olav Listog Tilsynssensor Kjetil Svarstad Godkjenningsdato 13.06.2011 Hensikt For å kunne benytte en datamaskin på en effektiv måte må man vite hvordan informasjon kodes digitalt, samt hvordan den lagres, prosesseres og overføres av og mellom maskinvare og programvare. Ved å arbeide med emnet skal studenten lære seg å analysere datasystemer i ulike abstraksjonslag fra bitnivå, via digitale kretser og maskinvarekomponenter (CPU, minne, busser og ulikt I/Outstyr), data vs instruksjoner, operativsystem, applikasjoner og nettverkskommunikasjon. De skal kunne forklare hvordan man med binærtall kan representere ulike former for informasjon. De skal erverve seg begrepsapparatet som trengs for å vurdere ulik maskin og programvare opp mot hverandre. De skal kunne benytte modeller for funksjonell lagdeling i systemer, samt prosedyrer og verktøy til å forklare virkemåte og derigjennom kunne utføre effektiv feilsøking av enkeltmaskiner og nettverkskommunikasjon. Forutsetninger Generell studiekompetanse Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten kunne: · beskrive den historiske utviklingen som ledet frem til dagens datamaskiner og nettverk · definere og benytte de vanligste begrepene som benyttes i beskrivelse og analyse av datasystemer og nettverk · prinsippene og metodene for digital koding av ulike former informasjon og hvilke muligheter og begrensninger som er forbundet med disse · beskrive arkitekturen og organiseringen av datasystemer og nettverk · forklare rollen til et operativsystem og dekomponere funksjonaliteten i hovedelementene prosess/tråd administrasjon (scheduling + samtidshåndtering), minneadministrasjon (virtuelt minne mm), fil administrasjon, I/Oadministrasjon · benytte TCP/IPmodellen til å forklare og analysere datakommunikasjon gjennom Internett Ferdigheter Etter å ha fullført emnet skal studenten kunne: · identifisere ulike kodingsformater for tekst, tall, lyd og bilder; kjenne virkemåten til disse og benytte dette http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 36/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO i feilsøking · med utgangspunkt i kjennskap til virkemåten til hovedkort, CPU, minne, I/Okontrollere, 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 skallkommandoer, overvåkings og konfigurasjons verktøy i Windows og/eller OSX/Linux · benytte TCP/IPmodellen 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 Pakkeanalysator ("sniffer"), f.eks. Wireshark Tidsbruk 24 147 0 24 5 200 Karakterskala Letter grades AE 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/IPstacken. Man skal kunne benytte vanlige verktøy for å feilsøke og rette opp feilsituasjoner på maskin, i operativsystem og i nettverk. Pensum wwwressurser og kompendium som publiseres på emnesiden i It's Learning Vurderingstype Skriftlig Vurdering For å få karakter i emnet kreves det at arbeidskravene (se emnesiden i It's Learning) er oppfylt. TK2100 Informasjonssikkerhet Emnenivå Bachelor Emnekode TK2100 Emnenavn Informasjonssikkerhet Studiepoeng 7,50 Emneansvarlig http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 37/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 nettadferd. 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 AE for passed and F for failure Vitnemålstekst Etter å ha fullført emnet skal studenten kjenne til og kunne beskrive tekniske, lovmessige og holdningsmessige sider ved informasjonsikkerhet for privatpersoner og virksomheter i forhold til bruk av Internett. De skal kunne utføre en systematisk risikovurdering av egen konfigurasjon og bruk av datamaskin på Internett, og kunne gi begrunnede råd til andre. De skal ha tilegnet seg fagterminologien som benyttes innenfor datasikkerhetsfeltet. Pensum I noen delemner publiseres støttelittertur tilpasset norske lover og regler på emnesidene Vurderingstype http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 38/39 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO 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 9781 29202 5407 1. Pensum http://nith.studiehandbok.no/layout/set/print/content/view/complete/7617/language/norNO Bok 39/39