Emne

Grunnleggende programmering (DAT120)

Fakta

Emnekode DAT120

Vekting (stp) 10

Semester undervisningsstart Høst

Undervisningsspråk Norsk

Antall semestre 1

Vurderingssemester Høst

Timeplan Vis timeplan

Litteratur Pensumlisten finner du i Leganto

Intro

Studenten skal lære seg hvordan å skrive og kjøre dataprogrammer i programmeringsspråket Python. Studenten skal lære seg det grunnleggende om hvordan en datamaskin virker. I tillegg skal studenten lære seg grunnleggende IKT sikkerhet.

Innhold

Programmering i språket Python. Emnet skal gi en grunnleggende forståelse for strukturert og objektorientert programmering og evnen til å skrive og kjøre egendefinerte programmer. Studenten skal lære hvordan å bruke ferdigdefinerte funksjoner og klasser, samt hvordan å lage sine egne funksjoner og klasser. Et viktig konsept er hvordan å dele opp et problem i moduler og så lage modulene hver for seg. Modulene kan være funksjoner eller klasser. Studentene skal lære seg enkel testing av modulene de har laget. Studentene skal lære seg hvordan programmet deres kan ta imot beskjeder fra brukeren. Studentene skal lære seg hvordan programmet deres kan lese data fra filer og skrive data til filer. Studentene skal lære seg grunnleggende bruk av Python datastrukturene liste, tuple, mengde og dictionary.

Studentene skal også lære seg det grunnleggende om hvordan en datamaskin er bygd opp samt det grunnleggende om datasikkerhet.

Læringsutbytte

Kunnskap

  • Ha en grunnleggende forståelse for hvordan en datamaskin virker
  • Ha en grunnleggende forståelse for strukturert programmering
  • Ha en grunnleggende forståelse for objektorientert programmering
  • Kunne begreper som variabler, datatyper, kontrollstrukturer, lister, funksjoner, klasser og objekter.
  • Ha en grunnleggende forståelse for datasikkerhet

Ferdigheter

  • Kunne løse programmeringsoppgaver ved bruk av Python som programmeringsspråk
  • Kunne skrive og kjøre egendefinerte programmer ved bruk av klasser og objekter, funksjoner, kontrollstrukturer og lister.
  • Kunne bruke metoder fra ferdigdefinerte klasser, opprette egendefinerte klasser og objekter og kunne opprette kommunikasjon mellom objekter.
  • Kunne grunnleggende bruk av et versjonskontrollsystem (Git)

Generell kompetanse

  • Kunne planlegge og kode kjørbare dataprogrammer

Forkunnskapskrav

Ingen

Eksamen / vurdering

Skriftlig eksamen

Vekt 1/1

Varighet 4 Timer

Karakter Bokstavkarakterer

Hjelpemiddel Egne håndskrevne notater eller trykte notater 1), Godkjent kalkulator, Lærebok 2)

Eksamenssystem Inspera assessment

Trekkfrist 24.11.2025

Eksamensdato 08.12.2025

1) Du kan ha med to A4-ark med egne notater på eksamen. Arkene kan være håndskrevet eller maskinskrevet. Du har lov til å skrive på begge sider.

2) Du har lov til å bruke én av de to pensumbøkene som er anbefalt for emnet på eksamen.

Dette emnet har digital eksamen.

Vilkår for å gå opp til eksamen/vurdering

Obligatoriske innleveringsoppgaver

Det blir totalt gitt 10 øvinger i emnet. De to første øvingene er frivillige. De resterende åtte er obligatoriske og må være godkjent for å få gå opp til eksamen.

Gjennomføring av obligatoriske øvinger skal gjøres til de tider og i de grupper som er oppsatt og publisert på Canvas. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få godkjent øvinger utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.

Konsekvensen av at du ikke har fått godkjent øvingsoppgavene er at du ikke får gå opp til eksamen i faget.

Arbeidsformer

Emnet vil ha seks forelesningstimer i starten og fire forelesningstimer resten av semesteret. Det vil være mellom 4 og 8 øvingstimer i uka hvor studentene kan få hjelp med de obligatoriske innleveringsoppgavene.

Overlapping

Emne Reduksjon (SP)
Grunnleggende programmering (DAT110_1) , Grunnleggende programmering (DAT120_1) 7
Objektorientert programmering (DAT100_1) , Grunnleggende programmering (DAT120_1) 5
Grunnleggende programmering (DAT120_1) , Introduksjon til Programmering (DAT125_1) 5

Åpent for

Åpent emne for alle studenter med en aktiv studierett på lavere grads nivå og som fyller kravene til generell studiekompetanse (GSK).

Opptakskrav

Generell studiekompetanse (GSK).

Emneevaluering

Fakultetet avgjør om det skal gjennomføres tidligdialog i alle emner eller i utvalgte grupper av emner. Formålet er å få tilbakemeldinger fra studentene for forbedringer i semesteret. I tillegg skal det gjennomføres en digital emneevaluering minst hvert tredje år for å innhente studentenes erfaringer.

Litteratur

Other Pensum

Det finnes mange gode on-line ressurser for å lære Python. For eksempel vil W3Schools sin Python tutorial (https://www.w3schools.com/python/default.asp) bli brukt. Faglærer sin erfaring er at mange studenter ikke bruker eller trenger noen fysisk lærebok i dette faget. Dette faget har derfor ikke en definert lærebok. 

For de som likevel ønsker en fysisk lærebok er det listet opp tre alternativer under anbefalt litteratur. I tillegg er det listet opp ei lærebok i datasikkerhet for de som ønsker å lese mer om dette temaet enn det som er pensum i dette faget. Temaene som er pensum vil bli postet på Canvas tidlig i faget. Forelesningsvideoene, eksempel-programmene, øvingene og løsningsforslagene som blir postet på Canvas i løpet av semesteret definerer pensum.

Book Python for realfag Haugen, Finn, Lysaker, Marius, Bergen, Fagbokforlaget, 600 sider, 2023, isbn:9788245046052,

Dette er en lengre Python lærebok på Norsk som først og fremst er rettet mot studenter som studerer andre ingeniør-disipliner enn data. Den har derfor mange gode eksempler på bruk av Python i andre ingeniør-disipliner enn data. Merk at bare første halvpart av denne boka (fram til og med kapittel 13) vil være pensum i DAT120, og dette dekker mesteparten av pensum i DAT120. De seinere kapitlene kan være nyttige for bruk av Python i andre fag seinere i et ingeniørstudium og inneholder for eksempel noen metoder for numeriske beregninger.

Book Starting out with Python Gaddis, Tony, Harlow, Pearson, 725, 2024; ©, isbn:9781292736037,

Dette er en lengre og mer detaljert engelskspråklig lærebok i programmering, som nok er først og fremst rettet mot datastudenter. Faget vil stort sett følge denne boka. Rundt 3/4 av boka dekker pensum i DAT120, resten er utenfor pensum, men nyttig å lese for seinere for datastudenter.

Book Objektorientert programmering med Python Løvold, Henrik Hillestad, Bergen, Fagbokforlaget, 230 sider, 2024, isbn:9788245051568,

Dette er en relativt kortfattet norskspråklig lærebok først og fremst rettet mot datastudenter. 3/4 av boka er pensum i DAT120, resten er nyttig å lese for datastudenter.

Book Datasikkerhet ikke bli svindlerens neste offer Nätt, Tom Heine, Heide, Christian F., Oslo, Gyldendal, 415 s., [2021], isbn:9788205539068, Dette er ei bok for de som enten ønsker ei lærebok som dekker IKT-sikkerhet modulen og/eller ønsker å lese mer om dette temaet enn det som er i IKT sikkerhet modulen.
Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1