Emne
Videregående programmering (DAT240)
Studenten skal lære mer avansert programmering i et sterkt typet objektorientert programmeringsspråk. Beste programmeringspraksis og testing.
Dette er emnebeskrivelsen for studieåret 2019-2020. Merk at det kan komme endringer.
Semesters
Fakta
Emnekode
DAT240
Vekting (stp)
10
Semester undervisningsstart
Høst
Undervisningsspråk
Engelsk
Antall semestre
1
Vurderingssemester
Høst
Innhold
- Introduksjon til Java. Rask gjennomgang av syntaksen til språket for datatyper, metoder, klasser og objekter
- Mer utdypende om innkapsling og objektorientert programmering.
- Polymorfisme i sterkt typete språk, inkludert grensesnitt og abstrakte klasser
- Design Patterns
- Generics
- Parallell programmering
- Bruk av kompilatorer, programmeringsverktøy og debugging-verktøy
- Bruk av versjonskontroll (git) og kodegjennomgang i grupper
- Clean code, error handling, Unit Testing/TDD, debugging and profiling tools
- Introduction to functional programming (Java8/scala)
Læringsutbytte
Kunnskap:
- Bruk av sterkt typete programmeringsspråk som Java
- Objektorientert programmering og polymorfisme
- 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 design mønstre, bruk av verktøy for feilsøking og testing
Generell kompetanse:
- Kunne utvikle større og mer avanserte kjørbare dataprogrammer.
Forkunnskapskrav
Anbefalte forkunnskaper
Eksamen / vurdering
Vurderingsform | Vekting | Varighet | Karakter | Hjelpemiddel | Exam system | Withdrawal deadline | Exam date |
---|---|---|---|---|---|---|---|
Programmeringsprosjekt og muntlig prøve | 2/5 | Bokstavkarakterer | — | — | — | ||
En skriftlig prøve | 3/5 | 4 Timer | Bokstavkarakterer | — | 04.11.2019 | 18.11.2019 |
Prosjektoppgave bestående av en stor programmeringsoppgave. Prosjektoppgaven utføres i gruppe. Karakteren for prosjektoppgaven baseres på innlevert programkode og individuell muntlig gjennomgang av innlevert programkode. Begge deler må gjennomføres før endelig karakter fastsettes. Gruppemedlemmene kan få ulik karakter basert på den muntlige gjennomgangen.
Hvis en student ikke består prosjektoppgaven, må hun/han ta dette om igjen neste gang kurset undervises.
Vilkår for å gå opp til eksamen/vurdering
Tre obligatoriske individuelle laboppgaver (programmeringsoppgaver). Godkjent/ikke godkjent. Alle programmeringsoppgavene må godkjennes for å gå opp til skriftlig- og lab-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 de tider og i de grupper som er oppsatt. 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)
Faglærer:
Glenn Frode HenriksenInstituttleder:
Tom RyenEmneansvarlig:
Vinay Jayarama SettyArbeidsformer
Forelesninger og gruppeøvinger. Programmeringsoppgaver som skal gjøres i grupper på 2-3 studenter.
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
Emneevaluering
Litteratur
For Java basics: Head First Java, 2nd Edition by Kathy Sierra and Bert Bates Publisher: O'Reilly Media, Inc. ISBN: 9780596009205
For best coding practices: Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin. Prentice Hall, ISBN: 9780136083238
Domain-Driven Design: Tackling Complexity in the Heart of Software 1st Edition by Eric Evans ISBN-13: 978-0321125217