Emne - Anvendt programmering - TDT4114
TDT4114 - Anvendt programmering
Om emnet
Nytt fra studieåret 2024/2025
Vurderingsordning
Vurderingsordning: Mappe
Karakter: Bokstavkarakterer
Vurdering | Vekting | Varighet | Delkarakter | Hjelpemidler |
---|---|---|---|---|
Mappe | 100/100 |
Faglig innhold
Emnet gir en oversikt over ulike programmeringskonsepter, inkludert lamdauttrykk, samlinger, iteratorer og list comprehensions. Det gir også en innføring i objektorientert programmering. Det dekker viktige aspekter ved datalagring og feilhåndtering, som filbehandling, persistent lagring av informasjon og unntakshåndtering.
Videre gir det en introduksjon til dataanalyse og visualisering, med bruk av modulene NumPy, Matplotlib, SciPy og Pandas. Prediktiv analyse er også inkludert, med forberedelse av data og anvendelse av lineære regresjonsmodeller ved hjelp av scikit-learn. Andre anvendelser inkluderer numerisk derivasjon og integrasjon, løsning av likninger, statistikk og sannsynlighetsregning. Emnet legger opp til prosjektarbeid hvor deltakerne gis mulighet til å fordype seg i anvendelser som har relevans for eget fagområde.
Det legges også vekt på enhetstesting og versjonshåndtering med gitlab. Programmeringsomgivelsene som brukes er Visual Studio Code og/eller Jupyter Notebook, med tilgang til Jupyter-server på NTNU.
Programmeringskonsepter: Lamdauttrykk, samlinger, iteratorer, list comprehensions
Introduksjon til Objekt orientert programmering: klasser, objekter, metoder, arv og polymorfi
Datalagring og feilhåndtering: Filbehandling, persistent lagring av informasjon, og unntakshåndtering.
Dataanalyse og visualisering: Prosessering og visualisering av måledata og iterativ løsning av ligninger. Grunnleggende forståelse og bruk av modulene NumPy, Matplotlib , SciPy, og Pandas.
Prediktiv analyse: forberedelse av data og anvendelse av lineære regresjonsmodeller Grunnleggende forståelse og bruk av scikit-learn.
Andre anvendelser: Numerisk derivasjon og integrasjon, løsning av likninger, statistikk og sannsynlighetsregning
Enhetstesting & versjonshåndtering med GitLab.
Utviklingsmiljø: Visual Studio Code og/eller Jupyter Notebook brukes som programmeringsomgivelse. Alle får tilgang til Jupyter-server på NTNU.
Læringsutbytte
Kunnskaper
- Grunnleggende programmeringsferdigheter, inkludert forståelse av variabler, datatyper, kontrollstrukturer (som løkker og betingede uttalelser), og funksjoner i Python.
- Grunnleggende konsepter i objektorientert programmering, som klasser, objekter, metoder, arv og polymorfi.
- Filbehandling og feilhåndtering i Python, inkludert hvordan man leser fra og skriver til filer, og hvordan man håndterer unntak.
- Dataanalyse og visualisering, inkludert bruk av bibliotekene NumPy, Matplotlib, SciPy og Pandas.
- Grunnleggende statistikk og sannsynlighetsregning, inkludert forståelse av konsepter som gjennomsnitt, median, standardavvik, korrelasjon, sannsynlighet og sannsynlighetsfordelinger.
- Lineær regresjon og andre prediktive modelleringsteknikker, inkludert hvordan man forbereder data for modellering, hvordan man trener og validerer en modell, og hvordan man tolker modellens resultater.
- Numeriske metoder, inkludert numerisk derivasjon og integrasjon, og løsning av likninger.
- Bruk av programmeringsmiljøer som Visual Studio Code og Jupyter Notebook, og versjonshåndtering med GitLab.
- Enhetstesting i Python, inkludert hvordan man skriver og kjører tester ved hjelp av unittest-rammeverket.
Kompetanse:
- Forstå og anvende programmeringskonsepter som lambda-uttrykk, samlinger, iteratorer og list comprehensions.
- Forstå prinsippene for objektorientert programmering, inkludert arv og polymorfi.
- Kunne håndtere data lagring og feil, inkludert filbehandling, persistent lagring av informasjon og unntakshåndtering.
- Forstå og anvende grunnleggende prinsipper for dataanalyse og visualisering ved bruk av modulene NumPy, Matplotlib, SciPy og Pandas.
- Kunne forberede data og anvende lineære regresjonsmodeller for prediktiv analyse ved hjelp av scikit-learn.
- Kunne anvende numerisk derivasjon og integrasjon, løse likninger, og forstå grunnleggende statistikk og sannsynlighetsregning.
- Forstå og anvende enhetstesting og versjonshåndtering med gitlab.
- Kunne bruke programmeringsmiljøer som Visual Studio Code og/eller Jupyter Notebook effektivt, og kunne jobbe med Jupyter-server på NTNU
Læringsformer og aktiviteter
Det legges opp til selvstudie på basiskunnskaper i programmering. Video- og andre læringsressurser gjøres tilgjengelig, og deltakerne blir ledet i relevante temaer de må fordype seg i.
- Koding på lab: Deltakerne kan delta i koding på lab der de får praktisk erfaring med programmering i Python. Dette kan omfatte oppgaver som å skrive funksjoner, jobbe med objektorientert programmering, og håndtering av filer og feil.
- Dataanalyse oppgaver: Deltakerne kan jobbe med øvingsoppgaver som involverer datainnsamling, rengjøring, analyse og visualisering. Dette vil gi dem praktisk erfaring med bibliotekene NumPy, Matplotlib og Pandas.
- Prediktiv Modellering: Deltakerne kan jobbe med oppgaver som krever bruk av lineær regresjon og andre prediktive modelleringsteknikker for å analysere og tolke data.
- Numeriske Metoder: Deltakerne kan løse problemer som involverer numerisk derivasjon og integrasjon, og løsning av likninger.
- Enhetstesting: Deltakerne kan skrive og kjøre tester for å verifisere at koden deres fungerer som forventet.
- Versjonshåndtering: Deltakerne kan bruke GitLab for å versjonere koden sin, noe som vil gi dem erfaring med viktig praksis innen programvareutvikling.
Selvstudium: Deltakerne kan oppfordres til å utforske og lære mer om Python og relaterte emner på egen hånd, ved hjelp av online ressurser, bøker, og så videre.
Obligatoriske aktiviteter
- Obligatoriske øvinger
Mer om vurdering
Vurderingsform: Mappevurdering gir grunnlag for sluttkarakter i emnet.
I mappen inngår et sett med oppgaver og en rapport. Det gis tilbakemeldinger i løpet av semesteret på innholdet i mappen. Alle studenter i gruppen får normalt samme karakter basert på gruppebesvarelsen. I særskilte tilfeller hvor en student ikke har bidratt tilstrekkelig, kan studenten gis en individuelle karakterer basert på dokumentert manglende innsats og/eller arbeidsmengde.
Ved frivillig gjentak, ikke-bestått eller gyldig fravær, må hele mappen tas på nytt ved neste gjennomføring av emnet.
Spesielle vilkår
Anbefalte forkunnskaper
Grunnleggende programmering tilsvarende TDT4109 , TDT4110 eller TDT4111 Informasjonsteknologi, grunnkurs.
Forkunnskapskrav
Kursmateriell
Oppgis ved semesterstart.
Studiepoengreduksjon
Emnekode | Reduksjon | Fra | Til |
---|---|---|---|
TDT4100 | 3.7 | HØST 2024 | |
TDT4102 | 3.7 | HØST 2024 | |
DCST1007 | 3.7 | HØST 2024 | |
INFT1006 | 3.7 | HØST 2024 |
Ingen
Versjon: 1
Studiepoeng:
7.5 SP
Studienivå: Grunnleggende emner, nivå I
Termin nr.: 1
Undervises: VÅR 2025
Undervisningsspråk: Norsk
Sted: Trondheim
- Teknologiske fag
Eksamensinfo
Vurderingsordning: Mappe
- Termin Statuskode Vurdering Vekting Hjelpemidler Dato Tid Eksamens- system Rom *
- Vår ORD Mappe 100/100 INSPERA
-
Rom Bygning Antall kandidater
- * Skriftlig eksamen plasseres på rom 3 dager før eksamensdato. Hvis mer enn ett rom er oppgitt, finner du ditt rom på Studentweb.
For mer info om oppmelding til og gjennomføring av eksamen, se "Innsida - Eksamen"