Skip to main content

Object Oriented ProgrammingLaajuus (5 cr)

Code: 4_EFS8070

Credits

5 op

Teaching language

  • English

Learning objectives

You understand the object-oriented programming paradigm
You realize what a class is
You are able to define a class
You realize what an object is
You are able to create instances of a class
You realize what an attribute is
You are able to create attributes into a class
You realize what a method is
You are able to create a dynamic method bound to an instance of a class
You are able to create a static method
You are able to use objects when modelling an application domain
You are able to design classes according to an application domain model
You realize what data encapsulation means
You realize what is an accessor
You realize what is an mutator
You realize what a mutator is used for
You realize what an accessor is used for
You realize what access control attributes are
You are able to restrict visibility of attributes
You are able to restrict visibility of methods
You are able to create accessors
You realize what inheritance is about
You are able to inherit a class
You are able to override a method in a subclass
You are able to restrict the visibility of inherited attributes in a subclass
You are able to restrict the visibility of inherited methods in a subclass
You realize what aggregation means
You realize what composition means
You realize what overriding a method means
You are able to realize an aggregation
You are able to realize an composition
You are able to utilize code reusability in a larger project
You realize the role of polymorphism in inheritance
You realize the role of polymorphism in methods
You realize what overriding a method means
You realize how data type conversions work
You are able to write an overridable method
You are able to override a method
You realize what exceptions are
You realize how exceptions are used
You are able to catch an exception
You are able to throw an exception
You are able to design an exception class of your own
You realize what is an interface
You are able to design interfaces
You are able to realize interfaces
You are able to realize several interfaces into one class
You realize what is an abstract class
You are able to design an abstract class
You are able to design an abstract method
You are able to realize an abstract method
You are able to design an implementation model for the application domain
You are able to choose inheritance, aggregation and composition regarding the
needs of the application domain
You realize what threads are
You are able to use threads in your programs
You realize parallel processing using threads
You know the fundamental generic classes of the programming language
You are able to utilize generic classes

Content

Object-oriented paradigm and modelling
Classes and instances
Data encapsulation
Static and dynamic attributes and methods
Accessors and mutators
Inheritance
Polymorphism
Abstract classes
Interfaces
Aggregation and composition
Threads
Exceptions

Materials

Lecture notes. Any book about object oriented programming.

Qualifications

Basics of Programming , User Interface Programming

Enrollment

01.12.2024 - 15.01.2025

Timing

01.01.2025 - 31.07.2025

Credits

5 op

Mode of delivery

Contact teaching

Teaching languages
  • English
Degree programmes
  • Degree Programme in Internet of Things
Teachers
  • Teemu Matilainen
Student groups
  • IT24SP
    Information Technology IOT

Qualifications

Basics of Programming , User Interface Programming

Materials

Lecture notes. Any book about object oriented programming.

Enrollment

01.12.2023 - 15.01.2024

Timing

01.01.2024 - 31.07.2024

Credits

5 op

Mode of delivery

Contact teaching

Teaching languages
  • English
Teachers
  • Teemu Matilainen
Student groups
  • IT23SP
    Information Technology IOT

Qualifications

Basics of Programming , User Interface Programming

Materials

Lecture notes. Any book about object oriented programming.

Enrollment

01.08.2023 - 15.09.2023

Timing

04.09.2023 - 20.12.2023

Credits

5 op

Mode of delivery

Contact teaching

Teaching languages
  • English
Seats

0 - 50

Teachers
  • Mika Vanhanen
Student groups
  • EF22SP
    Bachelor Degree Programme in Information Technology IOT

Teaching methods

You are able to use Object-oriented paradigm and modelling
You realize what a class is and how to define a new class.
What is an instance of a class and how you create it.
You realize what an attribute is
You are able to create attributes into a class
You realize what data encapsulation means
You realize how to use accessors and mutators
You are able to create a static method
You realize what overriding a method means
You are able to write an overridable method and override methods in subclasses
You realize what inheritance is about
You realize what aggregation and composition means
You are able to understand and use of abstract classes and methods
You know principles of Interfaces.
You learn what exceptions are.
You learn how and why exceptions are used.
You realize what threads are
You are able to use threads in your programs

Course contains one exam and multiple exercises

Student workload

Lectures: 56 h
Self-studies, exercises: 79 h

Qualifications

Basics of Programming , User Interface Programming

Materials

Lecture notes are available at Moodle platform.
Any book about object oriented programming.

Further information

Prerequisites:
Basics of Programming, User Interface Programming

Learning environment (Moodle):
https://moodle.savonia.fi/course/view.php?id=17681