Emne - Python for konstruksjonsingeniører - KT6198
Python for konstruksjonsingeniører
Nytt fra studieåret 2025/2026
Om
Om emnet
Faglig innhold
Kurset gir en innføring i Python-programmering med vekt på anvendelser innen konstruksjonsteknikk. Deltakerne lærer grunnleggende installasjon og oppsett av Python (Anaconda, VS Code, Jupyter Notebook), samt sentrale programmeringskonsepter som datatyper, løkker, kontrollstrukturer og klasser. Kurset dekker videre datahåndtering og analyse, inkludert fil-I/O, datastrukturer, visualisering med Matplotlib, samt bruk av Pandas og NumPy/SciPy til analyser.
Med dette som utgangspunkt introduseres deltakere for spesifikke anvendelser innen konstruksjonsteknikk, som pålitelighetsanalyse, parametrisk design, optimalisering og kurvetilpasning, samt utvalgte temaer innen maskinlæring og dynamisk analyse.
Kurset vil også introdusere deltakerne for bruk av Python til parametrisk modellering. Gjennom Rhino og Grasshopper lærer studentene å operere med 3D-geometri, opprette og modifisere modeller, samt arbeide med punktskyer og masker i en konstruksjonsteknisk kontekst.
Til slutt belyses beste praksis for kodeforvaltning og deling, inkludert pakkehåndtering, test-suiter, versjonskontroll (Git) og publisering av Python-pakker.
Læringsutbytte
Etter fullført emne skal studenten ha oppnådd følgende læringsutbytte:
Kunnskap
- Kan forklare grunnleggende konsepter i Python-programmering og relevante biblioteker for datahåndtering, analyse og visualisering.
- Har forståelse for hvordan Python kan anvendes på problemstillinger innen konstruksjonsteknikk, inkludert pålitelighetsanalyse, parametrisk design, optimalisering og maskinlæring.
- Kjenner til metoder for parametrisk modellering med Rhino og Grasshopper, inkludert håndtering av 3D-geometri, punktskyer og masker.
Ferdigheter
- Kan installere og sette opp Python-miljøer (Anaconda, VS Code, Jupyter Notebook).
- Kan skrive Python-kode med bruk av løkker, kontrollstrukturer, klasser, moduler og pakker.
- Kan utføre datahåndtering og analyser ved hjelp av Pandas og NumPy/SciPy, samt lage visualiseringer med Matplotlib.
- Kan utvikle og anvende parametriske modeller på oppgaver innen konstruksjonsteknikk.
- Kan bruke Python-scripting i Rhino/Grasshopper til å manipulere 3D-geometri, endre masker og arbeide med punktskydata.
- Kan bruke versjonskontroll (Git), skrive enkle test-suiter og strukturere kode for gjenbruk og samarbeid.
Generell kompetanse
- Kan kritisk reflektere over hvordan programmering og parametrisk modellering kan styrke ingeniørarbeid innen konstruksjonsteknikk.
- Kan samarbeide effektivt om deling og utvikling av kode i profesjonelle miljøer.
- Kan strukturere, dokumentere og forvalte kode på en måte som sikrer kvalitet, reproduserbarhet og vedlikehold.
Læringsformer og aktiviteter
Kurset organiseres som et intensivt modul over to helger (fredag-søndag). Undervisningen kombinerer korte forelesninger, veiledede øvelser og praktiske programmeringsoppgaver i Python.
Deltakerne arbeider både individuelt og i små grupper med oppgaver som bygger direkte på forelesningsstoffet. Det legges vekt på praktisk problemløsning, der deltakerne anvender Python på relevante case innen konstruksjonsteknikk - både gjennom ren Python-programmering i VS Code/Jupyter Notebook og gjennom parametrisk modellering i Rhino/Grasshopper.
Seminarer brukes til diskusjon og erfaringsutveksling, og deltakerne får tett individuell oppfølging på grunn av det begrensede antallet plasser (maks 10 deltakere).
Arbeidet gjennomføres både i rene Python-miljøer (VS Code, Jupyter Notebook) og i Rhino/Grasshopper, med vekt på aktiv læring gjennom koding, modellering og analyse.
Mer om vurdering
Vurderingen består av en individuell oppgave i form av en kort rapport. Rapporten skal bygge på øvelsene som gjennomføres i løpet av kurset og leveres etter avsluttet undervisningsperiode.
Rapporten skal vise kandidatens evne til å anvende Python-programmering til datahåndtering, analyse og problemløsning innen konstruksjonsteknikk.
Vurderingen gis som bestått/ikke bestått.
Anbefalte forkunnskaper
Deltakerne bør ha bakgrunn i konstruksjonsteknikk på bachelornivå eller høyere. Det kreves ingen tidligere erfaring med programmering, men kjennskap til grunnleggende begreper i matematikk og statistikk vil være en fordel.
Forkunnskapskrav
Det stilles ingen formelle forkunnskapskrav til emnet.
Kursmateriell
Forelesningsnotater vil bli utdelt i løpet av kurset.
Fagområder
- Konstruksjonsteknikk