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: 3
Dnr: BTH-4.1.14-0663-2024


Kursplan

Objektorienterad programmering i C++

Object-oriented Programming in C++

7,5 högskolepoäng (7.5 credits)

Kurskod: DV1627
Huvudområde: Datavetenskap
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: Undervisningen ges på engelska
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 avklarade kurser i Tillämpad artificiell intelligens, 6 hp och Maskininlärning, 6 hp.

3. Syfte och innehåll

3.1 Syfte

Syftet med kursen är 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 inkluderat smarta 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)
  • 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
  • Introduktion till lambdauttryck
  • Versionshantering

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:

  • Utförligt kunna förklara grundläggande begrepp och tekniker inom objektorienterad programmering, såsom klassrelationer, polymorfism, operatoröverlagring, etc.
  • Kunna förstå och utförligt förklara olika C++-program.
  • Utförligt kunna 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, kunna implementera en väl strukturerad objektorienterad lösning i C++.
  • Kunna använda C++ standardbibliotek med datastrukturer (STL).
  • Kunna använda C++ standardbibliotek med datastrukturer (STL).

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

Efter genomförd kurs ska studenten:

  • Självständigt och kritiskt kunna 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. Laborationerna tillämpar teorin i praktiska moment, som genomförs individuellt.
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
2510 Praktiskt moment A 0,5 hp GU
2520 Praktiskt moment B 1 hp GU
2530 Praktiskt moment C 2 hp GU
2540 Projekt 3 hp AF
2550 Salstentamen 1 hp GU

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

I.Stanley B Lippman Josèe Lajoie och Barbara E Moo, C ++ Primer, 5 th Edition, Addison-Wesley Professional, 2012
ISBN-10: 0321714113
ISBN-13: 978-0321714114

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 DV1537