Bachelor IT Programmering 2014 2015
Transcription
Bachelor IT Programmering 2014 2015
10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Bachelor IT Programmering 2014 2015 Innhold Programmering er en betegnelse på utvikling av programvare. I denne prosessen bruker man et programmeringsspråk som forteller maskinen hvordan den skal utføre operasjoner og instruksjoner som skal iverksettes etter at handlinger er utført. God programvare er avhengig av et vellykket samarbeid mellom menneske og maskin. Dyktige programmerere og systemutviklere har derfor jobben med å utvikle innovativ, effektiv og funksjonell programvare. I takt med at programmeringsspråk og teknikker endrer seg kommer det frem i lyset nye dialekter / generasjoner programmeringsspråk. Arkitekturer blir hele tiden utfordret på å kunne implementere nye begreper (Web 2.0, 3.gen skriptspråk, SOA, sosial web). Programmering og arkitektur benyttes som fundament for de aller fleste tjenester i offentlig og privat sektor. Det er et behov for dyktige programmerere som har kunnskaper om alt fra lokale applikasjoner og opp til distribuerte SOA løsninger med mobile klienter. Det er også et sterkt behov for at man ikke bare kan bygge etter oppskrift, men også evner å se muligheter / løsninger ved design av arkitekturen. Paradigmeskifter i programmering må holdes øye med og veies i forhold til eksisterende teknologi. Med fordypning i programmering kan det være du som lager den neste trendsettende applikasjonen. Det er stor etterspørsel etter programmerere og systemutviklere med riktig kompetanse. programmering på NITH er helt i front innen teknologi, og passer godt for deg som er logisk anlagt og glad i å utvikle. Det er stor rift om disse studentene i markedet. Navn Bachelor IT Programmering 2014 2015 Programmatrise + introduksjon Ved NITH lærer du å bygge avanserte teknologiske løsninger for datamaskiner, så vel som mobiltelefoner. Gjennom studiet utdannes du til å konstruere arkitekturer fra bunnen, designe systemer og utvikle attraktive applikasjoner alt gjennom en dyp opplæring i programmeringsspråket Java. IThverdagen er i dag langt mer kompleks enn for bare noen år siden. Det er nå viktig å kunne se hvordan applikasjoner kan samarbeide på tvers av maskingrenser, mellom websider og på mobiltelefoner. Programmering gir deg verktøyene og kunnskapen du trenger for dette, samtidig som du får grundig innføring i støttende teknologier som XML, scriptspråk og lagringsmedier. Dette vil forberede deg på å ta fremtidens digitale hverdag et steg videre. Studiefordypningen programmering skal utdanne studentene til å bli dyktige programmerere gjennom alle nivåer av arkitekturen av Java stacken. Studentene får en innføring i arkitektur og skal kunne stille seg kritisk til sin egen informasjonsarkitektur og argumentere for styrker / svakheter / alternativer i den. Programmeringsstudiet bygger på NITHs Bachelor i Informasjonsteknologi. Studiet er 3årig, og gir tittelen bachelor i IT. Det første året er felles for alle linjer, og gir en solid grunnkompetanse i programmering, prosjektarbeid, systemutvikling, datateknikk og databaser. På det andre året er kjernen videreføringen av Java løpet fra første år. År to gir videre en innføring i operativsystemer, en inngående introduksjon til mobil programmering (Android), web programmering i Ruby og datastrukturer ved XML. Til sist men ikke minst vil man også gjennom føre faget Prosjekt software engineering som over begge semestrene samler kunnskapen man har tilegnet seg og lar dette bli anvendt i et større gruppebasert prosjektarbeid. I tredje år er fokuset rettet mot totalforståelsen av distribuerte systemer og arkitektur. Dette gjøres ved dypt fokus og grundig trening i distribuert Java representert ved Java Enterprise Edition. Ved siden av dette har algoritmer en sentral plassering og i tillegg utfylles tredje året med felles fag som forretningsforståelse, valgfag og forskningsmetoder. Studiet avsluttes med et hovedprosjekt ute i bedrift hvor studentene løser et reelt case gitt av en oppdragsgiver. Studiet har i tillegg noen fellesemner som står sentralt i bachelor IT utdanningen. Disse emnene er Teknologi og Organisasjonen, Undersøkelsesmetoder og Ebusiness. Mål med studiet Etter endt studium skal studenten kunne designe arkitekturen for, og implementere et distribuert informasjonssystem. Sentrale emner Bachelorstudium i Programmering har følgende sentrale tema og forskningsforankring: Programmering i Java – fra Standard Edition (SE) til Enterprise Edition(EE) Emnet er forskningsforankret i paradigme objektorientert programmering Jobbmuligheter http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 1/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Læringsutbyttet i programmet er definerte i kompetansemålene for hvert emne i studiet og beskrivelse av områder/arbeidsoppgaver hvor denne kompetansen kan benyttes. Generelt vil studiet gi kompetanse til å gå inn i følgende roller: Konsulent i norske eller internasjonale konsulentselskaper Systemutvikler / arkitekt i en IT avdeling i privat eller offentlig sektor Utveksling Det et mulig å ta deler av studiet ved andre høgskoler og universiteter i tråd med ERASMUS utvekslings program. Videre utdanning Etter fullført bachelor studium i er det mulig å fortsette på en masterutdanning. Følgende retninger vil passe for studenter som har tatt bachelor studium i Programmering: Fordypning i distribuerte (mobile) systemer Fordypning i SOA og arkitektur Fordypning i prosjektledelse og forretningsforståelse Forkunnskaper Studiet krever forkunnskaper i matematikk tilsvarende R1 eller S1+S2 i tilleg til, eller inkludert i generell studiekompetanse Undervisningsmåte Studiet kjennetegnes ved bruk av forelesninger, øvinger og problembasert læring. Med problembasert læring menes at studentene stilles overfor praktiske og faglige utfordringer. Studentene må selv på eget initiativ skaffe seg nødvendig informasjon, og diskutere dette sammen med medstudenter og veiledere. Bruk av forelesninger og øvinger skal være med på å gi studentene individuell faglig kompetanse i alle emner. Prosjektorganisert undervisning innebærer at man alle semestre har tverrfaglige prosjekter. Gjennom prosjektarbeidene får studentene i tillegg til mer individuell faglig kompetanse erfaring i samarbeid, prosjektstyring og prosjektorganisering. Programmering 2014 2015 Emnekode DB1100 PG1100 PJ1100 TK1100 PJ2100 TK2100 PG2100 PG3100 PG3300 PG4200 PJ3100 PG4300 PG4100 PG3200 PG5100 PG3400 BU5100 PG6100 PJ6000 PJ6100 Emnets navn Databaser 1 Programmering 1 Kreativt webprosjekt Digital teknologi Iterativt webprosjekt Informasjonssikkerhet Programmering 2 Avansert Javaprogrammering 1 Programvarearkitektur Algoritmer og datastrukturer Prosjekt Software Engineering Ruby on Rails Avansert Javaprogrammering 2 Android programmering Enterpriseprogrammering 1 Programmering i C for Linux Entreprenørskap Enterprise programmering 2 Hovedprosjekt Undersøkelsesmetoder S.poeng O/V *) 7,50 7,50 7,50 7,50 7,50 7,50 7,50 7,50 7,50 7,50 15,00 7,50 7,50 7,50 7,50 7,50 7,50 7,50 15,00 7,50 Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 7,5 O 15 O 7,5 Sum: 30 22,5 30 30 22,5 30 *) O Obligatorisk emne, V Valgbare emne Valgemner , 1.klasse Emnekode DS2100 DS2200 PG2201 Emnets navn Animasjon Digital kultur Unity Utvikling S.poeng O/V *) 7,50 7,50 7,50 V V O Sum: http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) 7,5 7,5 7,5 0 7,5 0 0 0 0 2/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO *) O Obligatorisk emne, V Valgbare emne Valgemner høsten 2014, 3.klasse Programmering Emnekode DS3800 PG5500 PG5600 Emnets navn S.poeng O/V *) Grensesnittdesign Embedded systems iOS programmering 7,50 7,50 7,50 Studiepoeng pr. semester S1(H) S2(V) S3(H) S4(V) S5(H) S6(V) V 7,5 V 7,5 V 7,5 Sum: 0 0 0 0 7,5 0 *) O Obligatorisk emne, V Valgbare emne BU5100 Entreprenørskap Emnenivå Bachelor Emnekode BU5100 Emnenavn Entreprenørskap Studiepoeng 7,50 Emneansvarlig Eivind Brevik Tilsynssensor Magne Johannessen Godkjenningsdato 03.05.2013 Hensikt Hensikten med emnet er å gi forståelse for hva innovasjon og entreprenørskap er og kunne utvikle ferdigheter for å fremme ideer og realisere disse. Kurset er orientert mot praktisk anvendelse av teknikk og metoder, med utarbeidelse av forretningsplan som bærende element. Etter fullført emne skal studenten ha tilstrekkelig innsikt og kompetanse til å kunne delta i og drive en slik prosess med utvikling av forretningsplan for å etablere et nytt firma eller forretningsområde. Forutsetninger Ingen Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: Kunne definere innovasjon og entreprenørskap Kjenne til betydningen av innovasjon og entreprenørskap for individ, organisasjoner og samfunn Kjenne til de markedsmessige og organisatoriske konsekvenser for innovasjon og entreprenørskap Ha forståelse for immaterielle rettigheter Ferdigheter Etter å ha fullført emnet skal studenten: Kunne utvikle planer for innovasjon og entreprenørskap, fra idé til implementering og drift Kunne evaluere, velge og selge inn egne prosjekter for egnet målgruppe Generell kompetanse Etter å ha fullført emnet skal studenten: Kunne reflektere over innovasjon og entreprenørskap i et videre perspektiv Ha kunnskap om og forståelse for hvordan ideer aksepteres og spres i et sosialt system Gjennomføring Forelesninger og øvinger Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Tidsbruk 25 80 5 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 3/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure 20 70 200 Vitnemålstekst Emnet har gitt studenten forståelse for hva innovasjon og entreprenørskap er, og ferdigheter med å fremme ideer og realisere disse. Kurset er orientert mot praktisk anvendelse av teknikk og metoder, med utarbeidelse av forretningsplan som bærende element. Vurderingstype Mappevurdering Litteraturliste: Tittel Forfatter Forlag Utgitt år Business Model Generation: A Handbook for Osterwalder, Visionaries, A., Peigner, Wiley 2010 Game Y. Changers, and Challengers The Lean Startup: How Today's Entrepreneurs Use Crown Continuous Ries, Eric 2011 Business Innovation to Create Radically Successful Businesses ISBN Utgave Kommentar Type Litteratur 9780470876411 1 Bok Pensum 9780670921607 1 Bok Pensum DB1100 Databaser 1 Emnenivå Bachelor Emnekode DB1100 Emnenavn Databaser 1 Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Bjørn Kristoffersen Godkjenningsdato 18.04.2013 Hensikt Etter fullført Databaser 1 skal man kunne forklare hva en relasjonsdatabase er, hva den kan brukes til og hvordan den skiller seg fra andre former for persistent lagring. Man skal kunne modellere og strukturere data for et domene. Man skal kunne opprette tabeller, legge inn ulike typer data i disse, kople dem sammen og hente ut rapporter ved hjelp av SQL spørringer. Man skal kunne forklare og anvende http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 4/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 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%) http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 5/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Litteraturliste: Tittel Forfatter Forlag Utgitt år Database Systems. A Practical Thomas Approach to Connolly Addison 2014 Design, & Begg, Wesley Implementation, Carolyn and Management ISBN Utgave Kommentar Type ISBN10: 0132943263 ISBN13: 6. 978 0132943260 Bok Litteratur Pensum DS2100 Animasjon Emnenivå Bachelor Emnekode DS2100 Emnenavn Animasjon Studiepoeng 7,50 Emneansvarlig Hrafnhildur Jonasdottir Tilsynssensor Bård R.Gunnerud Godkjenningsdato 30.05.2012 Hensikt I dagens samfunn er det stadig en utvikling i teknologi, applikasjoner og teknikker. Animasjon knytter tradisjonelle teknikker som historiefortelling, tegning og konstruksjon sammen med ny teknologi innenfor kanaler som reklame, spill, film, mobiltelefoni, kunst, internett osv. Animasjon hjelper oss å kommunisere og visualisere våre budskap gjennom disse kanalene og spiller en stor rolle i utdanning, underholdning, industri og kunst. I løpet av emnet vil studenten ha tilegnet seg kunnskap og ferdigheter til å lage en kort animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et gitt budskap gjennom visuelle grep. Studenten skal kunne vise til kreativ og kritisk tenkning knyttet til animasjon. Læringsutbytte Kunnskaper Etter fullført emne skal studenten kunne: o forklare virkemåten til, og produksjonsmåten for, ulike 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: http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 6/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO o demonstrere kreativ og kritisk tenkning og kommunikasjonsevner gjennom animasjonsteknikker Gjennomføring Gjennomføringen av emnet er basert på kombinasjon av forelesning, prosjektarbeid, og individuell skriftlig prøve Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure Tidsbruk 48 60 12 40 40 200 Vitnemålstekst Studenten skal ha tilegnet seg tilstrekkelig kunnskap og ferdigheter til å lage en kort animasjonsfilm med lyd, samt vise forståelse innenfor dramaturgi og filmkunnskap til å kommunisere et gitt budskap gjennom visuelle grep. Studenten skal kunne vise til kreativ og kritisk tenkning knyttet til animasjon. Pensum publiseres på emnesiden i It's Learning Vurderingstype Innlevering Vurdering Mappevurdering (se emnesiden) Litteraturliste: Tittel Forfatter Forlag Utgitt år Ideas for the Karen Animated Sullivan, Short: Kate Elsevier 2013 Finding Alexander and og Gary Building Schumer Stories ISBN Utgave Kommentar Type 9780240818726 2. utg Bok Litteratur Pensum DS2200 Digital kultur Emnenivå Bachelor Emnekode DS2200 Emnenavn Digital kultur Studiepoeng 7,50 Emneansvarlig Faltin Karlsen Tilsynssensor Anders Fagerjord, UiO Godkjenningsdato 08.05.2013 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 7/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 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. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 8/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 I semesteret må det leveres to kvalifikasjonsoppgaver. I forbindelse med siste innlevering må man også delta på en muntlig eksamen. Litteraturliste: Tittel Forfatter Forlag Utgitt år Mediekultur, Gripsrud, Universitetsforlaget 2011 mediesamfunn Jostein ISBN Utgave Kommentar Type 9788215017921 4. utg Bok Litteratur Pensum DS3800 Grensesnittdesign Emnenivå Bachelor Emnekode DS3800 Emnenavn Grensesnittdesign Studiepoeng 7,50 Emneansvarlig TorMorten Grønli Godkjenningsdato Hensikt Hensikten med dette emnet er å gi studenten kunnskap om interaksjonsdesign og utviklingsprosesser på en mobil plattform, herunder kunnskaper om teknologier for å bygge applikasjoner, teknikker for evaluering og innsikt i fordeler og ulemper ved valgt løsning. Studenten får ferdigheter i å bygge mobile web baserte applikasjoner gjennom bruk av HTML5, JQuery Mobile og CSS. Studenten skal etter endt emne kunne evaluere et mobilt design ved brukerundersøkelser og være i stand til å reflektere over kritiske suksessfaktorer. Forutsetninger Ingen Læringsutbytte Kunnskap: ha kunnskap om interaksjonsdesign og utviklingsprosesser for mobil webutvikling ha kunnskap om testing av mobile løsninger, herunder teknisk testing og brukertesting ha kunnskap om HTML5, JQuery Mobile og CSS 3 ha kunnskap om fordeler og ulemper ved HTML5 webapplikasjoner ha kjennskap til User Centred Design ha kunnskap om responsivt design Ferdigheter: kunne bruke HTML5, JQuery Mobile og CSS til å bygge en web applikasjon/side kunne implementere responsivt design kunne evaluere en web basert mobil løsning med brukere http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 9/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO kunne utføre teknisk testing av en web basert mobile løsning Generell kompetanse: Kunne evaluere et mobilt design ved brukerundersøkelser/observasjon og reflektere over dets kritiske suksessfaktorer Ha forståelse for ulike interaksjonsdesignprinsipper for mobile plattformer Gjennomføring Emnet gjennomføres med en kombinasjon av forelesninger og øvinger. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure Tidsbruk 24 78 24 24 50 Vurderingstype Innlevering Litteraturliste: Tittel Forfatter Forlag Utgitt år Elizabeth Goodman Observing , Mike Morgan the User 2012 Kuniavsky Kaufmann Experience , Andrea Moed Sketching User Experiences: Getting the Bill Morgan 2007 Design Right Buxton Kaufmann and the Right Design The Mobile Book Smashing Smashing Media 2013 Magazine GmbH ISBN Utgave Kommentar Type Litteratur 978 2 0123848697 Bok Pensum 978 1 0123740373 Bok Pensum Bok Pensum 1 1 Kindle bok PG1100 Programmering 1 Emnenivå Bachelor Emnekode PG1100 Emnenavn Programmering 1 Studiepoeng 7,50 Emneansvarlig Stein Marthinsen Tilsynssensor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 10/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 o ulike datatyper o aritmetiske og logiske uttrykk · lage enkle programmer som anvender kontrollstrukturene o valg o løkke · lage enkle programmer med fokus på utvikling av algoritmer · lage enkle programmer som skriver til og leser fra tekstfiler · deklarere og bruke statiske tabeller (arrays) · beherske et enkelt integrert utviklingsverktøy (IDE) · kunne skrive og redigere kildekode med dette verktøyet · kunne kjøre programmer med dette verktøyet · kunne bruke de grunnleggende elementene i et programmeringsspråk til å lage programmer · kunne tolke og forholde seg til feilmeldinger og rette kildekode ut fra disse Generell kompetanse Etter å ha fullført emnet skal studenten kunne · vurdere passende strategi for løsing av et problem · diskutere problemløsningsmetoder med medstudenter · gjøre rede for tankegang for egne løsninger Gjennomføring Forelesninger, øvinger med veileder, innleveringer og skriftlig vurdering. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Tidsbruk 24 110 36 30 200 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 11/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Verktøy · 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å 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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 12/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO · 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 Verktøy Tidsbruk 24 128 24 24 200 · 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 PG2201 Unity Utvikling Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 13/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Bachelor Emnekode PG2201 Emnenavn Unity Utvikling Studiepoeng 7,50 Emneansvarlig Tomas Sandnes Tilsynssensor Michael McCoy Jr. Godkjenningsdato Hensikt Emnet omhandler programmering og utvikling med Unity spillutviklingsplattformen. Studentene blir kjent med utviklingsmiljøets muligheter og effektiv bruk av dette. Studentene lærer å importere, bruke og scripte forskjellige spillobjekter ("assets") i en "scene" for dermed å opprette "levels" med grunnleggende spillfunksjonalitet. Forutsetninger PG1100 Læringsutbytte Kunnskap Lære grunnleggende C# syntaks, samt vite på hvilke måter språket skiller seg fra Java. Forstå hvordan prinsippene bak objektorientert programmering kan brukes i C# med Unity3d. Forstå hensikten med en "game loop" og hvordan denne er nødvendig for spill. Kjenne til Unitys event functions og bruksområdene for disse. Forstå hensikten med local og world koordinater. Kjenne til hvordan rotasjon, translasjon og skalering benyttes til å manipulere objekter. Kjenne til hvordan kollisjoner implementeres I Unity. Kjenne til hvordan mus, tastatur og gamepad benyttes for input. Ferdigheter Kunne benytte programmeringspråket C#. Debugge, lokalisere og rette feil i programmer. Beherske Unity utviklingsmiljøet, kunne opprette prosjekter og publisere de til forskjellige plattformer. Importere og anvende 3Dmodeller, animasjoner, teksturer, lyder, "prefabs" og andre assets. Legge til spillmekanikk ved hjelp av programmering. Generell Kompetanse Planlegge, utvikle og publisere enkle spill. Implementere og utvide 3D spillomgivelser. Gjennomføring 12 forelesninger med øvinger. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy Tidsbruk 24 92 0 24 60 200 Unity MonoDevelop Visual Studio Karakterskala Letter grades AE for passed and F for failure http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 14/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Vitnemålstekst Emnet omhandler programmering og utvikling med Unity spillutviklingsplattformen. Pensum Lærebok. Ressurser publisert på emnesidene. Vurderingstype Innlevering Vurdering Hjemmeeksamen Litteraturliste: Tittel Forfatter Forlag Unity Game Mike Development Geig in 24 Hours Utgitt år ISBN Utgave Kommentar Type Sams December 978 1st Publishing 6, 2013 0672336966 edition Bok Litteratur Pensum PG3100 Avansert Javaprogrammering 1 Emnenivå Bachelor Emnekode PG3100 Emnenavn Avansert Javaprogrammering 1 Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Morten AndersenGott Godkjenningsdato 25.03.2012 Hensikt Under utvikling av programvare er det nødvendig å kunne noen teknikker og konsepter som støtter opp under utviklingen. Emnet skal gi en grunnleggende innføring i feilsøking, automatisert testing og arkitekturprinsipper. Videre gis det en innføring i unntakshåndtering som et fundament for mer avansert programutvikling. Emnet skal også gjøre studenten i stand til å kommunisere med en database for å hente ut og manipulere data, samt skrive enkle servlets for å lage websider med dynamisk innhold. Forutsetninger Emnet bygger på grunnleggende ferdigheter i objektorientert programmering (Java) og relasjonsdatabaser. Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet og evne til logisk tenkning. Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten vite hva automatisert testing er, og hvilke fordeler dette kan gi beskrive vanlig arbeidsflyt i testdrevet utvikling kjenne til begrepene "mock" og "stub" forklare begrepene "separation of concerns" og lagdeling kjenne til MVCpatternet og dets anvendelse på klientside og web forklare begrepet "SQL injection" og hvordan man kan unngå dette forklare begrepet "Crosssite scripting" (XSS) og hvordan man unngår dette http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 15/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO vite hva JDBC (Java Database Connectivity) og ORM (ObjectRelational Mapping) er og hvordan vi kan benytte disse for å kommunisere med en database Ferdigheter Etter å ha fullført emnet skal studenten kunne utvikle robuste programmer som gjør bruk av feilhåndtering anvende debuggeren i et IDE for å feilsøke programmer, herunder stegvis utføring av kode og breakpoints teste deler av applikasjonen ved hjelp av enhetstester og integrasjonstester utvikle programmer som kommuniserer med en database og utfører CRUD (create, read, update, delete) operasjoner utvikle en enkel webapplikasjon ved hjelp av servlets, herunder: gjengi livsløpet til en servlet hente ut POST/GET parametere produsere dynamisk innhold lage en WARfil og deployere denne på en server skrive og hente ut data fra en HTTP session skrive views i Java Server Pages (JSP) Generell kompetanse Etter å ha fullført emnet skal studenten kunne begrunne og presentere sin egen kode reflektere rundt: verdien av automatiserte tester valg av kommunikasjonsmetode mot database grunnleggende websikkerhet (SQL injection/XSS) Gjennomføring Forelesninger, øvinger med veileder, mappevurdering og skriftlig vurdering. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Øving Selvstudium Vurdering Anbefalt tidsbruk totalt Verktøy Java 1.8 Tidsbruk 24 24 70 82 200 Eclipse Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt en introduksjon til feilsøking, automatisert testing, arkitekturprinsipper, databaseprogrammering og servlets. Studenten kjenner til prinsipper for automatisert testing og konsepter som lagdeling og separation of concerns. Studenten kan gjøre bruk av unntaktshåndtering, oppkobling og manipulering av data i en database, samt skrive enkle servlets og deployere til en server. Pensum Utvalgte kapitler fra læreboken. Utvalgte artikler. Vurderingstype Mappevurdering Vurdering Mappe og skriftlig. Litteraturliste: Tittel Introduction to Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur ISBN10: 0133761312, http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 16/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Java Y. Daniel Prentice 2014 Programming, Liang Hall Comprehensive Version ISBN13: 10 978 0133761313 Bok Pensum PG3200 Android programmering Emnenivå Bachelor Emnekode PG3200 Emnenavn Android programmering Studiepoeng 7,50 Emneansvarlig TorMorten Grønli Tilsynssensor Jarle Hansen, Evry AS Godkjenningsdato 20.08.2012 Hensikt Emnet har til hensikt i å gi en innføring i programmering av mobile klienter. Emnet gir en introduksjon til mobil programmering, og kunnskap om muligheter og begresninger ved mobile enheter og operativsystemer. Emnet gir praktisk erfaring i å utvikle programvare for Android plattformen. Etter fullført emne vil studentene være i stand til å lage activities, services og content providers i tillegg til å utnytte apier for multimedia, lokasjon og kommunikasjon. Forutsetninger Grunnleggende programmeringskunnskap (PG1100 og PG2100 eller tilsvarende innføring i objektorientert programmering) Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: ha kunnskap om arkitekturen til Android OS ha kunnskap om muligheter og begresninger ved programmering av mobile klienter ha kjenskap til livsløpet til en Android applikasjon kunne beskrive livsløpet til en activity med tekst og tegning kjenne til prosessen for publisering av applikasjoner i Google Play ha kunskap om testing på Android OS Ferdigheter Etter å ha fullført emnet skal student kunne: programmere activities programmere services programmere fragments gjøre rede for activities, services, broadcasts og fragments bruke Android APIet aktivt under programmering av applikasjoner programmere mot filer i intern og ekstern minne på den mobile enheten anvende de vanligste GUI komponentene til å produsere brukergrensesnitt programmere mot en lokal SQL database gjøre rede for forskjellen ved å programmere for et nettbrett og en telefon konfigurere en Android applikasjon konfigurere nettbrett og telefon emulatorer debugge og deploye en applikasjon mot emulator og enhet kunne programmere mot internettbaserte tjenester kunne gjøre bruk av lokasjonsbaserte tjenester i egne applikasjoner gjøre rede for og implementere asynkron arkitektur Generell kompetanse Etter å ha fullført emnet skal studenten kunne: http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 17/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO foreslå og begrunne designvalg i en Android applikasjon foreslå og begrunne valgt arkitektur argumentere og reflektere over native applikasjoner i forhold til hybride applikasjoner reflektere over valgt og implementert løsning i forhold til et kunde case / oppgave case Gjennomføring Kurset gjennomføres med 12 forelesninger på ca 2 timer og 12 lærerstyrte øvinger på ca 2 timer. Øvingene er ikke obligatoriske, men for å oppnå kompetansemålene forventes det at studentene fullfører øvingsoppgavene og også på egenhånd legger inn ekstra innsats der øvingstimene ikke strekker til. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i 24 undervisning/forelesning Selvstudium 110 Forberedelse til 0 presentasjon/diskusjon Øving 24 Vurdering 42 Totalt 200 Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt studenten ferdigheter i å programmere mobile applikasjoner på Android plattformen, med vekt på elementer som applikasjonstyper, grensesnittbygging, IOtjenester , lokasjonstjenester og kommunikasjon med internett baserte tjenester. Studenten har kunnskap om programmering mot både nettbrett og telefoner, og kan reflektere over valg av implementasjonsteknikk (native / hybrid). Vurderingstype Innlevering Litteraturliste: Tittel Forfatter Forlag Utgitt år Beginning Android PawPrints CreateSpace Development: Learning Independent 2014 Create Your Technologies Publishing Own Android Platform Apps Today ISBN Utgave Kommentar Type 978 1502395221 Bok Litteratur Pensum PG3300 Programvarearkitektur Emnenivå Bachelor Emnekode PG3300 Emnenavn Programvarearkitektur Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Alf Inge Wang Godkjenningsdato http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 18/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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. 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). http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 19/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Litteraturliste: Tittel Forfatter Forlag Utgitt år Applying Craig Prentice UML and 2004 Larman Hall Patterns ISBN Utgave Kommentar Type 978 3rd ed. 0131489066 Bok Litteratur Pensum PG3400 Programmering i C for Linux Emnenivå Bachelor Emnekode PG3400 Emnenavn Programmering i C for Linux Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Emnet gir innføring i programmeringspråket C og hvordan dette kan brukes til å interaktere direkte med operativstytemet. Det skal også gi forståelse av operativsystemet Linux og kunnskap om hvordan dette virker. Forutsetninger Grunnleggende programmeringskunnskap (PG2100 Programmering 2 eller tilsvarende) samt grunnleggende digital teknologi (TK1100 Digital teknologi eller tilsvarende). Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: Kjenne til operativsystemene Unix og Linux: bakgrunn og historie overordnet arkitektur og oppbygning Kjenne til utviklingen av og bruksområdet for programmerinspråket «C» Forstå hva «viritualisering» er Kjenne til byggeprosessen i C inkludert: compile link Forklare konseptet «everything is a file» og kjenne til eksempler inkludert: devices procfs Forstå hva et «filsystem» er og hva det brukes til Forstå konseptene bak brukere og permissions i Linux Kjenne til forskjellen på userspace og kernelspace og hvordan bruke systemkall og signaler Kjenne til minneområdene «stack» og «heap» og forklare forskjellen Kjenne til konseptet "buffer owerflow" og hvorfor det er farlig. Ferdigheter Etter å ha fullført emnet skal studenten: Bruke grunnleggende konstuksjoner i programmeringspråket «C» inkludert: main, basic types, printf, scanf, strings, #include, enum, typedef, struct, union, command line parameters, macros, varargs Statisk minnehåndtering Utvikle programmer under paradigmet «strukturert programmering» http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 20/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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. 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 PG4100 Avansert Javaprogrammering 2 Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 21/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Bachelor Emnekode PG4100 Emnenavn Avansert Javaprogrammering 2 Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Morten AndersenGott Godkjenningsdato 25.03.2012 Hensikt Innenfor programmering vil man ofte ha et behov for å kunne ta i bruk kode som andre har skrevet. Emnet gir en innføring i hvordan man kan legge til tredjepartsbiblioteker i et Javaprosjekt, hvordan man kan benytte et byggverktøy for å forenkle denne prosessen, samt hvordan man kan ta i bruk OpenSource biblioteker. I produksjon og forvaltning er det nødvendig med logging og dokumentasjon, og emnet gir derfor en innføring i Log4j og javadoc. Videre vil tyngre programmer ha et behov for å parallellisere oppgaver og emnet gir derfor en introduksjon til trådprogrammering. Sockets tas i bruk for å lage programmer som kan kommunisere med hverandre over nettverket. Emnet gir også en smakebit på funksjonell programmering som et alternativt programmeringsparadigme til objektorientert programmering. I den anledning vil det være naturlig å se hvordan også Java SE, fra versjon 8, inneholder funksjonelle elementer. Forutsetninger Emnet krever videregående programmeringskunnskaper tilsvarende PG3100, samt grunnleggende kjennskap til versjonskontroll. Programmering krever en høy grad av nøyaktighet, tålmodighet, utholdenhet og evne til logisk tenkning. Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten vite hvilke fordeler trådprogrammering kan gi og når det lønner seg å benytte dette kjenne til forskjeller i objektorientert og funksjonell programmering kjenne til minst ett opensource prosjekt i Java og ha lest deler av kildekoden til dette kjenne til hvordan applikasjoner kan utveksle data med hverandre gjennom sockets og web services kjenne til begrepet "REST" vite når det kan være fornuftig å benytte Lambda Expressions i Java Ferdigheter Etter å ha fullført emnet skal studenten kunne konfigurere avhengigheter: lage JAR/WAR legge til tredjepartsbiblioteker manuelt i Eclipse bruke Maven for å spesifisere avhengigheter og bygge et Javaprosjekt anvende opensource biblioteker: sjekke de ut fra versjonskontroll bygge et opensource prosjekt som baserer seg på Maven gjøre en endring i biblioteket kjøre testene til biblioteket konfigurere Log4j og skrive programmer som benytter seg av slik type logging anvende Javadoc for å skrive dokumentasjon av kode utvikle trådbaserte applikasjoner utvikle klient/tjener applikasjoner ved hjelp av Sockets gjøre HTTP kall mot en RESTful webservice produsere applikasjoner som kan tolke XML og JSON lese og skrive Javakode som benytter Lambda expressions med relevante interface fra java.util.functionpakken som Predicate, Supplier, Consumer og Function Generell kompetanse Etter å ha fullført emnet skal studenten kunne http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 22/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO reflektere rundt fordeler og ulemper med tredjepartsbiblioteker reflektere rundt fordeler og ulemper med funksjonell programmering begrunne og presentere sin egen kode Gjennomføring Kurset gjennomføres med 12 sesjoner på 4 timer som inkluderer forelesning, øving og egenarbeid. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Øving Selvstudium Vurdering Anbefalt tidsbruk totalt Verktøy Tidsbruk 24 24 70 82 200 Java 1.8 Scala Eclipse Maven Git/Subversion Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt en introduksjon til bruk av tredjepartsbiblioteker i Java og bruk av Maven. Videre har emnet gitt en innføring i trådprogrammering, sockets, logging, 2dgrafikk i Swing og enkel integrasjon mot REST baserte webtjenester som returnerer XML/JSON. Emnet ga også en smakebit på funksjonell programmering som et alternativt programmeringsparadigme til objektorientert programmering. Pensum Utvalgte kapitler fra læreboka. Utvalgte artikler. Vurderingstype Mappevurdering Vurdering Mappe og skriftlig Litteraturliste: Tittel Forfatter Forlag Utgitt år Introduction to Java Y. Daniel Prentice Programming, 2014 Liang Hall Comprehensive Version ISBN Utgave Kommentar Type ISBN10: 0133761312, 10. ISBN13: utgave 978 0133761313 Bok Litteratur Pensum PG4200 Algoritmer og datastrukturer Emnenivå Bachelor Emnekode PG4200 Emnenavn Algoritmer og datastrukturer Studiepoeng 7,50 Emneansvarlig Lars Sydnes Tilsynssensor http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 23/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 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, http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 24/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO ha den kunnskapen om algoritmer og datastrukturer som kreves i videre informatikkstudier. Gjennomføring Forelesninger (ca. 50%) og øvinger (ca. 50%) Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy Java Development Kit 1.8 Tidsbruk 24 128 24 24 200 Karakterskala Letter grades 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: Forlag Utgitt år Tittel Forfatter Algorithms Robert Sedgewick, Addison 2011 Kevin Wesley Wayne ISBN Utgave Kommentar Type Litteratur 9780 321 57351 3 4 Pensum Bok PG4300 Ruby on Rails Emnenivå Bachelor Emnekode PG4300 Emnenavn Ruby on Rails Studiepoeng 7,50 Emneansvarlig Per Lauvås Tilsynssensor Mads Mobæk Godkjenningsdato 01.11.2013 Hensikt Emnet skal gi studentene grunnleggene kjennskap til programmeringsspråket Ruby og rammeverket Rails. Hensikten er å introdusere et rammeverk som gjør det enklere å utvikle, rulle ut og vedlikeholde webapplikasjoner. Etter fullført emne vil studentene være i stand til å lage enkle webapplikasjoner som kommuniserer med en database. Videre skal studenten ha grunnleggende kunnskap til testing, sikring av en webapplikasjon, og være i stand til å rulle den ut på en ekstern server. http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 25/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Forutsetninger Grunnleggende kjennskap til (X)HTML Grunnleggende ferdigheter i objektorientert programmering med utgangspunkt i programmeringsspråket Java Grunnleggende kjennskap til relasjonsdatabaser Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: kjenne til forskjellen mellom kompilerte og interpreterte språk kjenne til begrepene TDD og BDD kjenne til MVCpatternet sin anvendelse for webapplikasjoner og Rails kjenne til hvordan man lager en Railsbasert webapplikasjon Ferdigheter Du skal kunne grunnleggende Ruby, herunder: datatypene Numbers, String, Ranges, Hash og Array kontrollstrukturer blokker symboler bruk av objektorientering navngivningskonvensjoner bruk av Interactive Ruby Shell (irb) Du skal kunne benytte rammeverk i Ruby for å skrive enkle tester Du skal kunne opprette et Rails prosjekt og kjenne til mappestrukturen og konvensjoner i Rails Du skal kunne konfigurere og benytte en database mot Rails. Du skal også kunne skrive og kjøre database migrations. Du skal ha grunnleggende kjennskap til Ruby gems, kunne installere/oppdatere disse, og spesifisere avhengigheter i et Rails prosjekt Du skal ha kunnskap om (M) ActiveRecord. Dette inkluderer innebygde funksjoner, validatorer og hvordan du definerer og benytter relasjoner mellom modeller Du skal ha kunnskap om (V) ActionView. Du skal kunne benytte templates og view helpers. Du skal ha kunnskap om (C) ActionController og hvordan ruter settes opp og konfigureres Du skal kjenne til deployeringsalternativene for en Rails applikasjon og kunne deployere på Heroku plattformen. Generell kompetanse Etter å ha fullført emnet skal studenten kunne: foreslå og begrunne designvalg i en web applikasjon baser på Ruby on Rails foreslå og begrunne valgt arkitektur Gjennomføring Kurset gjennomføres med 12 sesjoner på 4 timer som inkluderer forelesning, øving og egenarbeid. Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Karakterskala Letter grades AE for passed and F for failure Tidsbruk 24 132 24 20 200 Vitnemålstekst Dette innebefatter kjennskap til utvikling av webapplikasjoner som kommuniserer med databaser etter MVCmønsteret. Emnet inneholdt bl.a. validering av modeller, relasjoner, view templates, view helpers, routing og kjennskap til konvensjonene i Rails og moderne webrammeverk. Studenten har lært å utvikle enkle webapplikasjoner, det er blitt gitt en grunnleggende innføring i websikkerhet, og studenten lært litt om å skrive enhetstester. Det har blitt gitt innføring i utplassering av Railsapplikasjoner til plattformen Heroku. Vurderingstype Innlevering http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 26/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Litteraturliste: Tittel Forfatter Forlag Utgitt år Sam Ruby, Dave Agile Web Thomas og Pragmatic Development 2013 David Bookshelf with Rails 4 Heinemeier Hansson ISBN Utgave Kommentar Type 978 1937785567 Bok Litteratur Pensum PG5100 Enterpriseprogrammering 1 Emnenivå Bachelor Emnekode PG5100 Emnenavn Enterpriseprogrammering 1 Studiepoeng 7,50 Emneansvarlig Naimdjon Takhirov Tilsynssensor Jarle Hansen Godkjenningsdato 21.04.2013 Hensikt Hensikten med dette emnet er å gi kunnskap om distribuerte systemer og komponentbasert utvikling. Emnet gir også inngående kunnskap om Java Enterprise Edition med tilhørende applikasjonsarkitektur. Emnet skal gi studentene ferdigheter i det å kunne utvikle applikasjoner basert på Java EE, med tilhørende rammeverk for persistens, presentasjon og logikk. Studenten skal ha kompetanse i å kunne anvende korrekt applikasjonsarkitektur og analysere fordeler og ulemper knyttet til valg teknologi og implementasjonsteknikk Forutsetninger Emnet bygger på grunnleggende objektorientert programmering i Java foruten unntakshåndtering, servlets og databaseprogrammering (JDBC). Læringsutbytte Kunnskap: Kunne forklare begrepet distribuerte systemer/applikasjoner Ha kunnskap om begrepet og teorier vedrørende komponentbasert utvikling Ha kunnskap om fordeler og ulemper ved bruk av Maven som byggsystem Ha kunnskap til Java Enterprise Edition oppbyggning, komponenter og arkitektur (Herunder skissere og forklare arkitekturen til RMI, EJB og web applikasjoner). Ha kunnskap om Java Persistence biblioteket (versjon 2) Ferdigheter: Kunne lage en distribuert RMI applikasjon som håndterer kommunikasjon mellom klient og tjener i et nettverk Kunne lage en distribuert web applikasjon basert på Java EE teknologi med rammeverk Kunne bruke Maven til å bygge applikasjoner (inkludert dependency management, versjonering og støtte for plugins) Kunne utvikle komponentbaserte webgrensesnitt Kunne utvikle og sette i drift tilstandsfulle sesjonsbønner på en JEE tjener http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 27/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Kunne utvikle og sette i drift tilstandsløse sesjonsbønner på en JEE tjener Kunne vurdere fordeler og ulemper ved bruk av tilstandsfulle og tilstandsløse sesjonsbønner Kunne lagre data permanent ved hjelp av Java Persistence biblioteket Generell kompetanse: Kunne anvende korrekt applikasjonsarkitektur og analysere fordeler og ulemper knyttet til valg teknologi og implementasjonsteknikk Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy Valgfritt Java EE IDE Tidsbruk 24 92 24 12 50 200 Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Dette emnet har gitt studenten kunnskap om distribuerte systemer og komponentbasert utvikling ved bruk av Java Enterprise Edition. Emnet har gitt studenten ferdigheter i å utvikle applikasjoner på Java EE plattformen, med tilhørende rammeverk for persistens, presentasjon og logikk. Studenten har fått kompetanse i å kunne analysere fordeler og ulemper knyttet til valg teknologi og implementasjonsteknikk ved sin løsning. Vurderingstype Innlevering Litteraturliste: Tittel Forfatter Forlag Utgitt år Beginning Antonio Java EE APress 2013 Goncalves 7 ISBN Utgave Kommentar Type ISBN10: 143024626X | ISBN13: 1 978 1430246268 Bok Litteratur Pensum PG5500 Embedded systems Emnenivå Bachelor Emnekode PG5500 Emnenavn Embedded systems Studiepoeng 7,50 Emneansvarlig Kjetil Raaen Godkjenningsdato Hensikt Hensikten med dette emnet er å gi kunnskap i og om bruken av embedded systems med tilhørende arkitektur. Emnet skal også gi kunnskap om grunnleggende hardwarekomponenter og Arduino. Emnet skal http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 28/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 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 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 PG5600 iOS programmering http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 29/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Emnenivå Bachelor Emnekode PG5600 Emnenavn iOS programmering Studiepoeng 7,50 Godkjenningsdato Hensikt Emnet har til hensikt å gi en innføring i programmering i ObjectiveC og iOSplattformen. Etter fullført emne vil studentene være i stand til å lage applikasjoner som kommuniserer over nettverk, lagrer data lokalt, og tar i bruk grensesnittelementer og patterns som følger plattformen. Forutsetninger Videregående programmeringskunnskap (PG3100 og PG4100, eller tilsvarende innføring i objektorientert programmering). Kjennskap til C er en fordel, men ikke et krav. Læringsutbytte Kunnskap: Etter å ha fullført emnet skal studenten: ha kunnskap om arkitekturen til iOSplattformen kunne beskrive livsløpet til en iOSapplikasjon med tekst og tegning kjenne til prosessen for distribuering av applikasjoner ha kjennskap om hvordan applikasjoner kompileres på iOS kunne beskrive MVC, observable og delegatepatternet i kontekst av iOS med tekst og tegning Ferdighet Etter å ha fullført emnet skal studenten kunne: programmere grunnleggende ObjectiveC, herunder: datatyper bruk av foundationklasser kontrollstrukturer bruk av objektorientering bruk av protokoller bruk av categories bruk av blokker bruke iOS APIet aktivt under programmering av applikasjoner anvende de vanligste GUI komponentene til å produsere brukergrensesnitt anvende storyboards benytte seg av grunnleggende animasjoner serialisere, deserialisere og persistere data kunne programmere mot internettbaserte tjenester gjøre rede for og implementere asynkron arkitektur benytte seg av mulighetene med en dynamisk typet runtime debugge og deploye en applikasjon mot simulator og enhet Generell kompetanse Etter å ha fullført emnet skal studenten kunne: foreslå og begrunne arkitekturvalg i en iOS applikasjon ha kunnskap om når asynkronitet er hensiktsmessig konsumere et REST API Gjennomføring Kurset gjennomføres med 12 forelesninger på ca 2 timer og 12 lærerstyrte øvinger på ca 2 timer. Øvingene er ikke obligatoriske, men for å oppnå kompetansemålene forventes det at studentene fullfører øvingsoppgavene og også på egenhånd legger inn ekstra innsats der øvingstimene ikke strekker til. Anbefalt tidsbruk http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 30/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Aktivitet Tidsbruk Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy iOS SDK (inkl Xcode) 24 110 0 24 42 iOS Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har gitt studenten ferdigheter i å programmere ObjectiveC og mobile applikasjoner på iOS plattformen. Det er lagt vekt på grensesnittprogrammering, arkitektur, asynkronitet og kommunikasjon med internettbaserte tjenester. Vurderingstype Innlevering Litteraturliste: Tittel Forfatter Forlag Utgitt år Joe Conway, iOS The Big Aaron Programming: Nerd Hillegass 2014 The Big Nerd Ranch , Ranch Guide Guide Christian Keur ObjectiveC The Big Programming: Aaron Nerd 2013 The Big Nerd Hillegass Ranch Ranch Guide Guide ISBN Utgave Kommentar Type Litteratur 978 4 0321942050 Bok Pensum 978 2 0321942067 Bok Pensum PG6100 Enterprise programmering 2 Emnenivå Bachelor Emnekode PG6100 Emnenavn Enterprise programmering 2 Studiepoeng 7,50 Emneansvarlig Naimdjon Takhirov Tilsynssensor Jarle Hansen Godkjenningsdato 01.11.2013 Hensikt Hensikten med dette emnet er å gi videregående kunnskap om distribuerte systemer og komponentbasert utvikling. Emnet gir inngående kunnskap om Java Enterprise Edition med tilhørende applikasjonsarkitektur. Emnet skal gi studentene ferdigheter i det å kunne utvikle applikasjoner basert på Java EE, med tilhørende http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 31/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO funksjonalitet for web services, meldinger, sikkerhet, transaksjoner og brukerstyring. Studenten skal ha kompetanse i å kunne anvende korrekt applikasjonsarkitektur og analysere fordeler og ulemper knyttet til valg teknologi og implementasjonsteknikk Forutsetninger Emnet forutsetter at emnet PG5100 er gjennomført, eller at tilsvarende kunnskaper er ervervet. Læringsutbytte Kunnskap: Kunne forklare begrepet distribuerte systemer/applikasjoner Ha kunnskap om begrepet og teorier vedrørende komponentbasert utvikling Ha kunnskap om fordeler og ulemper ved bruk av Maven som byggsystem Ha kunnskap til Java Enterprise Edition oppbyggning, komponenter og arkitektur (Herunder skissere og forklare arkitekturen til REST, EJB og web applikasjoner). Ha kunnskap om sikkerhet og transaksjoner i JEE Kunne skissere og forklare begrepene synkron og asynkron kommunikasjon Ferdigheter: Kunne lage en distribuert applikasjon som håndterer kommunikasjon mellom klient og tjener i et nettverk Kunne lage en distribuert web applikasjon basert på Java EE teknologi med rammeverk Kunne bruke Maven til å bygge applikasjoner (inkludert dependency management, versjonering og støtte for plugins) Kunne utvikle komponentbaserte webgrensesnitt Kunne utvikle og sette i drift meldingsbønner på en JEE tjener Kunne gjøre aktivt bruk av sikkerhetsmekanismer fra JEE for adgangskontroll og brukerstyring Kunne implementere transaksjoner i en JEE applikasjon Kunne implementere Web Services i en JEE applikasjon Generell kompetanse: Kunne anvende korrekt applikasjonsarkitektur/patterns og analysere fordeler og ulemper knyttet til valg teknologi og implementasjonsteknikk Gjennomføring Emnet gjennomføres med en kombinasjon av forelesninger og egenarbeid (lab). Anbefalt tidsbruk Aktivitet Deltakelse i undervisning Selvstudium Forberedelse til presentasjon/diskusjon i klassen Øving Vurdering Anbefalt tidsbruk totalt Verktøy Valgfritt Java EE IDE Tidsbruk 24 99 12 24 55 200 Karakterskala Letter grades AE for passed and F for failure Vitnemålstekst Emnet har tatt for seg komponent basert utvikling i et dirtribuert miljø. Emnet har vist hvordan man bygger og setter i drift Java Enterprise komponenter som meldingsbønner og web services. Gjennom emnet har det blitt gitt introduksjon til emner som transaksjoner og sikkerhet. Det er lagt vekt på å vise hvordan alle elementene inngår som en helhet i en større applikasjon bygd opp med et fundament i Java Enterprise Edition patterns. Vurderingstype Innlevering Vurdering Skriftlig eksamen og innlevering (hjemmeeksamen) Litteraturliste: Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Litteratur 32/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Beginning Antonio Java EE Apress 2013 Goncalves 7 ISBN10: 143024626X | ISBN13: 1 978 1430246268 Bok Pensum PJ1100 Kreativt webprosjekt Emnenivå Bachelor Emnekode PJ1100 Emnenavn Kreativt webprosjekt Studiepoeng 7,50 Emneansvarlig Eivind Brevik Tilsynssensor Birgit Krogstie Godkjenningsdato Hensikt Etter å ha fullført emnet skal studenten gjennom teamarbeid kunne utføre en kreativ prosess rettet mot design og implementering av en 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/7610/language/norNO 33/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 34/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Tilsynssensor Birgit Krogstie Godkjenningsdato Hensikt Etter å ha fullført emnet skal studenten kunne kjenne til ulike metoder for utvikling av programvare, og kunne gjennomføre et prosjekt med iterativ utvikling. Studenten skal kunne utforme en nettløsning i henhold til grunnleggende brukbarhetskrav med enkel databasefunksjonalitet. Forutsetninger Grunnleggende database og programmeringskunnskaper Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten kunne: kjenne til ulike iterative og kundefokuserte utviklingsprosesser ha kunnskap om roller i iterative utviklingsprosesser kjenne til grunnleggende webdesign, grafisk grensesnitt og struktur ha kunnskap om testing av brukbarhetskrav Ferdigheter Etter å ha fullført emnet skal studenten kunne: kunne anvende teknikk for dokumentasjon av brukerkrav kunne gjennomføre grunnleggende webdesign, med vekt på brukbarhetskrav kunne bruke et versjonshåndteringssystem for administrasjon av prosjektdokumentasjon kunne gjennomføre et mindre prosjekt med iterativ struktur med en intern oppdragsgiver Generell kompetanse Etter å ha fullført emnet skal studenten kunne: kunne dokumentere og vurdere prosjektresultatet etter gitte kriterier kunne dokumentere gjennomført prosjektprosess Gjennomføring Emnet gjennomføres med forelesninger og øvinger, og avsluttes med to uker prosjekt. Studentene løser en gitt caseoppgave i grupper med avsluttende presentasjon. Anbefalt tidsbruk Aktivitet Tidsbruk Deltakelse i undervisning 20 Selvstudium 75 Forberedelse til presentasjon/diskusjon i klassen 10 Øving 20 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 35/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Vurdering 75 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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 36/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Emnet bygger på kunnskaper fra 1.klasse. Prosjektet forutsetter normal progresjon gjennom 2.klasse, da det integrerer kunnskaper og ferdigheter fra emner i de respektive studieprogrammene. Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten: • Kjenne til grunnleggende utviklingsmetoder for programvare • Kjenne til ulike smidige metoder og deres fordeler og ulemper • Kunne beskrive hensikten med og strukturen i Scrum • Kjenne til rammeverk for analyse av teamprosessen • Kjenne til hvordan man arbeider effektivt i grupper Ferdigheter Etter å ha fullført emnet skal studenten: • Kunne analysere gruppeprosessen i et team • Kunne anvende ulike motivasjonsteorier i praksis under arbeid i team • Kunne planlegge et prosjekt og utvikle en prosjektplan i tråd med Scrum • Kunne designe/konfigurere/programmere og teste en større applikasjon som tilfredsstiller kravene i et case, i et sammensatt 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 PJ6000 Hovedprosjekt Emnenivå http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 37/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 38/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Litteraturliste: Tittel Forfatter Forlag Utgitt ISBN år Utgave Kommentar Type Litteratur Project Management for Information Systems Cadle, J. and Prentice Hall Yeates, D. 2007 9780132068581 5th edition Bok Pensum Prosjektoppgaven Rognsaa, krav til Universitetsforlaget 2003 Aage utforming 9788215003641 2 utgave Bok Pensum PJ6100 Undersøkelsesmetoder Emnenivå Bachelor Emnekode PJ6100 Emnenavn Undersøkelsesmetoder Studiepoeng 7,50 Emneansvarlig Hanne Sørum Tilsynssensor Anders Fagerjord Godkjenningsdato 04.11.2013 Hensikt Emnet skal gjøre studenten kjent med metoder med særlig vekt på metoder som har relevans for IT bransjen. Emnet er et støtteemne til hovedprosjektet, primært i forhold til rapportskriving og metode. Forutsetninger Ingen Læringsutbytte Etter å ha fullført emnet skal studenten kunne: Kunnskaper: Gjøre rede for forskjellen mellom kvalitative og kvantitative metoder Gjøre rede for grunnprinsippene i metoder som kvalitative intervjuer, fokusgruppeundersøkelser, brukertesting, surveyundersøkelser og Web/ data mining. Ferdigheter: Etter å ha fullført emnet skal studenten kunne: Gjennomføre en undersøkelse som er relevant for et 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 Tidsbruk http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 39/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 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 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. 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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 40/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO · 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 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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 41/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Emnekode TK2100 Emnenavn Informasjonssikkerhet Studiepoeng 7,50 Emneansvarlig Bjørn Olav Listog Tilsynssensor Kjetil Svarstad Godkjenningsdato 10.12.2011 Hensikt Trusselbildet for en datamaskinbruker er i dag preget av angrep fra datakriminelle som er ute etter direkte økonomisk gevinst, eller å overta enkeltmaskiner for å benytte disse videre til kriminelll virksomhet. Bevissthet om de ulike trusslene som finnes i Internett er forutsetningen for å treffe riktige tiltak. Etter å ha fullført emnet skal en student være i stand til å analysere trusselbildet og foreta egnede sikringstiltak på egen maskin, i eget hjemmenettverk og gi begrunnede råd i forhold til oppsett og teknologivalg for websteder. Man skal også ha oversikt over hvilke lover og forskrifter som gjelder for bruk av datamaskiner til lagring, prosessering og formidling av data, her under personvern og opphavsrett Forutsetninger TK1100, DB1100, PG1100 og PJ1100 Læringsutbytte Kunnskaper Etter å ha fullført emnet skal studenten kunne: forklare hva som menes med informasjonsikkerhet. beskrive de ulike nivåene i informasjonsikkerhet med tilhørende trusselbilde og (mulige) tiltak. beskrive og forklare hvilke sikringstiltak som er tilgjenglig i ulike teknologier vurdere sikkerhetstiltak i forhold til gitte situasjoner Ferdigheter Etter å ha fullført emnet skal studenten kunne: utføre en risikoanalyse i forhold til en bestemt teknologisk løsning og foreslå tilpassede tiltak planleggge og gjennomføre (enkle) sikkerhetstester av bestemte teknologiske løsninger ved hjelp av standardverktøy Generell kompetanse Etter å ha fullført emnet skal studenten kunne: beskrive og følge lover og etiske normer som gjelder mhp opphavsrett og informasjonsikkerhet i Norge reflektere over sikkerhetsaspekter ved egen 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 http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO 42/43 10.3.2015 nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Vitnemålstekst Etter å ha fullført emnet skal studenten kjenne til og kunne beskrive tekniske, lovmessige og holdningsmessige sider ved informasjonsikkerhet for privatpersoner og virksomheter i forhold til bruk av Internett. De skal kunne utføre en systematisk risikovurdering av egen konfigurasjon og bruk av datamaskin på Internett, og kunne gi begrunnede råd til andre. De skal ha tilegnet seg fagterminologien som benyttes innenfor datasikkerhetsfeltet. Pensum I noen delemner publiseres støttelittertur tilpasset norske lover og regler på emnesidene Vurderingstype Skriftlig Vurdering Det er arbeidskrav i emnet som må tilfredstilles for å få eksamen. Karakter er basert på to innleveringer (25%) og en avsluttende skriftlig eksamen (75%). Litteraturliste: Tittel Forfatter Forlag Utgitt år Introduction Goodrich, to Michael T. Pearson 2014 Computer & Roberto Security Tamassia ISBN Utgave Kommentar Type Litteratur 9781 29202 5407 1. Pensum http://nith.studiehandbok.no/layout/set/print/content/view/complete/7610/language/norNO Bok 43/43