TDT4114
Anvendt programmering
Vår
Trondheim
Norsk
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.