Advanced Topics of Object Oriented Programming

Module Information

Module Semester:
Module Part:
Sub-Module Code:
Hours per Week:
Module ECTS Credits:
Available to ERASMUS Students:
Module Staff:

Module Objective

Its main objective is to teach advanced concepts and techniques which form the object oriented programming paradigm using Java.

Module Study Targets

Upon completion of this class, students should be able to:

  1. Understand the concept of OOP as well as the purpose and usage principles of inheritance, polymorphism, encapsulation and method overloading
  2. Identify classes, objects, members of a class and the relationships among them needed for a specific problem
  3. Create Java application programs using sound OOP practices (e.g., interfaces and APIs) and proper program structuring (e.g., by using access control identifies, automatic documentation through comments, error exception handling)
  4. Use testing and debugging tools to automatically discover errors of Java programs as well as use versioning tools for collaborative programming/editing
  5. Develop programs using the Java Collection API as well as the Java standard class library

Module Acquired Abilities

  • Search, analysis and synthesis of data and information, using advance Java tools
  • Adapting to new situations: Evaluation of project proposals related to complex problems
  • Decision Making: Synthesis of techniques for more advanced programming problems
  • Autonomous work: Knowledge of development tools and use of programming manuals and the Web in order to formulate a solution
  • Teamwork: Ability for dialog and cooperation for the development of composite problems
  • Working in an international environment: Ability to follow the international bibliography and the scientific events, Communicative ability
  • Generate new research ideas: Promoting free, creative and inductive thinking to develop new approaches to programming ideas

Module Description

  1. Ιntroduction to Programming with Java
  2. Selections,  Loops, Characters and Strings
  3. Methods and Arrays
  4. Objects and Classes
  5. Inheritance and Polymorphism
  6. Advanced Object-Oriented Thinking
  7. Exception Handling and Text
  8. Abstract Classes and Interfaces
  9. JavaFX
  10. Java Database Programming
  11. Event-Driven Programming and Animations
  12. Networking, Client Server Computing
  13. Java Server Pages

Module Student Evaluation

Project No1 25%

Project No2 25%

Written examination: 50%


  • Schildt Herbert, "Java: The Complete Reference", 9th Ed., McGraw-Hill Education, 2014
  • Dr. Liang, "Intro to Java Programming", 10th Ed., Pearson, 2014
  • Hunt Charlie and Binu John, "Java Performance", 1st Ed., Addison-Wesley Professional, 2012