Emne - Anvendt programmering - TDT4114
Anvendt programmering
Om
Om emnet
Faglig innhold
Emnet gir en oversikt over ulike programmeringskonsepter, eksempelvis 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 emnet en introduksjon til dataanalyse og visualisering, med bruk av pakkene 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. 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 git. Programmeringsomgivelsene som brukes er Visual Studio Code og Jupyter Notebook.
Læringsutbytte
Kunnskaper
- Grunnleggende konsepter i objektorientert programmering
- 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.
- 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.
- Bruk av programmeringsmiljøer som Visual Studio Code og Jupyter Notebook, og versjonshåndtering med git.
- 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.
- Kunne håndtere datalagring 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.
- Forstå og anvende enhetstesting og versjonshåndtering med git.
- Kunne bruke programmeringsmiljøer som Visual Studio Code og/eller Jupyter Notebook effektivt.
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.
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.
Spesielle vilkår
Anbefalte forkunnskaper
Kunnskaper tilsvarende TDT4109 , TDT4110, TDT4111 (Informasjonsteknologi, grunnkurs)
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 |
Fagområder
- Teknologiske fag