TDDD38 |
Avancerad programmering i C++, 6 hp
/Advanced Programming in C++/
För:
CS
D
DAV
DI
I
Ii
IP
IT
SY
U
Y
|
|
Prel. schemalagd
tid: 84
Rek. självstudietid: 76
|
|
Utbildningsområde: Teknik
Huvudområde: Datateknik, Datavetenskap, Programmering Nivå (G1,G2,A): A
|
|
Datavetenskap Datavetenskap, datalogi
|
|
Mål:
IUAE-matris
I denna kurs studeras konstruktioner och mekanismer i programmeringsspråket C++. Kursens tyngdpunkt ligger på avancerade konstruktioner och avancerad användning av C++ men är inte en systemkonstruktionskurs, problemlösningskurs eller liknande. Efter kursens ska deltagaren:
-
förstå och kunna förklara icke-triviala språkkonstruktioner och deras semantik, till exempel klasser, härledning, polymorfi, mallar, undantagshantering, namnrymder, typer, typkonvertering, temporära objekt.
-
kunna förklara den övergripande principen för designen av C++ standardbibliotek, speciellt avseende containrar, iteratorer, algoritmer och funktionsobjekt.
-
kunna konstruera och implementera användbara, korrekta, felsäkra, icke-triviala enskilda klasser och polymorfa klasslatticer (klasshierarkier).
-
kunna konstruera och implementera avancerade programkomponenter, såsom traitsklasser, policyklasser och funktionsobjektsklasser.
-
kunna använda olika komponenter från C++ standardbibliotek i kombination för att lösa icke-triviala beräkningsproblem (dvs. använda standardbibliotekets containrar, algoritmer, iteratorer och funktionobjekt, och även egendefinierade funktionsobjekt och lambdauttryck).
|
|
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) Goda kunskaper om och god vana i programmering avseende minst ett procedurellt eller objektorienterat språk (till exempel Ada, C, Java eller C++) och kännedom om de grundläggande konstruktionerna i objektorienterad programmering (klass, härledning, polymorfi).
OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.
|
|
Organisation: Kursen är till stor del en självstudiekurs och den ges kontinuerligt varje termin. Under kursens första halva ges en föreläsningsserie. På kursens webbsidor finns material om C++ och övningar för självstudium. Lärarassistansen är begränsad till huvudsakligen frågor via e-post. Datorsalar kommer att schemaläggas. Examinationen genomförs som datortentamen vid fyra tillfällen per år.
Kursen ges två gånger per år; Vt1+Vt2 och Ht1+Ht2.
|
|
Kursinnehåll: Klasser, operatoröverlagring, härledda klasser, arv, polymorfi, lambdauttryck, namnrymder, undantagshantering, mallar (template). Standardbiblioteket: strängar, strömmar, containrar, iteratorer, algoritmer, funktionsobjekt, traits- och policyargument. C++-specifika designmönster.
|
|
Kurslitteratur: Stanley B. Lippman, Josée Lajoie, Barbara E. Moo: C++ Primer 5/E, Addison-Wesley, 2012. Traditionell lärobok.
Bjarne Stroustrup: The C++ Programming Language 4/E, Addison-Wesley, 2013. Referensbok för dig som redan kan programmera en del i C++ eller liknande språk.
|
|
Examination: |
DAT1
|
Datortentamen (U,3,4,5) |
6 hp
|
|
|
Fyra tentamenstillfällen per året: påsk, Vt2 (maj/juni), augusti och Ht2 (januari).
|
|