ACSC382 - Object-Oriented Programming (Achilleas Achilleos)

The aim of the course is to describe and explain the principles of object orientation – abstraction, data encapsulation and information hiding, message passing, inheritance and polymorphism and their implementation in Java programming language. To compare, clearly explain and apply the transition from data types in procedural programming paradigm to abstract data types, from simple variables to classes and instances, from library of functions to packages of classes. Building ability of students to write programs applying the principles of object orientation in different object-oriented programming languages. To show practical competence and skills of students to write high quality programs in Java using exception handling mechanism, streams and object serialization. To show skills for organizing complex programs using built-in classes and packages in Java programming environment.