Kursplan för kalenderåret 2004
C++-PROGRAMMERINGEDA031
Software Design and C++

Antal poäng: 5. Betygskala: TH. Valfri för: D4, E4, F4. Kursansvarig: Univ.lektor Per Holm, Per.Holm@cs.lth.se, Inst f datavetenskap. Förkunskapskrav: EDA025/EDA026/EDA027 Algoritmer och datastrukturer. Rekommenderade förkunskaper: EDA061 Objektorienterad modellering och design. Prestationsbedömning: Skriftlig tentamen. För godkänt betyg krävs godkänd tentamen, godkända datorlaborationer och godkänd inlämningsuppgift. Obligatoriska moment: datorlaborationer, inlämningsuppgift. Hemsida: http://www.cs.lth.se.

Mål
C++ är ett avancerat och mångfasetterat programspråk som är av stor betydelse för industrin. Efter genomgången kurs skall studenterna kunna utnyttja C++ för utveckling av program med hög kvalitet, vara förtrogna med språkets olika tekniker/paradigm och kunna välja rätt bland dessa med utgångspunkt från de problem som skall lösas. Studenterna skall också ha fått en god praktisk grund för att tillämpa C++ industriellt och för att utnyttja etablerad designmetodik baserad på designmönster vid utveckling av stora programvarusystem.

Innehåll
Översikt över C++. Grundläggande C++-programmering: typer, programstrukturer, funktioner, minneshantering, I/O, strängar. Objektbaserad programmering: klasser, resurshantering. Objektorienterad programmering: härledda klasser, polymorfism, operatoröverlagring, standardklasser. Generisk programmering, parametriserade klasser. Standardbiblioteket STL.

Datorlaborationerna behandlar: 1) Grundläggande C++-programmering; 2) C++ i praktiken: make-verktyg, profilering, felsökning; 3) Minneshantering; 4) C++ standardbibliotek, generisk programmering med STL.

Litteratur
Müldner, Tomasz: C++ Programming with Design Patterns Revealed. Addison-Wesley 2002.
Kompletterande material som distribueras av institutionen.