Datateknik GR (B), OOP och designmönster med C++, 15 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), OOP och designmönster med C++, 15 hp
Computer Engineering BA (B), OOP and Design Patterns with C++, 15 credits

Allmänna data om kursen

  • Kurskod: DT109G
  • Ämne huvudområde: Datateknik
  • Nivå: Grundnivå
  • Progression: (B)
  • Högskolepoäng: 15
  • 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: 2023-11-30
  • Giltig fr.o.m: 2023-11-30

Syfte

Kursen behandlar konstruktion av program i C++ baserade på alla tre hörnpelarna i objektorienterad programmering: inkapsling, arv och polymorfism med dynamisk bindning. För att kunna nyttja standardbiblioteket behandlas funktions- och klassmallar. I standardbiblioteket behandlas kontainerklasser som t.ex. map och deque samt iteratorer och generiska algoritmer. Dessutom introduceras undantagshantering samt grundläggande objektorienterad analys och design. Förmågan till god programdesign utvecklas genom att olika klassiska desigmönster introduceras under kursens gång. Designmönster är generella lösningar på ofta återkommande objektorienterade designproblem. Användning av designmönster möjliggör återanvändning av design i första hand och kod i andra hand. Lösa kopplingar och svaga beroenden mellan klasser leder till robusta programkonstruktioner där ändringar och utvidgningar kan göras med minimal påverkan på befintlig kod.

Lärandemål

Efter godkänd kurs ska du:
- kunna utnyttja virtuella funktioner för att konstruera klasshierarkier med dynamisk bindning,
- kunna specificera, implementera och utnyttja funktions- och klassmallar,
- kunna implementera och utnyttja undantag (exceptions),
- känna till och kunna utnyttja RTTI (RunTime Type Information),
- känna till och kunna utnyttja den objektorienterade uppbyggnaden av I/O-systemet i standardbiblioteket,
- kunna tillämpa någon metod för att systematiskt identifiera klasser, objekt, attribut, operationer och relationer utifrån en beskrivning av ett objektorienterat system,
- kunna konstruera egna predikat och funktionsobjekt för att utnyttja generiska funktioner i standardbiblioteket,
- kunna använda iteratorer, generiska algoritmer och standardbibliotekets kontainerklasser,
- kunna identifiera och förstå ett tiotal av de vanligaste designmönstren, samt veta när och hur de kan användas för att lösa ett givet designproblem,
- tolka grafiska specifikationer av designmönster uttryckta i modelleringssspråket UML, och
- implementera olika designmönster i C++.

Innehåll

- klasshierarkier med dynamisk bindning och virtuella funktioner, 'compile time' vs 'run time'
- konstruktion av funktions- och klassmallar
- exceptions
- RTTI
- iostreams i standardbiblioteket
- standardbibliotekets kontainerklasser, iteratorer och generiska algoritmer
- egendefinierade predikat och funktionsobjekt
- introduktion till objektorienterad analys och design
- objektorienterad terminologi, speciellt relationerna mellan begreppen typ, interface och klass
- UML som notationsform.
- klassiska designmönster ur olika kategorier i teori och praktik
- implementation och tillämpning av designmönster i C++

Behörighet

Datateknik GR (AB), 30 hp, inkluderande kursen Objektbaserad programmering i C++, 7,5 hp eller andra kurser i C++ omfattande minst 15 hp.

Urvalsregler

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

Undervisning

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 400 timmar. Under kursen läggs stor vikt vid tillämpningar genom ett antal obligatoriska programmeringsuppgifter.

Campuskurs:
Undervisningen består av cirka 48 timmar (12 %) föreläsningar och 64 timmar (16 %) handledda laborationer. Cirka 288 timmar (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 8 timmars handledningstid. Vid förändrad resurstillgång kan fördelningen ändras.

Examination

L101: Laborationer I, 4,5 hp
Betygsskala: Underkänd (U) eller Godkänd (G)

L201: Laborationer II, 4,5 hp
Betygsskala: Underkänd (U) eller Godkänd (G)

T101: Tentamen, 6 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.

4,5 hp, L101: Laborationer del 1
Betyg Underkänd (F) eller Godkänd (P)

4,5 hp, L201: Laborationer del 2
Betyg: Underkänd (F) eller Godkänd (P)

6 hp, T101: Tentamen
Betyg: A, B, C, D, E, Fx och F. A - E är Godkänt, Fx och F är underkänt.

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

Övergångsregel

Denna kursplan är under avveckling och upphör att gälla 2024-12-01. Fram till dess är det möjligt att delta i examinationer vid fastställda datum. Anmälan behöver göras i förväg. För mer information kontakta ansvarig institution via KKIexp@miun.se.

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

I examen kan kursen inte kombineras med någon av kurserna DTAB44, DTAB47, DT060G eller DT063G.

Litteratur

Välj litteraturlista:

Obligatorisk litteratur

  • Författare/red: Deitel & Deitel
  • Titel: C++ How to program
  • Upplaga: Fifth
  • Förlag: Prentice Hall

Referenslitteratur

  • Författare/red: Gamma, Helm m.fl.
  • Titel: Design Patterns
  • Upplaga: senaste
  • Förlag: Addison-Wesley

Kolla om litteraturen finns på biblioteket

Sidan uppdaterades 2024-08-15