Avancerad programmering i C++

Sammanfattning

Behörighetskrav

Kurser om minst 45 hp datavetenskap varav minst 15 hp objektorienterad programmering. I detta ska ingå minst 4 hp programmering i C++, t.ex. 4 hp från DA378A.

Kursplan

Kursplan för studenter höst 2018

Kurskod:
DA278A version 1
Engelsk benämning:
Advanced Programming in C++
Fördjupningsnivå
G1F
Huvudområden:
Datavetenskap
Undervisningsspråk:
Svenska, inslag av engelska kan förekomma.
Fastställandedatum:
15 februari 2018
Beslutande instans:
Fakulteten för teknik och samhälle
Gäller från:
03 september 2018

Förkunskapskrav

Kurser om minst 45 hp datavetenskap varav minst 15 hp objektorienterad programmering. I detta ska ingå minst 4 hp programmering i C++, t.ex. 4 hp från DA378A.

Fördjupning i förhållande till examensfordringarna

Kursen ingår i huvudområdet datavetenskap på nivå 31-60 och kan ingå i examensfordringarna för kandidatexamen i datavetenskap.

Syfte

Kursen syftar till att studenten utvecklar förståelse för C++ mekanismer och språkkonstruktioner med särskild inriktning på effektivitet. Vidare utvecklar studenten, med hjälp av problemlösning och template-programmering, färdighet att kunna konstruera programvara i paritet med standardbibliotek.

Innehåll

Kursen innehåller följande moment:

  • De avancerade delarna av C++: multipel-ärvning, polymorfism, minneshantering, templates, traits, meta-programmering, undantagshantering, överlagring av operatorer, smarta pekare
  • Genomgång av delar av Standard Library Template (STL) och även de bakomliggande resonemangen för konstruktionen av STL

Lärandemål

Kunskap och förståelse
Efter avslutad kurs ska studenten:

  • visa förståelse för avancerade språkkonstruktioner i C++, t.ex. undantagshantering, typkonvertering, operatoröverlagring, templates, polymorphism och multiple-ärvning
  • kunna förklara de grundläggande idéerna för designen av STL (C++ standardbibliotek) särskilt när det gäller container-klasserna

Färdighet och förmåga
Efter avslutad kurs ska studenten kunna:
  • konstruera icke-triviala klasser med hänsyn taget till användbarhet för andra programmerare, effektivitet, felsäkerhet och trådning.
  • behärska meta-programmering med hjälp av templates.
  • implementera de hjälpklasser som behövs för en avancerad användning av STL, t.ex. funktionsobjekts-, policy- och traitsklasser
Värderingsförmåga och förhållningssätt
För godkänd kurs ska studenten kunna:
  • utvärdera hur effektiviteten påverkas av olika sätt att konstruera en klass eller ett kluster av tätt kopplade klasser.

Arbetsformer

Huvuddelen av undervisningen sker i form av föreläsningar och programmering i datorsal men även seminarier kan förekomma. Det mesta arbetet sker genom självständigt arbete.

Bedömningsformer

Examination sker under kursens gång i form av tentamen (2,5 hp) samt i form av muntliga och skriftliga redovisningar (5 hp).

Betygsbedömning: För godkänd krävs att samtliga ingående examinerande moment genomförts och minst fått betyget godkänt.
För Väl godkänt: Kraven för Godkänt samt att minst hälften av VG-givande moment (med hänsyn till högskolepoängen) har bedömts som VG.

Betygsskala

Underkänd (U), Godkänd (G) eller Väl godkänd (VG).

Kurslitteratur och övriga läromedel

  • Lippman, S.B., Lajoie J., Moo, B.E. (2012, or later edition). C++ Primer, Fifth edition. Upper Saddle River: Addison-Wesley. ISBN13: 9780321714114
  • Ytterligare artiklar tillhandahålls av institutionen

Kursvärdering

Högskolan ger studenter som deltar i eller har avslutat en kurs en möjlighet att framföra sina erfarenheter av och synpunkter på kursen genom en kursvärdering som anordnas av högskolan. Högskolan sammanställer kursvärderingarna samt informerar om resultaten och eventuella beslut om åtgärder som föranleds av kursvärderingarna. Resultaten ska hållas tillgängliga för studenterna. (HF 1:14).

Övergångsbestämmelser

Om en kurs upphört att ges eller genomgått större förändringar ska studenterna, under ett år efter det att förändringen skett, erbjudas två tillfällen för omprov baserade på den kursplan som gällde vid registreringen.

Kontakt

Utbildningen ges av Fakulteten för teknik och samhälle på institutionen Datavetenskap och medieteknik.

Mer information om utbildningen

Studentservice TS - Malmö Universitet,
Olle Lindeberg, kursansvarig
Telefon: 040-6657625

Anmälan

12 november 2018 - 20 januari 2019 Dagtid 50% Malmö Schema