Gäller från och med: Höstterminen 2019
Beslutad av: Professor Thomas Johansson
Datum för fastställande: 2019-06-05
Avdelning: Datavetenskap (LTH)
Kurstyp: Gemensam kurs, avancerad nivå och forskarnivå
Kursen ges även på avancerad nivå med kurskoder: EDAA01, EDAF30
Undervisningsspråk: Svenska
För att kunna konstruera programkomponenter som är förändringsbara, återanvändbara och resurssnåla krävs goda kunskaper om såväl avancerade språkkonstruktioner och programmeringstekniker som om dataabstraktion, datastrukturer och algoritmer. Kursens syfte är att ge studenterna utökade kunskaper om objektorienterade programmeringstekniker och om ett urval av algoritmer och datastrukturer lämpade för lösning av vanligt förekommande problem. Kursen skall också ge de färdigheter som krävs för att förstå och utnyttja moderna bibliotek för objektorienterad programmering som implementerar klassiska datastrukturer och algoritmer.
Kunskap och förståelse
För godkänd kurs skall doktoranden
Färdighet och förmåga
För godkänd kurs skall doktoranden
Värderingsförmåga och förhållningssätt
För godkänd kurs skall doktoranden
Objektorienterade begrepp och språkkonstruktioner såsom interface, inre klasser, undantag och parametriserade typer. Viktiga generella gränssnitt såsom Iterator, ListIterator, Comparable och Comparator. Orientering om ramverk för grafiska användargränssnitt. Rekursiv teknik för konstruktion och implementation av algoritmer. Vanliga abstrakta datatyper som mängder, köer, stackar, listor och lexikon samt Javas standardbibliotek för dessa. Datastrukturer som kan utnyttjas för att implementera fundamentala abstrakta datatyper såsom fält, länkade listor, träd och hashtabeller. Något om enkla algoritmer för effektiv sortering och Javas standardbibliotek för dessa. Orientering om tekniker för att analysera algoritmers och datastrukturers resurskrav med avseende på beräkningstid.
B., Koffman E. & P., W.: Data Structures: Abstraction and Design using Java. Wiley, 2010. ISBN 9780470128701.
Litteraturen är inte obligatorisk, men rekommenderad referenslitteratur.
Undervisningsformer: Föreläsningar, laborationer, litteraturkurs som självstudier
Examinationsformer: Skriftlig tentamen, inlämningsuppgifter.
Obligatoriska laborationer och inlämningsuppgifter samt skriftlig tentamen.
Betygsskala: Underkänd, godkänd
Examinator:
Förkunskapskrav: Godkänd på någon av kurserna EDAA45, EDAA20, EDAA50, EDAA55, EDAA65
Förutsatta förkunskaper: Objektorienterad programmering i Java
Kursansvariga:
Hemsida: http://cs.lth.se/edaa01