Syfte
I denna kurs introducerar vi polymorfism i form av dynamisk bindning inom klasshierarkier. Vi fördjupar användandet av standardbiblioteket (STL), (map, deque m fl) samt med algoritmer. Du får också skapa egna funktions- och klassmallar. Vi tar upp undantagshantering samt objektorienterad analys och design. Du får bygga program som består av samarbetande objekt och av mallar från STL.
Lärandemål
Efter godkänd kurs ska du kunna
- 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,
- tillämpa någon metod för att identifiera klasser, objekt, attribut, operationer och relationer utifrån en beskrivning av ett objektorienterat system,
- konstruera egna predikat och funktionsobjekt för att utnyttja generiska funktioner i standardbiblioteket och
- använda ett flertal av standardbibliotekets kontainerklasser.
Innehåll
- klasshierarkier med dynamisk bindning och virtuella funktioner, 'compile time' vs 'run time'
- konstruktion av funktions- och klassmallar
- undantagshantering
- RTTI
- iostreams i standardbiblioteket
- standardbibliotekets kontainerklasser och generiska algoritmer med egendefinierade predikat och funktionsobjekt
- introduktion till objektorienterad analys och design
- samarbetande objekt
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 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
3.0 hp, L103: Laborationer
Betyg: Godkänd (P) eller Underkänd (F)
4.5 hp, T103: 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.
Litteratur
Referenslitteratur
Deitel , Deitel, C++ How to program, Pearson Prentice Hall, 5
Kommentar: Det går bra med senare upplaga av angiven kurslitteraturSkansholm, C++ direkt, Studentlitteratur, 2
Kommentar: Det går bra med senare upplaga av angiven kurslitteratur
Övrig information
Denna kurs kan inte ingå i samma examen som kurs med kod DTAB44.