DV1626 Programmering i C++

Programkurs, 6 Högskolepoäng, Grundnivå, höstterminen 2020

Denna kurs är del av program och går inte att söka till.

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.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Studietid: 2020 vecka 45 till 2021 vecka 02
  • Nivå: G1F
  • Anmälan : Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges på svenska.
  • Ort: Karlskrona
  • Huvudområde: Datavetenskap
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • 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.

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

Lärandemål

Kunskap och förståelse

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

Färdighet och förmåga
  • 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 implementera fundamentala abstrakta datatyper och algoritmer i ett objektorienterat språk.
  • Kunna använda C++ standardbibliotek med datastrukturer (STL).

Värderingsförmåga och förhållningssätt
  • Självständigt och kritiskt kunna utvärdera och analysera sina lösningar.

Kurslitteratur och övriga läromedel

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

Kurslitteratur och övriga läromedel

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

Lärande och undervisning

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.

Lärare

Kursansvarig
  1. Joakim Ståhle Nilsson

Bedömning

Betyg

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredsställande, E Tillräckligt, FX Otillräckligt, komplettering krävs, F Underkänd.

Tentamina

Du kan läsa mer om tentamen i Studentportalen och där anmäler du dig till de flesta tentamina.


Det kan finnas andra planerade examinationstillfällen. Information om dem finns i lärplattformen Canvas eller på annan plats som kursansvarig hänvisar till.

Kursvärdering

Kursansvarig ansvarar för att studenternas synpunkter på kursen systematiskt och regelbundet inhämtas och att resultaten av utvärderingar i olika former påverkar kursens utformning och utveckling.