course-details-portlet

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.

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
Flere sider om emnet

Ingen

Fakta om emnet

Versjon: 1
Studiepoeng:  7.5 SP
Studienivå: Grunnleggende emner, nivå I

Undervisning

Termin nr.: 1
Undervises:  VÅR 2025

Undervisningsspråk: Norsk

Sted: Trondheim

Fagområde(r)
  • Teknologiske fag
Kontaktinformasjon
Emneansvarlig/koordinator:

Ansvarlig enhet
Institutt for datateknologi og informatikk

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.
Eksamensinfo

For mer info om oppmelding til og gjennomføring av eksamen, se "Innsida - Eksamen"

Mer om eksamen ved NTNU