Object Oriented Programming (Laboratory)

Module Information

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

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)
  4. Use testing and debugging tools to automatically discover errors of Java programs as well as use versioning tools for collaborative programming/editing

Module Acquired Abilities

  • Search, analysis and synthesis of data and information, using Java programming tools
  • 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

Module Description

  1. Introduction to Programming with Java
  2. Selections, Loops
  3. Characters and Strings
  4. Methods
  5. Arrays
  6. Objects and Classes
  7. Inheritance and Polymorphism
  8. Advanced Object-Oriented Thinking
  9. Exception Handling
  10. Abstract Classes and Interfaces
  11. Java Swing
  12. Event-Driven Programming and Animations
  13. Java Database Programming

Module Student Evaluation

  • Written examination: 60%
  • Laboratory examination: 40%
  • Project presentation of up to 20%, towards the written examination


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