Avancerad programmering i C++, 6 hp
Advanced Programming in C++, 6 credits
TDDD38
Huvudområde
Datateknik Datavetenskap ProgrammeringUtbildningsnivå
Avancerad nivåKurstyp
ProgramkursExaminator
Klas ArvidssonStudierektor eller motsvarande
Ahmed RezineUndervisningstid
Preliminär schemalagd tid: 84 hRekommenderad självstudietid: 76 h
Tillgänglig för utbytesstudenter
JaKursen ges för | Termin | Period | Block | Språk | Ort/Campus | VOF | |
---|---|---|---|---|---|---|---|
6CDDD | Civilingenjör i datateknik | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CDDD | Civilingenjör i datateknik (International Software Engineering) | 9 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CDDD | Civilingenjör i datateknik (Programmering och algoritmer) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CDDD | Civilingenjör i datateknik (Säkra system) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CDDD | Civilingenjör i datateknik (Säkra system) | 9 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIII | Civilingenjör i industriell ekonomi | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, franska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, franska (Teknisk inriktning Datateknik) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, japanska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, japanska (Teknisk inriktning Datateknik) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, kinesiska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, kinesiska (Teknisk inriktning Datateknik) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, spanska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, spanska (Teknisk inriktning Datateknik) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, tyska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIEI | Civilingenjör i industriell ekonomi - internationell, tyska (Teknisk inriktning Datateknik) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CIII | Civilingenjör i industriell ekonomi (Teknisk inriktning Datateknik) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CITE | Civilingenjör i informationsteknologi | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CITE | Civilingenjör i informationsteknologi (International Software Engineering) | 9 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CITE | Civilingenjör i informationsteknologi (Programmering och algoritmer) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CITE | Civilingenjör i informationsteknologi (Säkra system) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CITE | Civilingenjör i informationsteknologi (Säkra system) | 9 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CMJU | Civilingenjör i mjukvaruteknik | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CMJU | Civilingenjör i mjukvaruteknik (International Software Engineering) | 9 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CMJU | Civilingenjör i mjukvaruteknik (Programmering och algoritmer) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CMJU | Civilingenjör i mjukvaruteknik (Säkra system) | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CMJU | Civilingenjör i mjukvaruteknik (Säkra system) | 9 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CYYY | Civilingenjör i teknisk fysik och elektroteknik | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CYYI | Civilingenjör i teknisk fysik och elektroteknik - internationell, franska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CYYI | Civilingenjör i teknisk fysik och elektroteknik - internationell, japanska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CYYI | Civilingenjör i teknisk fysik och elektroteknik - internationell, kinesiska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CYYI | Civilingenjör i teknisk fysik och elektroteknik - internationell, spanska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6CYYI | Civilingenjör i teknisk fysik och elektroteknik - internationell, tyska | 7 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6MICS | Computer Science, masterprogram | 3 (HT 2017) | 1 | 2 | Engelska | Linköping, Valla | V |
6MICS | Computer Science, masterprogram | 3 (HT 2017) | 2 | - | Engelska | Linköping, Valla | V |
6MDAV | Datavetenskap, masterprogram | 3 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6IDAT | Högskoleingenjör i datateknik (Inbyggda system) | 5 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6IDAT | Högskoleingenjör i datateknik (Programvara) | 5 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
6KIPR | Innovativ programmering, kandidatprogram | 5 (HT 2017) | 1, 2 | 2, - | Engelska | Linköping, Valla | V |
Huvudområde
Datateknik, Datavetenskap, ProgrammeringUtbildningsnivå
Avancerad nivåFördjupningsnivå
A1XKursen ges för
- Högskoleingenjör i datateknik
- Innovativ programmering, kandidatprogram
- Civilingenjör i datateknik
- Civilingenjör i industriell ekonomi - internationell
- Civilingenjör i industriell ekonomi
- Civilingenjör i informationsteknologi
- Civilingenjör i mjukvaruteknik
- Civilingenjör i teknisk fysik och elektroteknik - internationell
- Civilingenjör i teknisk fysik och elektroteknik
- Datavetenskap, masterprogram
- Communication Systems, masterprogram
- Computer Science, masterprogram
Förkunskapskrav
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.
Rekommenderade förkunskaper
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).
Lärandemål
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).
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.
Undervisnings- och arbetsformer
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.
Examination
DAT1 | Datortentamen | 6 hp | U, 3, 4, 5 |
Fyra tentamenstillfällen per året: påsk, Vt2 (maj/juni), augusti och Ht2 (januari).
Betygsskala
Fyrgradig skala, LiU, U, 3, 4, 5Övrig information
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.
Institution
Institutionen för datavetenskapStudierektor eller motsvarande
Ahmed RezineExaminator
Klas ArvidssonKurshemsida och andra länkar
http://www.ida.liu.se/~TDDD38/Undervisningstid
Preliminär schemalagd tid: 84 hRekommenderad självstudietid: 76 h
Kurslitteratur
Kompletterande litteratur
Böcker
- Bjarne Stroustrup, (2013) The C++ Programming Language 4/E Addison-Wesley
Referensbok för dig som redan kan programmera en del i C++ eller liknande språk. - Stanley B. Lippman, Josée Lajoie, Barbara E. Moo, (2012) C++ Primer 5/E Addison-Wesley
Kod | Benämning | Omfattning | Betygsskala |
---|---|---|---|
DAT1 | Datortentamen | 6 hp | U, 3, 4, 5 |
Fyra tentamenstillfällen per året: påsk, Vt2 (maj/juni), augusti och Ht2 (januari).
Kursplan
För varje kurs finns en kursplan. I kursplanen anges kursens mål och innehåll samt de särskilda förkunskaper som erfordras för att den studerande skall kunna tillgodogöra sig undervisningen.
Schemaläggning
Schemaläggning av kurser görs efter, för kursen, beslutad blockindelning. För kurser med mindre än fem deltagare, och flertalet projektkurser läggs inget centralt schema.
Avbrott på kurs
Enligt rektors beslut om regler för registrering, avregistrering samt resultatrapportering (Dnr LiU-2015-01241) skall avbrott i studier registreras i Ladok. Alla studenter som inte deltar i kurs man registrerat sig på är alltså skyldiga att anmäla avbrottet så att kursregistreringen kan
tas bort. Avanmälan från kurs görs via webbformulär, www.lith.liu.se/for-studenter/kurskomplettering?l=sv.
Inställd kurs
Kurser med få deltagare ( < 10) kan ställas in eller organiseras på annat sätt än vad som är angivet i kursplanen. Om kurs skall ställas in eller avvikelse från kursplanen skall ske prövas och beslutas detta av programnämnden.
Föreskrifter rörande examination och examinator
Se särskilt beslut i regelsamlingen: http://styrdokument.liu.se/Regelsamling/VisaBeslut/622678
Examination
Tentamen
Skriftlig och muntlig tentamen ges minst tre gånger årligen; en gång omedelbart efter kursens slut, en gång i augustiperioden samt vanligtvis i en av omtentamensperioderna. Annan placering beslutas av programnämnden.
Principer för tentamensschemat för kurser som följer läsperioderna:
- kurser som ges Vt1 förstagångstenteras i mars och omtenteras i juni och i augusti
- kurser som ges Vt2 förstagångstenteras i maj och omtenteras i augusti och i oktober
- kurser som ges Ht1 förstagångstenteras i oktober och omtenteras i januari och augusti
- kurser som ges Ht2 förstagångstenteras i januari och omtenteras i påsk och i augusti
Tentamensschemat utgår från blockindelningen men avvikelser kan förekomma främst för kurser som samläses/samtenteras av flera program.
- För kurser som av programnämnden beslutats vara vartannatårskurser ges tentamina 3 gånger endast under det år kursen ges.
- För kurser som flyttas eller ställs in så att de ej ges under något eller några år ges tentamina 3 gånger under det närmast följande året med tentamenstillfällen motsvarande dem som gällde före flyttningen av kursen.
- Har undervisningen upphört i en kurs ges under det närmast följande året tre tentamina samtidigt som tentamen ges i eventuell ersättningskurs, alternativt i samband med andra omtentamina. Dessutom ges tentamen ytterligare en gång under det därpå följande året om inte programnämnden föreskriver annat.
- Om en kurs ges i flera perioder under året (för program eller vid skilda tillfällen för olika program) beslutar programnämnden/programnämnderna gemensamt om placeringen av och antalet omtentamina.
Anmälan till tentamen
För deltagande i tentamina krävs att den studerande gjort förhandsanmälan i Studentportalen under anmälningsperioden, dvs tidigast 30 dagar och senast 10 dagar före tentamensdagen. Anvisad sal meddelas fyra dagar före tentamensdagen via e-post. Studerande, som inte förhandsanmält sitt deltagande riskerar att avvisas om plats inte finns inom ramen för tillgängliga skrivningsplatser.
Teckenförklaring till tentaanmälningssystemet:
** markerar att tentan ges för näst sista gången
* markerar att tentan ges för sista gången
Ordningsföreskrifter för studerande vid tentamensskrivningar
Se särskilt beslut i regelsamlingen: http://styrdokument.liu.se/Regelsamling/VisaBeslut/622682
Plussning
Vid Tekniska högskolan vid LiU har studerande rätt att genomgå förnyat prov för högre betyg på skriftliga tentamina samt datortentamina, dvs samtliga provmoment med kod TEN och DAT. På övriga examinationsmoment ges inte möjlighet till plussning, om inget annat anges i kursplan.
Andra examinationsformer
För regler för omprov vid andra examinationsformer än skriftliga tentamina hänvisas till LiU-föreskrifterna för examination och examinator, http://styrdokument.liu.se/Regelsamling/VisaBeslut/622678.
Försök till vilseledande
Vid grundad misstanke om att en student försökt vilseleda vid examination eller när en studieprestation ska bedömas ska enligt Högskoleförordningens 10 kapitel examinator anmäla det vidare till universitetets disciplinnämnd. Möjliga konsekvenser för den studerande är en avstängning från studierna eller en varning. För mer information se www.liu.se/disciplinnamnden.
Betyg
Företrädesvis skall betygen underkänd (U), godkänd (3), icke utan beröm godkänd (4) och med beröm godkänd (5) användas. Kurser som styrs av tekniska fakultetsstyrelsen fastställt tentamensschema skall därvid särskilt beaktas.
- Kurser med skriftlig tentamen skall ge betygen (U, 3, 4, 5).
- Kurser med stor del tillämpningsinriktade moment såsom laborationer, projekt eller grupparbeten får ges betygen underkänd (U) eller godkänd (G).
Examinationsmoment
- Skriftlig tentamen (TEN) skall ge betyg (U, 3, 4, 5).
- Examensarbete samt självständigt arbete ger betyg underkänd (U) eller godkänd (G).
- Examinationsmoment som kan ge betygen underkänd (U) eller godkänd (G) är laboration (LAB), projekt (PRA), kontrollskrivning (KTR), muntlig tentamen (MUN), datortentamen (DAT), uppgift (UPG).
- Övriga examinationsmoment där examinationen uppfylls framför allt genom aktiv närvaro som annat (ANN), basgrupp (BAS) eller moment (MOM) ger betygen underkänd (U) eller godkänd (G).
Rapportering av den studerandes examinationsresultat sker på respektive institution.
Regler
Universitetet är en statlig myndighet vars verksamhet regleras av lagar och förordningar, exempelvis Högskolelagen och Högskoleförordningen. Förutom lagar och förordningar styrs verksamheten av ett antal styrdokument. I Linköpings universitets egna regelverk samlas gällande beslut av regelkaraktär som fattats av universitetsstyrelse, rektor samt fakultets- och områdesstyrelser.
LiU:s regelsamling angående utbildning på grund- och avancerad nivå nås på http://styrdokument.liu.se/Regelsamling/Innehall/Utbildning_pa_grund-_och_avancerad_niva.
Kompletterande litteratur
Böcker
Referensbok för dig som redan kan programmera en del i C++ eller liknande språk.
Ladda ner
I | U | A | Moduler | Kommentar | ||
---|---|---|---|---|---|---|
1. ÄMNESKUNSKAPER | ||||||
1.1 Kunskaper i grundläggande (motsvarande G1X) matematiska och naturvetenskapliga ämnen |
|
|
X
|
DAT1
|
Grundläggande matematik (övningar) |
|
1.2 Kunskaper i grundläggande (motsvarande G1X) teknikvetenskapliga ämnen |
|
X
|
X
|
DAT1
|
U: Avancerade programkonstruktioner, A: Programmering (övningar) |
|
1.3 Fördjupade kunskaper (motsvarande G2X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen |
|
|
|
|||
1.4 Väsentligt fördjupade kunskaper (motsvarande A1X), metoder och verktyg inom något/några teknik- och naturvetenskapliga ämnen |
|
|
|
|||
1.5 Insikt i aktuellt forsknings- och utvecklingsarbete |
|
|
|
|||
2. INDIVIDUELLA OCH YRKESMÄSSIGA FÄRDIGHETER OCH FÖRHÅLLNINGSSÄTT | ||||||
2.1 Analytiskt tänkande och problemlösning |
|
|
X
|
DAT1
|
Programutvecklingsmetodik (övningar) |
|
2.2 Experimenterande och undersökande arbetssätt samt kunskapsbildning |
|
|
X
|
DAT1
|
Laborativt arbete (övningar) |
|
2.3 Systemtänkande |
|
X
|
X
|
DAT1
|
Modellering, användning av biblioteksprogramvara (övningar) |
|
2.4 Förhållningssätt, tänkande och lärande |
|
|
X
|
DAT1
|
Kreativt tänkande (övningar) |
|
2.5 Etik, likabehandling och ansvarstagande |
|
X
|
X
|
DAT1
|
Programmeringsstil (övningar) |
|
3. FÖRMÅGA ATT ARBETA I GRUPP OCH ATT KOMMUNICERA | ||||||
3.1 Arbete i grupp |
|
|
|
|||
3.2 Kommunikation |
|
|
|
|||
3.3 Kommunikation på främmande språk |
|
|
|
|||
4. PLANERING, UTVECKLING, REALISERING OCH DRIFT AV TEKNISKA PRODUKTER OCH SYSTEM MED HÄNSYN TILL AFFÄRSMÄSSIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV | ||||||
4.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling |
|
|
|
|||
4.2 Företags- och affärsmässiga villkor |
|
|
|
|||
4.3 Att identifiera behov samt strukturera och planera utveckling av produkter och system |
|
|
|
|||
4.4 Att konstruera produkter och system |
|
|
|
|||
4.5 Att realisera produkter och system |
|
|
|
|||
4.6 Att ta i drift och använda produkter och system |
|
|
|
|||
5. PLANERING, GENOMFÖRANDE OCH PRESENTATION AV FORSKNINGS- ELLER UTVECKLINGSPROJEKT MED HÄNSYN TILL VETENSKAPLIGA OCH SAMHÄLLELIGA BEHOV OCH KRAV | ||||||
5.1 Samhälleliga villkor, inklusive ekonomiskt, socialt och ekologiskt hållbar utveckling för kunskapsutveckling |
|
|
|
|||
5.2 Ekonomiska villkor för kunskapsutveckling |
|
|
|
|||
5.3 Att identifiera behov samt strukturera och planera forsknings- eller utvecklingsprojekt |
|
|
|
|||
5.4 Att genomföra forsknings- eller utvecklingsprojekt |
|
|
|
|||
5.5 Att redovisa och utvärdera forsknings- eller utvecklingsprojekt |
|
|
|
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.