Datateknik GR (B), Objektorienterad programmering i C++, 7,5 hp

Observera att kurslitteraturen kan ändras/revideras fram till: 
• 1 juni för en kurs som startar på höstterminen
• 15 november för en kurs som startar på vårterminen
• 1 april för en kurs som startar på sommaren 

Skriv ut eller spara kursplanen som PDF

Du kan enkelt skriva ut en kursplan direkt från webbsidan. Använd kortkommandot ctrl+p (Windows) eller command+p (Mac). I nästa steg väljer du om du vill skriva ut eller spara kursplanen som PDF.

 

För en nedlagd kurs kan eventuell information om avvecklingsperiod hittas under rubriken "Övergångsregel" i senaste versionen av kursplanen.


Versioner:

Kursplan för:
Datateknik GR (B), Objektorienterad programmering i C++, 7,5 hp
Computer Engineering BA (B), Object Oriented Programming in C++, 7.5 Credits

Allmänna data om kursen

  • Kurskod: DT060G
  • Ämne huvudområde: Datateknik
  • Nivå: Grundnivå
  • Progression: (B)
  • Högskolepoäng: 7,5
  • Fördjupning vs. Examen: G1F - Kursen ligger på grundnivå och fordrar mindre än 60 hp kurs(er) på grundnivå som förkunskapskrav.
  • Utbildningsområde: Teknik 100%
  • Ansvarig fakultet: Fakulteten för naturvetenskap, teknik och medier
  • Ansvarig institution: Data- och systemvetenskap
  • Fastställd: 2007-06-20
  • Senast ändrad: 2020-06-01
  • Giltig fr.o.m: 2020-07-01

Syfte

Kursen baseras på C++11-standaren och introducerar polymorfism med dynamisk bindning inom klasshierarkier. Vi fördjupar användandet av standardbibliotekets kontainertyper (map, deque m fl), generiska algoritmer och smarta pekare. Även klasser för slumpning och tidsmätning behandlas. Generiska funktions- och klassmallar används liksom anonyma funktioner, lambdas. Vi tar upp undantagshantering samt introducerar objektorienterad analys och design. Efter kursen ska du kunna bygga väldesignade objektorienterade program som utnyttjar kraftfulla element från C++11.

Lärandemål

Efter genomförd kurs ska du kunna
- tillämpa någon metod för att identifiera klasser, objekt, attribut, operationer och relationer utifrån en beskrivning av ett objektorienterat system,
- utnyttja virtuella funktioner för att konstruera klasshierarkier med dynamisk bindning,
- specificera, implementera och utnyttja funktions- och klassmallar,
- implementera och utnyttja undantag,
- utnyttja RTTI (RunTime Type Information),
- utnyttja den objektorienterade uppbyggnaden av I/O-systemet i standardbiblioteket,
- konstruera egna predikat och funktionsobjekt för att utnyttja generiska funktioner i standardbiblioteket,
- använda ett flertal av standardbibliotekets kontainerklasser
- implementera lambdafunktioner
- använda smarta pekare,
- använda klasser för slumptalsgenerering och tidsmätning

Innehåll

- klasshierarkier med dynamisk bindning och virtuella funktioner, 'compile time' vs 'run time'
- konstruktion av funktions- och klassmallar
- undantagshantering
- RTTI
- iostreams i standardbiblioteket
- lambdafunktioner
- standardbibliotekets kontainerklasser, generiska algoritmer med egendefinierade predikat och funktionsobjekt
- minneshantering med smarta pekare
- introduktion till objektorienterad analys och design
- klasser slumptalsgenerering och fördelningar
- klasser för tidsmätning

Behörighet

Datateknik GR (A), 22.5 hp, inkluderande 15 hp icke överlappande kurser i C++-programmering.

Urvalsregler

Urval sker i enlighet med Högskoleförordningen och den lokala antagningsordningen.

Undervisning

Kursen innehåller obligatoriska moment i form av
- skriftlig inlämningsuppgift
- inlämningsuppgifter av programmeringskaraktär
- skriftligt teoriprov
- projekt
Dessa moment ska alla genomföras individuellt.

Kursen kan genomföras som campuskurs eller som webbaserad distanskurs utan samlingar. Olika genomföranden ställer olika krav på lärare och student. Vid varje kurstillfälle framgår vilken undervisningsform som kommer att tillämpas. Kursarbetets omfattning uppskattas till ca 200 timmar.

Campuskurs:
Undervisningen består av cirka 12 % föreläsningar och 16 % handledda laborationer. Cirka 72 % av kurstiden är studietid utan lärare som du skall ägna åt inläsning av litteratur, förberedelser för laboration, eget laborerande, redovisning av uppgifter samt förberedelser för seminarier och tentamen. Vid förändrad resurstillgång kan fördelningen ändras.

Webbaserad distanskurs utan samlingar:
Allt kursmaterial presenteras via en webbaserad undervisningsplattform. Handledning ges via den aktuella undervisningplattformen uitfrån den enskilde studentens behov. Detta kan exempelvis ske via epostkorrespondens eller diskussionsgrupper. För varje student avsätts ca 5 timmars handledningstid. Vid förändrad resurstillgång kan fördelningen ändras.

Examination

L107: Laborationer, 3 hp
Betygsskala: Underkänd (U) eller Godkänd (G)

P107: Projekt, 4,5 hp
Betygsskala: På kursen ges något av betygen A, B, C, D, E, Fx och F. A - E är Godkänt, Fx och F är underkänt.

Betygskriterier för ämnet datateknik finns på www.miun.se/betygskriterier.

Om en student har ett beslut från samordnaren vid Mittuniversitetet om pedagogiskt stöd vid funktionsnedsättning, har examinator rätt att ge anpassad examination för studenten.

Begränsning av examination

Alla inlämningsuppgifter ska vara godkända innan projektet lämnas in för bedömning.

Studenter registrerade på denna version av kursplan har rätt att examineras 3 gånger inom loppet av 1 år enligt angivna examinationsformer. Därefter gäller examinationsform enligt senast gällande version av kursplan.

Betygsskala

På kursen ges något av betygen A, B, C, D, E, Fx och F. A - E är Godkänt, Fx och F är underkänt.

Övrig information

Denna kurs kan inte ingå i samma examen som kurs med kod DTAB44.

Litteratur

Välj litteraturlista:

Referenslitteratur

  • Författare/red: Lippman, Lajoie, Moo
  • Titel: C++ Primer
  • Upplaga: Fifth edition, 2013
  • Förlag: Addison Wesley
  • Kommentar: Det går bra med en senare upplaga.
  • Författare/red: Skansholm
  • Titel: C++ direkt
  • Upplaga: 3, 2011
  • Förlag: Studentlitteratur
  • Kommentar: Det går bra med en senare upplaga.

Kolla om litteraturen finns på biblioteket

Sidan uppdaterades 2024-08-15