TDT4114

Anvendt programmering

Vår

Trondheim

Norsk

Oversikt

Snitt

C

3,33

likt

Ståprosent

99 %

likt

Karakterfordeling
Snitt over tid
Ståprosent over tid

Om emnet

Faglig innhold

Emnet gir en oversikt over sentrale programmeringskonsepter, som lamdauttrykk, samlinger og mengdebyggere, samt en innføring i objektorientert programmering.

Det dekker viktige aspekter ved datalagring og feilhåndtering, inkludert filbehandling og unntakshåndtering.

Videre introduseres deltakerne for dataanalyse, visualisering og grunnleggende maskinlæring. Det benyttes populære Python-pakker som NumPy, Matplotlib, SciPy og Pandas. Innen prediktiv analyse lærer deltakerne å forberede data og anvende lineære regresjonsmodeller ved hjelp av scikit-learn.

Emnet legger opp til prosjektarbeid hvor deltakerne kan fordype seg i anvendelser som er relevante for eget fagområde.

Det legges også vekt på enhetstesting og versjonshåndtering med Git. Programmeringsomgivelsene som brukes er Visual Studio Code og Jupyter Notebook.

Læringsmål

Kunnskaper

  • K1: Grunnleggende konsepter i objektorientert programmering
  • K2: Filbehandling og feilhåndtering i Python, inkludert hvordan man leser fra og skriver til filer, og hvordan man håndterer unntak.
  • K3: Dataanalyse og visualisering, inkludert bruk av bibliotekene NumPy, Matplotlib, SciPy og Pandas.
  • K4: 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.
  • K5: Bruk av utviklingsmiljøer som Visual Studio Code, Jupyter Notebook, og versjonshåndtering med git.
  • K6: Enhetstesting i Python, inkludert hvordan man skriver og kjører tester ved hjelp av unittest-rammeverket.
  • K7: Kan forklare noen vanlige måter å bruke KI på innen programmering

Kompetanse:

  • F1: Forstå og anvende programmeringskonsepter som lambda-uttrykk, samlinger, iteratorer og list comprehensions.
  • F2: Forstå prinsippene for objektorientert programmering.
  • F3: Kunne håndtere datalagring og feil, inkludert filbehandling, persistent lagring av informasjon og unntakshåndtering.
  • F4: Forstå og anvende grunnleggende prinsipper for dataanalyse og visualisering ved bruk av modulene NumPy, Matplotlib, SciPy og Pandas.
  • F5: Kunne forberede data og anvende lineære regresjonsmodeller for prediktiv analyse ved hjelp av scikit-learn.
  • F6: Forstå og anvende enhetstesting og versjonshåndtering med git.
  • F7: Kunne bruke programmeringsmiljøer som Visual Studio Code og/eller Jupyter Notebook effektivt.
  • F8: Kan skrive kode dels ved å skrive selv og dels ved å bruke KI.

Generell kompetanse:

  • G1: Kan reflektere over hvordan programmering, og dataanalyse kan anvendes i eget fagområde.
  • G2: Kan samarbeide effektivt i utviklingsprosjekter, inkludert bruk av versjonskontroll og enhetstesting for å sikre kvalitet på programkode.
  • G3: Har forståelse for viktigheten av dokumentasjon, testing og vedlikehold i utvikling av programvare.
  • G4: Kan reflektere over hva som er hensiktsmessig og mindre hensiktsmessig bruk av KI som et hjelpeverktøy for læring.

Læringsformer og aktiviteter

  • Koding på lab: Deltakerne kan delta i koding på lab der de får praktisk erfaring med programmering i Python.
  • Dataanalyseoppgaver: 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.
  • Enhetstesting: Deltakerne kan skrive og kjøre tester for å verifisere at koden deres fungerer som forventet.
  • Versjonshåndtering: Deltakerne kan bruke git for å versjonere koden sin, noe som vil gi dem erfaring med viktig praksis innen programvareutvikling.