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.
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 higher education credits
Allmänna data om kursen
- Kurskod: DT109G
- Ämne huvudområde: Datateknik
- Nivå: Grundnivå
- Progression: (B)
- Högskolepoäng: 15
- Fördjupning vs. Examen: - - Ingen angiven
- Utbildningsområde: Teknik 100%
- Ansvarig fakultet: Fakulteten för naturvetenskap, teknik och medier
- Ansvarig institution: Institutionen för informationsteknologi och medier
- Fastställd: 2007-06-20
- Giltig fr.o.m: 2007-07-01
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
eller
Datateknik AB, 20 p, inkluderande kursen Objektbaserad programmering i C++, 5 p, eller andra kurser i C++ omfattande minst 10 p.
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
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.
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
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