Skip to main content

Object-oriented programming (C++) (3 cr)

Code: TT00VI01-3026

General information


Timing

01.01.2024 - 31.07.2025

Number of ECTS credits allocated

3 op

Virtual portion

3 op

Mode of delivery

Distance learning

Unit

School of ICT

Campus

Karaportti 2

Teaching languages

  • Finnish

Seats

0 - 5000

Degree programmes

  • Information and Communication Technology

Teachers

  • Mika Hyyryläinen
  • Virve Prami

Teacher in charge

Janne Salonen

Groups

  • VIOPE_2024_MAKSULLINEN_JARJESTELMA
    Viope TiVi (NonStop), year 2024

Objective

The student is familiar with C++ language and its specific features in object-oriented programming. The student knows how to define a class, instantiate it and write code, in which the objets created are used. The student knows how to make objects interact with each other, how to use inheritance and how to use dynamic binding. The student knows how to use as operator functions.

Content

- automatic and dynamic creation of an object,
- constructors and destructors,
- inheritance, associations, aggregation,
- virtual functions and dynamic binding,
- various parameter types,
- copy constructor,
- operator overloading,
- generic functions

Location and time

Because course is 100% online (Self-Study) course, study place and timetable is up to Student her-/himself.

Materials

Can be find on study environment.

Teaching methods

100% online (Self-Study) course.

Employer connections

N/A

Exam schedules

Can be find on study environment.

International connections

N/A

Completion alternatives

N/A

Student workload

Up to Student her-/himself.

Content scheduling

Up to Student her-/himself.

Evaluation scale

Hyväksytty/Hylätty

Assessment criteria, satisfactory (1)

After completing this course the student will
- understand the difference between a class and an object
- understands why classes are generally speaking necessary and how they are used
- is able to design and use simple classes
- understands the goal of making classes to be applicable for multiple purposes

Assessment criteria, good (3)

After completing this course the student will
- understand the benefits and disadvantages of dynamic memory management when designing and using objects
- when designing classes understand and be prepared for the challenges brought by any dynamic data members (need for a destructor, need for a copy constructor, need for an assignment operator etc.)
- knows how to select a suitable class relation type (inheritance, association, aggregation) according to the situation when using an existing class to implement a new class
- also knows how to implement a new class using the class relation types mentioned above
- know how to use virtual functions and abstract calasses

Assessment criteria, excellent (5)

After completing this course the student will
- knows when designing classes how to be prepared for eventual memory leaks and knows how to prevent these leaks in all situations (exceptional situations included)
- is able to very expertly use pointers,
- knows how to select designs which help re-using the code

Assessment methods and criteria

When you have done 80% of tasks, please send email to viopesupport@metropolia.fi.

Prerequisites

Introduction to Programming
Basic knowledge in web programming.

Further information

1. Comparison of object oriented programming in different programming languages
2. Utilizing modelling documents
3. Isolation of user interface and operational logic (MVC)