EPN-V2

DATA1600 Programutvikling Emneplan

Engelsk emnenavn
Program Development
Omfang
10.0 stp.
Studieår
2017/2018
Emnehistorikk
  • Innledning

    Dette emnet skal gi studenten videregående ferdigheter innen imperativ programmering og programutvikling. Emnet bygger på grunnleggende forståelse og ferdigheter innen programmering (DAPE1400 eller tilsvarende). Det er forventet av studentene har fulgt emnet «Programmering» i forkant av emnet «Programutvikling». Selv om det ikke er en forutsetning at «Programmering»-emne er bestått for å melde seg på «Programutvikling»-emnet, er det sterkt anbefalt å ta «Programmering» før «Programutvikling». Pensum og materiale som dekkes i kurset «Programmering» ansees som kjent og vil ikke dekkes igjen i kurset «Programutvikling». Merk at emnet «Grunnleggende programmering» og «Webprogrammering» ikke er tilstrekkelige.

  • Forkunnskapskrav

    Ingen ut over opptakskrav.

  • Læringsutbytte

    Etter å ha gjennomført dette emne har studenten følgende læringsutbytte definert i kunnskap, ferdigheter og generell kompetanse:

    Kunnskap

    Studenten kan gjøre rede for:

    • Polymorfisme
    • Designmønstre, arkitektur, og modellering
    • Rekursive funksjoner
    • Alternative programmeringsstiler i Java, som generisk, funksjonell, og samtidig (concurrent) programmering

    Ferdigheter

    Studenten kan håndtere følgende programmeringskonstruksjoner i Java:

    • Abstraksjoner og grafiske brukergrensesnitt
    • Unntakshåndtering, enhetstesting, og debugging
    • Filbehandling og strømmer
    • Tekstmanipulering og regulære uttrykk
    • Algoritmer og datastrukturer i Java Collections

    Generell kompetanse

    Studenten kan:

    • kan planlegge og gjennomføre større programmeringsprosjekter i grupper
    • bruke moderne programmeringsmiljøer samt lagrings- og distribusjonsverktøy
  • Arbeids- og undervisningsformer

    Følgende arbeidskrav er obligatorisk og må være godkjent for å kunne framstille seg til eksamen:

    • Emnet starter med en introduksjonssamling med obligatorisk oppmøte.
    • Studentgruppene må levere en prosjektskisse som beskriver hvordan gruppen vil gå fram for å løse sitt prosjekt.

    Frist for prosjektskissen vil fremgå av undervisningsplanen som gjøres tilgjengelig ved semesterstart.

  • Arbeidskrav og obligatoriske aktiviteter

    Emnet handler om analyse, design, implementasjon og anvendelse av de algoritmene og datastrukturene som brukes i vanlig og avansert databehandling.

  • Vurdering og eksamen

    Ingen ut over opptakskrav.

  • Hjelpemidler ved eksamen

    Gradert skala A-F.

  • Vurderingsuttrykk

    Etter å ha gjennomført dette emnet har studenten følgende læringsutbytte, definert i kunnskap, ferdigheter og generell kompetanse.

    Kunnskap

    Studenten kan:

    • forklare oppbyggingen og hensikten med datastrukturer som tabeller, lister, stakker, køer av ulike typer, heaper, hashtabeller, trær av ulike typer, grafer og filer
    • gjøre rede for virkemåten og effektiviteten til ulike varianter av algoritmer for opptelling, innlegging, søking, sletting, traversering, sortering, optimalisering og komprimering

    Ferdigheter

    Studenten kan:

    • designe, implementere og anvende datastrukturer for ulike behov
    • analysere, designe, implementere og anvende de algoritmene som trengs for å løse konkrete oppgaver
    • bruke både egenutviklede og standardiserte algoritmer og datastrukturer til å løse sammensatte og kompliserte problemer

    Generell kompetanse

    Studenten kan:

    • delta i diskusjoner og gi råd om hvilke datastrukturer og algoritmer det er mest hensiktsmessig å bruke i ulike situasjoner
    • formidle viktigheten og nødvendigheten av å bruke gode strukturer og effektive algoritmer i programmeringsprosjekter
  • Sensorordning

    Emnet bygger på DAPE1400 Programmering og DAPE2000 Matematikk med statistikk. Studenter som ikke har grunnleggende programmerings- og statistikk-kunnskap vil måtte påregne en betydelig egeninnsats for å dekke dette.