Object-Oriented Programming

Professors Andriana Prentza
Andreas Menychtas
Vassiliki Koufi
Course category Core
Course ID DS-502
Credits 7
Lecture hours 3 hours
Lab hours 2 hours
Digital resources View on Aristarchus (Open e-Class)

Learning Outcomes

The course’s material includes the basic concepts and techniques that constitute the object-oriented programming and how these are implemented in practice using the object-oriented programming language Java. In addition, the object-oriented way of thinking for problem modelling and solving is being analyzed.

Upon successful completion of the course, the students will be in position to:

  • Explain the basic principles and techniques that constitute the model of object-oriented programming (indicatively: classes and objects, inheritance, polymorphism).
  • Design and develop programs that implement specific algorithms in the object-oriented programming language Java.
  • Test programs developed in Java in a specific integrated programming environment.

Course Contents

  • Introduction to Object-Oriented Programming (OOP)
  • OOP and basic concepts: classes, objects, messages, methods, access control, inheritance, polymorphism abstract classes
  • Introduction to classes and objects in Java
  • Control statements in Java
  • Methods in Java
  • Arrays in Java
  • Packages in Java
  • Inheritance in Java
  • Polymorphism in Java
  • Abstract classes in Java
  • Exception handling
  • Java APIs

Recommended Readings

  • “Java Programming”, Edition: 10th, Authors: H. M. Deitel, P.J. Deitel, Publisher: A. Gkiourda & Sia S.A., 2015 (1st Book)
  • “Introduction to Java”, Edition: 2nd, Authors: G. Liakeas, Publisher: Kleidarithmos Ltd, 2015 (2nd Book)
  • Notes and course slides