Emne

Videregående programmering (DAT240)

Studenten skal lære mer avansert programmering i et sterkt typet objektorientert programmeringsspråk. Bruk av programvareutviklingsmetoder som agile til å utvikle et prosjekt.


Dette er emnebeskrivelsen for studieåret 2020-2021

Se emnebeskrivelse og eksamens-/vurderingsinfo for dette studieåret (2024-2025)

Semesters

Fakta

Emnekode

DAT240

Vekting (stp)

10

Semester undervisningsstart

Høst

Undervisningsspråk

Engelsk

Antall semestre

1

Vurderingssemester

Høst

Innhold

  • Programvareutviklingsmetodologier for eksempel smidige metodologier som scrum og kanban
  • Mer utdypende om innkapsling og objektorientert programmering.
  • Polymorfisme i sterkt typete språk, inkludert grensesnitt og abstrakte klasser, SOLID, Design Patterns, Generics
  • Avanserte datastrukturer og algoritmer
  • Parallell programmering
  • Bruk av kompilatorer, build systemer
  • Bruk av versjonskontroll (git) og kodegjennomgang i grupper

Læringsutbytte

Kunnskap:

  • Bruk av sterkt typete programmeringsspråker
  • Objektorientert programmering og polymorfisme
  • Programvareteknikk og utviklingsmetoder som agile (scrum og kanban)
  • SOLID prinsipper og grunnleggende mønstre for programmering (design patterns)
  • Bruk av forskjellige verktøyer som compilers, build tools, debuggers og versjonskontroll

Ferdigheter:

  • Være i stand til å designe, utvikle og feilsøke komplekse programvaresystemer.
  • Kunne bruk av designmønstre

Generell kompetanse:

  • Kunne utvikle større og mer avanserte kjørbare dataprogrammer.

Forkunnskapskrav

Ingeniørfaglig innføringsemne - Data og elektro (ING100)

Anbefalte forkunnskaper

Algoritmer og datastrukturer (DAT200), Databaser (DAT220), Webprogrammering (DAT310)

Eksamen / vurdering

Vurderingsform Vekting Varighet Karakter Hjelpemiddel Exam system Withdrawal deadline Exam date
Muntlig eksamen 1/1 Bokstavkarakterer 02.11.2020 16.11.2020


Prosjektoppgave bestående av en stor programmeringsoppgave. Oppgaven utføres i gruppe. Karakteren for prosjektoppgaven baseres på innlevert programkode og gruppevis muntlig fremføring av innlevert programkode. Begge deler må gjennomføres før endelig karakter fastsettes. Gruppemedlemmene kan få ulik karakter basert på den muntlige fremføringen.

Hvis en student ikke består prosjektoppgaven, må hun/han ta denne om igjen neste gang emnet undervises.

Skriftlig eksamen er digital (Inspera).

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

3 obligatoriske laboppgaver, 3 obligatoriske laboppgaver

Tre obligatoriske individuelle laboppgaver (programmeringsoppgaver). Godkjent/ikke godkjent. Alle programmeringsoppgavene må godkjennes for å få adgang til skriftlig eksamen. Godkjenning skjer ved innlevering via Autograder-systemet for automatisk evaluering, samt etterfølgende godkjenning på lab.

Gjennomføring av obligatorisk lab skal gjøres til angitte frister. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få gjennomføre lab utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.

Konsekvens av at man ikke har fått godkjent laboratoriearbeid er at man ikke får gå opp til eksamen i emnet.

Fagperson(er)

Instituttleder:

Tom Ryen

Emneansvarlig:

Vinay Jayarama Setty

Arbeidsformer

Forelesninger, individuelle programmeringsoppgaver og prosjekt som skal gjøres i grupper.

4 timer med forelesning og 4 øvingstimer pr. uke.

Overlapping

Emne Reduksjon (SP)
Programmering, videregående (BID100_1) , Videregående programmering (DAT240_1) 5
Programvareutvikling (DAT210_1) , Videregående programmering (DAT240_1) 10

Åpent for

Datateknologi - bachelor i ingeniørfag
Enkeltemner ved Det teknisk-naturvitenskaplige fakultet
Industriell økonomi - master i teknologi/siv.ing., femårig Kybernetikk og robotteknologi - Master i teknologi/siv.ing. - 5 år
Utveksling ved Det teknisk- naturvitenskapelige fakultet

Emneevaluering

Skjer vanligvis ved skjema og/eller samtaler etter gjeldende retningslinjer.
Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1