studiehandbok@lith
 

Tekniska högskolan vid Linköpings universitet

 
 
År : 2017
 
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).



Undervisningsspråk är Engelska.
Institution: IDA.
Studierektor: Ahmed Rezine
Examinator: Klas Arvidsson
Länk till kurshemsida på kursgivande institution
Ansvarig programnämnd: Data&Medie

Engelsk kursplan


Tekniska högskolan vid Linköpings universitet


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 02/02/2017