Object Oriented Programming (2ΚΠ03)
Instructor : Dimitrios Iakovidis
Assistant : Konstantinos Apostolopoulos
Course typeCompulsory
Semester2
TermSpring Semester
ECTS5
Teaching hours3
Laboratory hours2
Description
Introduction to object oriented programming. Java programming language, similarities and differences with C. Variable types. Operators. Loops. Branches. Classes and objects. Methods. Overloading. Constructors. Encapsulation. Standard methods. References. Arrays. Inheritance. Abstract classes and methods. Interfaces. Polymorphism. Design patterns. Package (libraries) construction and usage. Integrated development environments (IDE). Generic classes and methods. Lists. Inner classes. Exceptions. Files. Graphical user interfaces (GUI). Applets. Multithreading. Other object oriented programming languages, e.g., C++, C#. Android applications.
Course objectives

The objective of this course is to familiarize students with the concepts of object oriented programming, and to provide theoretical and practical knowledge on methods and tools used for object oriented design and development of reusable and extensible software. The course has both theoretical and practical aspects. The students have the opportunity to learn techniques for object oriented software design and development, and many examples with the use of object oriented programming languages, such as C++ and Java.

Upon successful completion of this course, students should be able to:

  • Have a proven knowledge and understanding of issues in the scientific field of object oriented software design and development.
  • Know and have a critical view of recent, state-of-the-art developments in the field of object oriented software design.
  • Combine their knowledge to develop methodologies that ensure the successful resolution of new, complex, study-level and real-world problems.
Textbooks/Bibliography
  • Προγραμματισμός με τη C++, Stroustrup Bjarne, Α. ΠΑΠΑΣΩΤΗΡΙΟΥ & ΣΙΑ Ο.Ε., 1η εκδ./2009, ΑΘΗΝΑ
  • Java Προγραμματισμός, Deitel Paul J.,Deitel Harvey M., Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ ΕΕ, 8η έκδ./2010, ΑΘΗΝΑ
  • Αντικειμενοστρεφής Προγραμματισμός- Java, Θραμπουλίδης Κλεάνθης, ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε., 3η έκδ./2005, ΘΕΣ/ΝΙΚΗ