5015.17 - Object Based Programming in C++
Course number
5015.17
Title
Object Based Programming in C++
ECTS
7.5
Prerequisites
Introduction to computer science (7.5 ECTS), Introductory Programming in C++
Purpose
Introduction to object oriented concepts and programming with specification, design, implementation and use of classes in C++. Focus is on the concept of classes and the use of objects. The students will also learn about the use of dynamical memory, pointers and recursion; and about typical abstract data types such as cue, stacks and lists. UML will be introduced as a modeling language.
Content
- object oriented concepts: classes, members, operations,
attributes, objects, instance, inheritance, relations, messaging etc. - specification and implementation of classes in C++
- operator overloading
- const-declarations
- abstract data types: cue, stacks and lists
- use of dynamic memory
- pointers and their applications
- iterations in the standard library, also the relations with pointers
- recursive algorithms
- container classes in the standard library
- the students own implementations of algorithms for sorting and searching
- UML-diagrams for classes, objects, activities and sequences
Learning and teaching approaches
Remote education from Mid Sweden University; and local supervision (about 3 hours/week).
Learning outcomes
By the end of the course, the student should be able to:
- use operator overloading
- explore constant types for members, object references and pointers
- use pointers in practical programming and in relation to use of dynamical memory
- use iterations in the standard library
- describe differences and similarities between pointers and references
- specify and implement classes and design the corresponding class diagram in UML
- use objects of different types as data members in a class
- describe the difference between deep- and shallow copy and be able to use operator overloading in this context
- specify and implement an ordinary abstract data structure as a class and use it
- use recursion
Assessment method
Approved exercises (3 ECTS), approved theoretical examination (1.5 ECTS) and a programming project (3 ECTS), which will be graded and count for the final grade for this course.
Note: students that have not delivered any required course work during the first 3 weeks of the course may risk to be excluded from the course.
Marking scale
7-
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