course-details-portlet

TDT4114

Anvendt programmering

Vurdering og obligatoriske aktiviteter kan bli endret frem til 20. september.

Studiepoeng 7,5
Nivå Grunnleggende emner, nivå I
Undervisningsstart Vår 2027
Varighet 1 semester
Undervisningsspråk Norsk
Sted Trondheim
Vurderingsordning Mappe/sammensatt vurdering

Om

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æringsutbytte

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.

Obligatoriske aktiviteter

  • Obligatoriske øvinger

Mer om vurdering

I emnet er det innført flere obligatoriske aktiviteter som støtter læringsmålene og gir studentene mulighet til å anvende teori i praksis. Disse må være godkjent for å få vurdert mappen. Dette inkluderer deltakelse og arbeid i utvalgte øvinger knyttet til sentrale milepæler i emnet. Nærmere informasjon om hvilke aktiviteter dette gjelder, gis ved semesterstart.

Mappevurdering som gjennomføres i mindre grupper gir grunnlag for bestått/ikke-bestått i emnet. I mappen inngår et programmeringsprosjekt og et enkelt individuelt refleksjonsnotat over egenlæring. Prosjekt og refleksjonsnotat leveres samlet i slutten av semesteret.

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 individuell karakterer basert på dokumentert manglende innsats og/eller arbeidsmengde.

Ved frivillig gjentak, stryk eller gyldig fravær, må hele mappen tas på nytt i semester med undervisning.

Kursmateriell

Oppgis ved semesterstart.

Studiepoengreduksjon

Emnekode Reduksjon Fra
TDT4100 3,7 sp Høst 2024
TDT4102 3,7 sp Høst 2024
DCST1007 3,7 sp Høst 2024
INFT1006 3,7 sp Høst 2024
IT6203 3,7 sp Høst 2026
IT6204 2,5 sp Høst 2026
Dette emne har faglig overlapp med emnene i tabellen over. Om du tar emner som overlapper får du studiepoengreduksjon i det emnet du har dårligst karakter i. Dersom karakteren er lik i de to emnene gis det reduksjon i det emnet som er avlagt sist.

Fagområder

  • Teknologiske fag

Kontaktinformasjon

Emneansvarlig/koordinator

Ansvarlig enhet

Institutt for datateknologi og informatikk

Eksamen

Eksamen

Vurderingsordning: Mappe/sammensatt vurdering
Karakter: Bestått/ Ikke bestått

Ordinær eksamen - Vår 2027

Mappe/sammensatt vurdering
Vekting 100/100 Eksamenssystem Inspera Assessment