5015.17 - Object Based Programming in C++

Course number
Object Based Programming in C++
Introduction to computer science (7.5 ECTS), Introductory Programming in C++
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.
- 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
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
Hannes Gislason