Skriv ut som pdf om du vill ha en pdf! Om du vill ha en snyggare utskrift, klicka bort webbläsarens automatiskt tillagda sidhuvud och sidfot.

Blekinge Tekniska Högskola
Institutionen för datavetenskap

Revision: 4
Dnr: BTH-4.1.14-0974-2024


Kursplan

Programmering i C++

Programming in C++

6 högskolepoäng (6 credits)

Kurskod: DV1626
Huvudområde: Datavetenskap, Teknik
Utbildningsområde: Tekniska området
Utbildningsnivå: Grundnivå
Fördjupning: G1F - Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Undervisningsspråk: Svenska
Gäller från: 2025-01-01
Fastställd: 2024-09-27

1. Beslut

Denna kurs är inrättad av dekan 2020-02-27. Kursplanen är fastställd av prefekten vid institutionen för datavetenskap 2024-09-27 och gäller från 2025-01-01.

2. Förkunskapskrav

För tillträde till kursen krävs genomgången kurs, Programmering och problemlösning med Python 6hp, varav minst 2hp ska vara avklarade.

3. Syfte och innehåll

3.1 Syfte

Syftet med kursen är att ge kunskap i objektorienterad programmering, dels för fortsatta studier inom datavetenskap och dels för att kunna lösa generella programmeringsuppgifter i arbetslivet.

3.2 Innehåll

• Operatorer och datatyper i C++
• Pekare och dynamisk minneshantering
• Program med flera kodfiler och deklarationsfiler
• Hantering av strängar
• Strukturering av program med hjälp av klasser och konstruktion av egna klasser
• Konstruktorer/destruktorer, metoder, instansvariabler, klassvariabler
• Klassrelationer (arv, aggregat, komposition)
• Dynamisk bindning, polymorfism, abstrakta och virtuella funktioner
• Operatoröverlagring och överskuggning
• Mallar (templates)
• Introduktion till grafiska användargränssnitt
• Felhantering och undantag (exceptions)
• Datastrukturer i standardbibliotek (STL): vektor, lista, stack, kö, mängd, iteratorer
• In- och utmatning från/till strömmar och filer
• Orientering om modellering i UML

4. Lärandemål

Följande lärandemål examineras i kursen:

4.1. Kunskap och förståelse

Efter genomförd kurs ska studenten kunna:

  • Utförligt förklara grundläggande begrepp och tekniker inom objektorienterad programmering, såsom klassrelationer, polymorfism, operatoröverlagring, etc.
  • Förstå och utförligt förklara olika C++-program.
  • Utförligt redogöra för hur olika problem kan lösas på ett objektorienterat sätt i språket C++.

4.2. Färdighet och förmåga

Efter genomförd kurs ska studenten kunna:

  • Strukturera en problemlösning med hjälp av klasser och presentera den i ett klassdiagram.
  • Självständigt, utifrån en problembeskrivning, implementera en väl strukturerad objektorienterad lösning i C++.
  • Implementera fundamentala abstrakta datatyper och algoritmer i ett objektorienterat språk.
  • Använda C++ standardbibliotek med datastrukturer (STL).

4.3. Värderingsförmåga och förhållningssätt

Efter genomförd kurs ska studenten kunna:

  • Självständigt och kritiskt utvärdera och analysera sina lösningar.

5. Läraktiviteter

Kursen ges som campuskurs. Undervisningen består av föreläsningar och laborationer. Föreläsningarna presenterar teorier och bidrar till den teoretiska förståelsen som krävs för att genomföra kursen. Laborationer tillämpar teorin i praktiska moment, som genomförs individuellt och / eller i grupp. I kursen förutsätts att studenten har, eller skaffar sig, förmågan att självständigt söka information för att lösa problem och svårigheter som dyker upp.

6. Bedömning och examination

Examinationsmoment för kursen

Kod Benämning Omf. Betyg
2410 Praktiskt moment A 1 hp GU
2420 Praktiskt moment B 1 hp GU
2430 Praktiskt moment C 2 hp GU
2440 Salstentamen 2 hp AF

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredställande, E Tillräckligt, FX Underkänd, något mer arbete krävs, F Underkänd.

I kurstillfällets information inför kursstart framgår i vilka examinationsmoment som kursens lärandemål examineras samt gällande bedömningsgrunder.

Examinator kan, efter samråd med högskolans FUNKA-samordnare, fatta beslut om anpassad examinationsform för att en student med varaktig funktionsvariation ska ges en likvärdig examination jämfört med en student utan funktionsvariation.

7. Kursvärdering

Kursvärdering ska göras i enlighet med BTH:s beslut om frågeställning i kursvärderingar och beslut om process för hantering och uppföljning av kursvärderingar.

8. Begränsningar i examen

Kursen kan ingå i examen men inte tillsammans med annan kurs vars innehåll, helt eller delvis, överensstämmer med innehållet i denna kurs.

9. Kurslitteratur och övriga lärresurser

Huvudlitteratur
1. Stanley B. Lippman, Josée Lajoie och Barbara E. Moo, C++ Primer, 5th Edition, Addison-Wesley Professional, 2012.
ISBN-10: 0321714113
ISBN-13: 978-0321714114
2. Material från institutionen.
Referenslitteratur
1. Tony Gaddis, Judy Walters och Godfrey Muganda, Starting Out with C++: Early Objects, 9th Edition, Pearson, 2016.
ISBN-10: 0134400240
ISBN-13: 978-0134400242
2. Bjarne Stroustrup, The C++ Programming Language, 4th Edition, Addison-Wesley Professional, 2013.
ISBN-10: 0321563840
ISBN-13: 978-0321563842
3. Nicolai M. Josuttis, The C++ Standard Library: A Tutorial and Reference, 2nd Edition, Addison-Wesley Professional, 2012.
ISBN-10: 0321623215
ISBN-13: 978-0321623218

10. Övrigt

Denna kurs ersätter kursen DV1581