5031.17 - Object Oriented Programming in C++


Course number
5031.17
Title
Object Oriented Programming in C++
ECTS
7.5
Prerequisites
Introduction to Computer Science (7.5 ECTS), Introduction to Programming in C++ (7.5 ECTS), Object-based Programming in C++ (7.5 ECTS).
Purpose
In this course we introduce polymorphism in the form of dynamic binding in class hierarchies. We deepen the use of the standard library (STL), (map, deque, etc.) as well as algorithms. You may also create your own function and class templates. We address exception handling and object-oriented analysis and design. You can build applications consisting of cooperating objects and templates from STL.
Content
- Class hierarchies with dynamic binding and virtual functions, 'compilation time' vs. 'run time' - The design of functions and class templates - Exception handling - RTTI (RunTime Type Information) - Iostreams in standard library - Container classes in standard library and generic algorithms with user-defined predicate and function objects - Introduction to object-oriented analysis and design - Cooperating objects
Learning and teaching approaches
Distance learning from Mid Sweden University: DT060G Objektorienterad programmering i C++ / DT060G Object Oriented Programming in C++, and local teaching at NVD (about 3 hours/week).
Learning outcomes
By the end of the course, you should be able to: - Use virtual functions to construct class hierarchies with dynamic binding - Specify, implement and utilize functions and class templates - Implement and use exceptions - Use RTTI (RunTime Type Information) - Benefit from the object-oriented structure of the I/O system in the standard library, - Apply some method to identify classes, objects, attributes, operations and relationships based on a description of an object-oriented system, - Construct our own predicates and function objects to use generic functions in the standard library, and - Use a variety of container classes in the standard library
Assessment method
Approved exercises (3 ECTS), an approved examination (1.5 ECTS), and a project (3 ECTS). The project will be graded in compliance with the ECTS scale, which decides the final grade of the course. All 5 home exercises must be approved before the project can be submitted. Note: Students that have not submitted the first home exercise (Laboration 1) during the first 3 weeks of the course will be treated as inactive and therefore be excluded from the course.
Bibliography
- Lippman, B. Stanley, Lajoie, Josée, Moo, E. Barbara., C++ Primer, Addison Wesley, 5 edition (2012), ISBN-13: 978-0-321-71411-4 http://www.amazon.co.uk/C-Primer-Stanley-B-Lippman/dp/0321714113/ref=sr_1_1?s=books&ie=UTF8&qid=1412075491&sr=1-1&keywords=9780321714114 - Course notes (in Swedish) from the Mittuniversity.
Contact
Hannes Gislason