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