Object Oriented Programming

Course ID
2ΚΠ03
Επίπεδο
Undergraduate
Είδος
Compulsory
Εξάμηνο
2
Περίοδος
Spring Semeter
ECTS
5
Ώρες Θεωρίας
3
Ώρες Εργαστηρίου
2

Instructor

Dimitrios Iakovidis

Assistant

Dimitrios Diamantis

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

  • Απόλυτη Java (περιέχει CD), Savitch Walter, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 1η έκδ./2016, ΑΘΗΝΑ, 59380297
  • Java Προγραμματιμός, 10η Εκδ. , Harvey M. ,Paul J. Deitel, “Χ. ΓΚΙΟΥΡΔΑ & ΣΙΑ ΕΕ”, 10η Εκδ./2015, ΑΘΗΝΑ, 50659320
  • Προγραμματισμός με τη C++, 2η Έκδοση, Stroustrup Bjarne, Α. ΠΑΠΑΣΩΤΗΡΙΟΥ & ΣΙΑ Ι.Κ.Ε., 2η/2018, ΑΘΗΝΑ, 77112469