5031.15 - Object Oriented Programming in C++


Course number
5031.15
Title
Object Oriented Programming in C++
ECTS
7.5
Prerequisites
Introduction to computer science (7.5 ECTS), Introductory 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, 'compile time' vs. 'run time' - The design of function 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
Remote education 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
After the course you should be able to: - Use virtual functions to construct class hierarchies with dynamic binding, - Specify, implement and utilize function and class templates - Implement and use exceptions - Use RTTI (RunTime Type Information) - Take advantage of 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), which will be graded and count for the final grade for this course. The exercises must be approved before the project is delivered.
Marking scale
P-
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
Contact
Hannes Gislason