Kursplan

Kursplan: Fördjupad programutveckling

Kurskod: DT1055
Poäng: 7,5 högskolepoäng
Nivå: Grundnivå 1
Akademi: Akademin Industri och samhälle
Ämnestillhörighet: Datateknik (DTA)
Ämnesgrupp: Datateknik
Utbildningsområde: Tekniska området, 100%
Kursen kan ingå i följande huvudområde(n):
Datateknik1
Fördjupningsbeteckning för respektive huvudområde:
1G1F
Fastställd:
Fastställd 2014-06-05.
Kursplanen gäller fr.o.m. 2014-08-21.

Förkunskapskrav: Visa information om behörighetskrav

Lärandemål

Efter avslutad kurs ska den studerande kunna,

  • använda ett objektorienterat programspråk och dess ramverk,
  • redogöra för vanliga typer av datastrukturer,
  • tillämpa inkapsling, arv, polymorfi och olika typer av relationer mellan klasser och objekt,
  • utifrån givna uppgifter identifiera krav och formulera delproblem lämpliga att lösa med hjälp av objektorienterad programutveckling,
  • utforma effektiva och robusta lösningar och implementera dem med hjälp av objektorienterad programutveckling,
  • visa förmåga att muntligt och skriftligt redogöra för och diskutera information, problem och lösningar i samband med objektorienterad programutveckling.

Innehåll

Kursens innehåll är uppdelat i fyra moment.

Moment 1 (1,5 hp)
Momentet behandlar grundläggande språkelement. Klasser och objekt introduceras. Vikt läggs vid användning av klasser och objekt. Vidare behandlas hur man utformar egna klasser och hur objekt instanseras av sådana klasser. Betydelsen av inkapslade medlemmar betonas. En introduktion till objektorienterad problemanalys ges.

Moment 2 (1,5 hp)
Olika typer av relationer mellan objekt och klasser studeras såsom associationer, aggregationer och generaliseringar. Arv, abstraktioner av klasser, polymorfi och objektsamlingar behandlas. Det ges en introduktion till design av objektorienterade lösningar. Därtill behandlas UML (Unified Modelling Language). UML används för att skapa modeller av de lösningar som skall konstrueras syftande till att det ska bli enklare att förstå problemen och utforma lösningar som är lämpliga att realisera i form av datorprogram.

Moment 3 (1,5 hp)
Vanliga abstrakta datatyper såsom, stack, kö och tabell presenteras. Stödjande datatstrukturer diskuteras, för och nackdelar med arrayer, länkade listor, trädstrukturer och hashtabeller belyses.

Moment 4 (3,0 hp)
Momentet utgör en konsolidering av tidigare moment samt en fördjupning i tekniker som stöds av språket och dess ramverk. Filhantering, undantag, händelser, delegater och structs är exempel på vad som studeras. Studenterna löser i form av ett projektarbete en större uppgift med hjälp av objektorienterad programutveckling.

Examinationsformer

Varje delmoment 1 - 3 har vardera en skriftlig inlämningsuppgift (U-G). Moment 4 har en muntlig och skriftlig redovisning av ett projektarbete och en datorbaserad salstentamen, (U-VG).

Arbetsformer

Studenten förväntas förvärva kunskaper och färdigheter främst via självstudier och projektarbete. Grundmaterialet för studierna utgörs av föreläsningar, övningsuppgifter, inlämningsuppgifter och kurslitteratur.

Betyg

Som betygsskala används U - VG

Betyg rapporteras för varje fullföljt moment. Kursens slutbetyg ges av betyget från moment 4.

Förkunskapskrav Visa information om behörighetskrav

  • Grundläggande programmering 7,5 hp eller motsvarande kunskaper

Övrigt

Om kursen ges på distans så ingår en obligatorisk träff på campus. Dessutom måste studenten då ombesörja att hon eller han har tillgång till en dator med Microsoft operativsystem, Windows 7 eller senare version, samt Internet bredbandsuppkoppling om minst 2Mbit/s. Vidare krävs en webbkamera och ett headset med mikrofon.

Ersätter DT1038.

Summary in English

After completing the course, the student shall be able to,

  • use an object-oriented programming language and its framework,
  • describe common types of data structures,
  • apply encapsulation, inheritance, polymorphism, and different types of relationships between classes and objects,
  • identify requirements and formulate subproblems, based on provided information, that are suitable for solving with the help of object-oriented program development,
  • design effective and robust solutions, and implement these using object-oriented programming,
  • demonstrate an ability, both orally and in written form, to discuss information, problems and solutions related to object-oriented program development.

Litteratur

Referenslitteratur