studiehandbok@lith
 

Tekniska högskolan vid Linköpings universitet

 
 
År : 2016
 
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

Kursen bedrivs på ett sådant sätt att både mäns och kvinnors erfarenhet och kunskaper synliggörs och utvecklas.

Planering och genomförande av kurs skall utgå från kursplanens formuleringar. Den kursvärdering som ingår i kursen skall därför genomföras med kursplanen som utgångspunkt.

Om inget annat anges ovan gäller betygsskala enligt avsnitt a8.5 i de gemensamma bestämmelserna.

Kursplanen gäller för 2016 enligt beslut av ansvarig programnämnd/fakultetstyrelse.

Tekniska högskolan vid Linköpings universitet


Informationsansvarig: TFK , val@tfk.liu.se
Senast ändrad: 09/16/2015