Avancerad programmering i C++, 6 hp

Advanced Programming in C++, 6 credits

726G82

Huvudområde

Datateknik Datavetenskap Programmering

Utbildningsnivå

Grundnivå

Kurstyp

Fristående- och programkurs

Examinator

Klas Arvidsson

Studierektor eller motsvarande

Ola Leifler
VOF = Valbar / Obligatorisk / Frivillig
Kursen ges för Termin Veckor Språk Ort/Campus VOF
F7KSY Kandidatprogrammet i systemvetenskap (Systemutveckling) 5 (HT 2019) 201936-202003 Engelska Linköping, Valla V
F7MIT Masterprogram i IT och management (Master) 3 (HT 2019) 201936-202003 Engelska Linköping, Valla V

Huvudområde

Datateknik, Datavetenskap, Programmering

Utbildningsnivå

Grundnivå

Fördjupningsnivå

G2F

Kursen ges för

  • Kandidatprogrammet i systemvetenskap
  • Masterprogram i IT och management

Förkunskapskrav

Grundläggande behörighet på grundnivå
samt
områdesbehörighet A5 (Matematik 2a alternativt Matematik 2b alternativt Matematik 2c och Samhällskunskap 1b alternativt 1a1 och 1a2)
eller
områdesbehörighet 5 (Matematik B och Samhällskunskap A)
samt
100 hp godkänt från år 1 och 2 på Systemvetenskapliga programmet, eller motsvarande.

Lärandemål

 Efter avslutad kurs ska den studerande kunna:

  • förklara icke-triviala språkkonstruktioner och deras semantik, till exempel klasser, härledning, polymorfi, mallar, undantagshantering, namnrymder, typer, typkonvertering, temporära objekt
  • förklara den övergripande principen för designen av C++ standardbibliotek, speciellt avseende containrar, iteratorer, algoritmer och funktionsobjekt
  • konstruera och implementera användbara, korrekta, felsäkra, icke-triviala enskilda klasser och polymorfa klasslatticer (klasshierarkier)
  • konstruera och implementera avancerade programkomponenter
  • använda olika komponenter från C++ standardbibliotek i kombination för att lösa icke-triviala beräkningsproblem

Kursinnehåll

I kursen 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. 

I kursen behandlas:

  • 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.

Undervisnings- och arbetsformer

Undervisningen består av föreläsningar och laborationer. Utöver detta ska den studerande utöva självstudier.

Examination

Kursen examineras genom

  • individuell datortentamen, betygsskala: TH

Detaljerad information om examinationen återfinns i studieanvisningen.

Om det finns särskilda skäl, om det med hänsyn till det obligatoriska momentets karaktär är möjligt, får examinator besluta att ersätta det obligatoriska momentet med en annan likvärdig uppgift.

Om LiU:s koordinator för studenter med funktionsnedsättning har beviljat en student rätt till anpassad examination vid salstentamen har studenten rätt till det. Om koordinatorn istället har gett studenten en rekommendation om anpassad examination eller alternativ examinationsform, får examinator besluta om detta om examinator bedömer det möjligt utifrån kursens mål.

Studerande, vars examination underkänts två gånger på kursen eller del av kursen, har rätt att begära en annan examinator vid förnyat examinationstillfälle.

Den som godkänts i prov får ej delta i förnyat prov för högre betyg.

Betygsskala

Fyrgradig skala, LiU, U, 3, 4, 5

Övrig information

Planering och genomförande av kurs ska utgå från kursplanens formuleringar. Den kursvärdering som ska ingå i varje kurs ska därför behandla frågan om hur kursen överensstämmer med kursplanen.

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

Institution

Institutionen för datavetenskap
Kod Benämning Omfattning Betygsskala
DAT1 Datortentamen 6 hp U, 3, 4, 5

Ordinarie litteratur

Böcker

Stroustrup, Bjarne, (2013) The C++ programming language 4. ed. Upper Saddle River, N.J. : Addison-Wesley, 2013

ISBN: 9780321563842, 0321563840

Kompletterande litteratur

Böcker

Lippman, Stanley B., Lajoie, Josée, Moo, Barbara E., (2013) C++ primer 5. ed. Upper Saddle River, N.J. : Addison-Wesley, 2013

ISBN: 0321714113, 9780321714114

Referensbok för dig som redan kan programmera en del i C++ eller liknande språk.

Denna flik innehåller det material som är publikt i Lisam. Den information som publiceras här är inte juridiskt bindande, sådant material hittar du under övriga flikar på denna sida.

Det finns inga filer att visa.