5015.15 - Object Based Programming in C++


Course number
5015.15
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; DT019G Objektbaserad programmering i C++, / DT019G Object based Programming in C++, 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
P-
Contact
Hannes Gislason