Teknisk modellering (MOD300)
I dette emnet vil du forbedre kodeferdighetene og modelleringsferdighetene dine gjennom praktisk arbeid med større kodeprosjekter. Du vil lære hvordan Python biblioteker og numeriske metoder du har lært i tidligere emne som DAT 120, MAF 310, samt metoder forelest i dette emnet, kan brukes til å studere reelle problemstillinger. Gjennom gruppearbeid vil du lære å kode modeller som beskriver virkeligheten og hvordan vi kan bruke modeller til å få bedre innsikt i fysiske prosesser og optimalisere dem. Modellene vi jobber med vil være relevante for ulike ingeniørdisipliner: modeller av ulike fysiske systemer, inkludert modeller der usikkerhet spiller en sentral rolle, datadrevne modeller som maskinlæringsmodeller, og modeller med regulering (reguleringsteknikk). Sentralt i emnet er anvendelser, du vil jobbe med innlesning av data, utvikling av modeller, sammenlikne modell og data, samt fremstilling av resultatene i rapportform.
Etter endt emne vil du være godt forberedt for å bruke Python for å effektivisere arbeidsflyten din både som student og arbeidstaker. Du vil også være godt forberedt til å gjennomføre større prosjektoppgaver som for eksempel en bacheloroppgave, vite hvordan man best bygger opp en prosjektrapport og fremstiller resultatene på en god og oversiktlig måte.
Dette er emnebeskrivelsen for studieåret 2023-2024. Merk at det kan komme endringer.
Emnekode
MOD300
Versjon
1
Vekting (stp)
10
Semester undervisningsstart
Høst
Antall semestre
1
Vurderingssemester
Høst
Undervisningsspråk
Engelsk, Norsk
Innhold
Emnet er delt inn i fire deler: i) Introduksjon til god kodeskikk og rapportskriving: hvordan kode på en slik måte at koden kan gjenbrukes og lett utvides. Hvordan skrive en god rapport. ii) Reguleringsteknikk: hvordan modellere systemer som trenger tilfredsstillende regulering, iii) Monte Carlo teknikker for modellering av prosesser med usikkerhet, iv) Maskinlæringsmodeller for å lage datadrevne modeller av komplekse systemer.
Eksempler på modeller og metoder som kan bli forelest: Ordinære differensiallikninger og vanlige løsningsmetoder, sensitivitetsanalyser, filtrering av data, bruk av integral og derivasjons (PID) kontroller, Monte Carlo integrasjon, Markov kjeder, Simulated anealing, maskinlæring (kunstig nevralt nettverk)
Læringsutbytte
Kunnskap:
Ha kunnskap om hvordan man kan anvende ordinære differensiallikninger til å modellere ulike prosesser
Ha kunnskap om hvordan kontrollteori kan anvendes for ulike systemer
Ha kunnskap om hvordan man lager maskinlæringsmodeller ved bruk av kun data
Ha kunnskap om hvordan usikkerhet kan modelleres
Ferdigheter:
Kunne konstruere matematiske modeller av ulike systemer og løse disse ved hjelp av passende løsningsmetoder
Bruke modeller til å analysere virkelighetsnære systemer
Kunne skrive kode som er modulær og som lettere kan utvides
Generell kompetanse:
Skrive prosjektrapporter, og fremstille resultater på en oversiktlig måte
Python programmering, både funksjonell og objektorientert programmering
Erfaring med de mest vanlige Python bibliotekene
Forkunnskapskrav
Anbefalte forkunnskaper
Eksamen / vurdering
Vurderingsform | Vekting | Varighet | Karakter | Hjelpemiddel |
---|---|---|---|---|
Prosjektoppgave | 1/1 | Bokstavkarakterer |
Mappevurdering: 4 prosjektoppgaver med rapporter, en rapport bestått/ikke bestått og tre rapporter som vektes likt. Prosjektene varer i ca 2 uker. Ingen skriftlig eller muntlig eksamen. Hvis en student stryker eller ønsker å forbedre karakter må hun eller han ta kurset på nytt.
Fagperson(er)
Faglærer:
Mesfin Belayneh AgonafirFaglærer:
Kjell Kåre FjeldeEmneansvarlig:
Aksel HiorthFaglærer:
Aksel HiorthArbeidsformer
Forelesninger og praktiske programmeringsøvelser. Studenter vil bli oppfordret til å arbeide i grupper på opptil 3 personer, men kan også velge å jobbe individuelt.
4 timer forelesning med øvelser