DV1581 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 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%
  • Period: 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, 6 hp, varav minst 2 hp 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. Ingen praktik ingår i planerade lärtillfällen. BTH strävar efter tät kontakt med näringslivet vid utveckling av kurser och program.

Lärare

Examinator
  1. Lars Lundberg
Kursansvarig
  1. Håkan Grahn
I genomsnitt bör en student räkna med att studera 160 timmar för att nå lärandemålen.
I denna tid ingår alla olika förekommande lärandeaktiviteter (föreläsningar, självstudier, examination m. m.).
Tidsuppskattningen baseras på att ett akademiskt år omfattar 60 högskolepoäng (motsvarar 60 ECTS credits),
som svarar mot en total studietid på ca 1 600 timmar. Den faktiska studietiden varierar individuellt.

Bedömning

Examinationsmoment för kursen
Kod Benämning Högskolepoäng Betyg
1810 Laboration 1 1 G-U
1820 Laboration 2 1 G-U
1830 Laboration 3 1 G-U
1840 Laboration 4 1 G-U
1850 Salstentamen 2 A-F

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.

Kursutvä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.