Programplaner og emneplaner - Student
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.