Mitt slutprojekt i kursen

Kursplan

Utdrag ur kursplanen:

Syfte

Programmering ligger till grund för det mesta som hör till tillämpad IT. En stor del av dagens system är uppbyggda enligt objektorienterade principer med olika varianter av datastrukturer och algoritmer. Syftet är att studenten efter fullföljd kurs ska ha de kunskaper i objektorienterad programmering, datastrukturer och algoritmer som krävs för fortsatta studier i datavetenskap

Innehåll

Kursen omfattar följande moment:

  • DEL I : I detta moment ingår grundläggande koncept inom programmering med syntax i C++, såsom typer, variabler, in- och utmatning, iteration , selektion, funktioner samt fält (arrayer). Dessutom berörs filhantering samt grafiska användargränssnitt. Klasser och objekt (medlemsvariabler, medlemsfunktioner, konstruktorer, destruktorer) samt några sök- och sorteringsalgoritmer introduceras.

  • DEL II: Detta moment berör i huvudsak objektorientering där klasser och objekt behandlas djupare. Begrepp såsom operatoröveragring, överskuggning, klassrelationer (arv, compostion, association) belyses. Övriga delar som ingår är sida 1 rekursion, felsökning (debugging), pekare, mallar samt introduktion av komplexitetsanalys.

  • DEL III: Här behandlas primärt datastrukturer och algoritmer. Stack, Kö, Prioritetskö, Lista, Träd och Grafer är några av de strukturer som belyses. För dessa hanteras olika implementationsalternativ (bland annat länking). Ytterligare sorteringsalgortimer tas upp. Analys av algoritmer med avseende på tidseffektivitet genomförs.

  • DEL IV: I detta moment behandlas ett annat programspråk exempelvis Java eller C#. Skillnader och likheter gentemot C++ belyses. Specifikt behandlas grafiska användargränsnitt.

Kursmål

Efter genomgången kurs ska studenten:

  • ha förvärvat goda erfarenheter av problemlösning och kunna implementera sina lösningar i två objektorienterade programmeringsspråk – C++ och exempelvis Java eller C#.

  • förstå och kunna värdera olika datastrukturer samt konstruera och analysera olika typer av algoritmer.