Αντικειμενοστραφής Προγραμματισμός

Aims and Objectives

This course continues developing Object Oriented Programming concepts and principles that have been introduced in the course \\\»Algorithms & Programming\\\».
It aims to provide an extensive understanding of object-oriented programming and the development of object-oriented thinking to solve computational and programming problems. Emphasis is given on teaching basic principles of object-oriented programming and their application using the JAVA programming language as well as understanding the capabilities of JAVA compared with other programming languages.
It also includes an overview of recursion and other advanced algorithms and techniques.
Programming is not just writting code. Developers should also make some compromises, to choose among alternative designs, different algorithms and different implementations. At the same time they have to deal with compatibility issues, performance and reliability and must also satisfy the specifications. Upon completion of this course, students should know basic searching and sorting algorithms and also be able to:

Key Contents

Composition and Inheritance: composition, recursive classes, subclasses/derived classes, access modifiers, overloading and overriding fields and methods, class hierarchies, polymorphism, comparison of inheritance and composition
Error Handling, Exceptions
Enhanced class design: abstract classes and methods, interfaces, packages
General approaches to the construction of efficient solutions to problems, recursion, searching and sorting.