Semester 2

Course: Object Oriented Programming I

Course Code: MK10
Course Level: Undergratuate
Obligatory/Elective: Obligatory
Semester: 2
Division: Main Course
Group: Main Course
ECTS Credits: 5
Hours Per Week: 4
Language: Greek

Οbject‐oriented programming in Java. Abstract and concrete classes, interfaces. Properties and objects. Methods, messages, method overriding. Program control constructs. Arrays and dynamic structures. Debugging a program using an IDE. Inheritance, polymorphism and encapsulation. Exception handling, Threads, SWING library.  

Learning Results:

After the successful completion of the course the student is expected to be able to develop complex applications in Java. 

In particular the student will be able to:

  • understand and use the basic principles of object oriented  programming  
  • understand, design and implement classes and objects 
  • understand and use the concept of inheritance  
  • understand and use the concept of polymorphism  
  • understand and use the concept of encapsulation  
  • understand and use the concept of abstract classes and data  
  • understand and use the concepts of composition and  aggregation  
  • develop object oriented programs based on Java programming  language 
  • develop applications that implement threads
  • handle exceptions
  • use dynamic arrays
  • develop graphical user interface with SWING


Teaching Methods:

Lectures and labs


40% labs, 60% final exam

Suggested Books:

[1] Savitch Walter, Absolute Java, Stella Parikou.

[2] Deitel Paul J.,Deitel Harvey M., Java Programming, Giourdas 

[3] H. Schildt. Java Guide, Giourdas.

[4] E. Lervik and V.B. Havdal, Java with UML. Kleidaritmos.

[5] G. Liakeas, Introduction to Java, Kleidarithmos.

Lecturer: Bibi Stamatia