Code

ΠΠΣ-184

Semester

1st

ECTS

7,5

E-Services

Category

Obligatory

Objective

 

The aim of the course is to introduce students to the object-oriented way of thinking for modeling and solving problems and to object-oriented programming (object-oriented programming) and to familiarize them with the basic concepts of the Java object-oriented programming language.

More specifically, students

  • are taught the basic concepts and techniques that constitute the object-oriented programming model,
  • acquire skills in designing and coding algorithms in the Java language, and
  • acquire the ability to develop, debug, and test programs in a programming environment.

Through the completion of well-designed laboratory exercises, students are expected to gain practical experience in developing programs in Java.

After successfully completing the course, students will be able to:

  • explain the basic principles and techniques that constitute the object-oriented programming model (indicative: classes and objects, inheritance, polymorphism )
  • design and develop algorithms in the Java object-oriented programming language
  • test programs developed in Java object-oriented programming language in a specific programming environment

Learning outcomes

  • Search for, analysis and synthesis of data and information, with the use of the necessary technology
  • Adapting to new situations
  • Decision-making
  • Working independently
  • Team work
  • Production of new research ideas
  • Project planning and management
  • Criticism and self-criticism
  • Production of free, creative and inductive thinking

Syllabus

  • Introduction to object-oriented programming

    An introduction to object-oriented thinking as an approach to problem modelling and problem solving through programming languages. Fundamental concepts of object-oriented programming. Modelling real-world entities. Objects and Classes.

  • Introduction to the Java programming language

    Syntax and features of the language, variables, data types and representations. Control structures. Paintings.

  • Classes and Objects

    Creating classes and constructing objects. Class Constructors and Methods. Calling methods on objects.

  • Interaction between objects

    Sending messages – calling methods, passing parameters.

  • Basic concepts of object-oriented programming

    Heredity and Polymorphism. Use abstractions and connections. Exception handling. Event handling.

  • Generic programming

    Generic data types, methods, and classes.

  • Anonymous classes

    Files, Streams, and Object Serialization/ Deserialization

    Functional Programming

    Functional Interfaces, streams, and lambdas.

  • Server-side programming

    Web services, java servlets.

  • Multi-threading programming

    Application development

    Graphical User Interface (GUI). JavaFX. Event handling. Development of full functionality programs.

Bibliography