Προχωρημένος Προγραμματισμός με νεότερες εκδόσεις Java (1.8+)

Διάρκεια: 1 μήνας 25 ημέρες
Κόστος: 300 ευρώ
Φόρτος εργασίας: 80 ώρες
ECVET: 4
Ένα πρόγραμμα κατάρτισης τόσο για επαγγελματίες προγραμματιστές όσο και για νεότερους που ενδιαφέρονται να αξιοποιήσουν τις διαφοροποιημένες δυνατότητες που παρέχει η νέα γενιά της Java (1.8 ή νεότερη). Το πρόγραμμα θα βοηθήσει τους επιμορφωμένους να βελτιωθούν γράφοντας καθαρό, αναγνώσιμο και αποδοτικότερο κώδικα Java.
Αντικείμενο και Σκοπός

Since the functional programming concepts in Java (1.8 or higher) have been introduced, they changed the idioms of the language and developers have been trying to catch up ever since. There are a lot of advantages to the new programming model, once you get used to them. Functional code tends to be smaller and easier both to write and understand.

The main goal of this training is to enable java developers to better understand the new concepts, and how these new features can help developers to provide better implementation to their problem, by writing clean, readable java code.

This training program focuses on professionals that have prior knowledge of Java 1.7 or earlier, since it covers only new concepts introduced in Java 17 SE and above. Professionals with prior Java knowledge and feel comfortable with Object Oriented programming and standard library should be fine to attend this course.

Μαθησιακοί Στόχοι
Με την ολοκλήρωση του προγράμματος, ο/η επιμορφούμενος/η θα είναι σε θέση να:

  1. Κατανοεί τις νεότερες έννοιες στην Java.
  2. Αναπτύσσει επαγγελματικό λογισμικό.
Μεθοδολογία Υλοποίησης

Διαδικασία Υλοποίησης της Επιμόρφωσης
Online εξ αποστάσεως

Μέθοδοι Υλοποίησης της Επιμόρφωσης
Το εκπαιδευτικό υλικό θα αποτελείται από βιντεοσκοπημένες ενότητες και παραδείγματα προγραμματισμού. Θα χρησιμοποιηθεί η μέθοδος της μεικτής τηλεκπαίδευσης. Το υλικό θα διατίθεται σταδιακά και θα οργανώνονται τηλεσυναντήσεις με τον διδάσκοντα. Κάθε εβδομάδα και μία ενότητα.

Μέθοδοι Αξιολόγησης & Κριτήρια Απόδοσης Πιστοποιητικού Επιμόρφωσης
Η μέθοδος αξιολόγησης θα αποτελείται από εργασίες με την μορφή προγραμματισμού σε εβδομαδιαία βάση.

Από το αποτέλεσμα των εργασιών θα προκύψει και ο τελικός βαθμός των εκπαιδευομένων.

Το πρόγραμμα δεν θα τηρεί απουσιολόγιο.

Κόστος προγράμματος: €300

Εκπτωτικές κατηγορίες:

10% έκπτωση σε άνεργους
10% έκπτωση σε φοιτητές
10% έκπτωση σε ένστολους
10% έκπτωση σε ιδιωτικούς υπαλλήλους
10% έκπτωση σε υπαλλήλους Δημοσίου και ΟΤΑ
10% έκπτωση σε συμμετέχοντες άνω των 40 ετών
10% έκπτωση σε προκαταβολή του συνολικού ποσού

1. Modern Java Introduction

Σύνολο φόρτου εργασίας: 10 ώρες

In the first week, we will cover the basics of lambda expressions and method references and follow with the new features of interfaces such as default methods and static methods. It also defines the term functional interfaces and explains how it is key to understanding lambda expressions.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Lambda Expression – Duration: 10 min
2. Method References – Duration: 10 min
3. Constructor References – Duration: 10 min
4. Functional Interfaces – Duration: 10 min
5. Static Method In Interfaces – Duration: 10 min
6. Default Methods in Interfaces – Duration: 10 min
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above.

 

  • Εβδομαδιαία συνεδρία: Modern Java Introduction
2. Functional Interfaces

Σύνολο φόρτου εργασίας: 10 ώρες

The java.util.Function package presents the new java.util.function package, which was added to the language in Java 8. The interfaces in the package fall into four special categories (consumers, suppliers, predicates and functions) that are used throughout the rest of the standard library.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Filter Data with Predicates – Duration: 10 min
2. Consume Data with java.util.function.Consumer – Duration: 10min
3. Supply data with java.util.function.Supplier – Duration: 10min
4. Implementing a custom functional interfaces – Duration: 10 min
5. Iterating over a Collection- Duration: 10 min
6. Closure Composition – Duration: 10 min
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 180 minutes.

 

  • Εβδομαδιαία συνεδρία: Functional Interfaces
3. Introduction to Streams

Σύνολο φόρτου εργασίας: 10 ώρες

In this session, concepts of streams, how they represent an abstraction that allows you to transform the filter data rather than process it iteratively. Additionally, a presentation of the most common use of java.util.Stream interface will be presented.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Creating Streams
2. Boxed Streams
3. Reduction Operations
4. Converting Strings to Stream and vice versa
5. Counting Elements
6. Finding elements in a Stream (anyMatch, allMatch, noneMatch)
7. Stream flatMap vs map
8. Concatenating Streams
9. Lazy Streams
10. Summary Statistics
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 180 minutes.

 

  • Εβδομαδιαία συνεδρία: Introduction to Streams
4. Comparators and Collectors

Σύνολο φόρτου εργασίας: 10 ώρες

This session involves the sorting of streaming data and converting it back into collections. Partitioning and grouping is also part of this chapter, which turns what are normally considered database operations into easy library calls.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Sorting Using a Comparator
2. Converting a Stream into a Collection
3. Adding a Linear Collection to a Map
4. Sorting Maps
5. Partitioning and Grouping
6. Finding Min/Max Values
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 180 minutes.

 

  • Εβδομαδιαία συνεδρία: Comparators and Collectors
5. Advanced topics for Streams, Lambdas and Method References

Σύνολο φόρτου εργασίας: 10 ώρες

In this session, advanced topics related to streams, lambdas and method references will be presented. The concept of laziness, deferred execution and exception handling will be discussed.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Implementing a custom Collector
2. Creating immutable Collectors
3. Combining Collectors
4. Downstream Collectors
5. Mapping Optionals
6. Optional flatMap vs Map
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 180 minutes.

 

  • Εβδομαδιαία συνεδρία: Advanced topics for Streams, Lambdas and Method References
6. File I/O with Streams

Σύνολο φόρτου εργασίας: 10 ώρες

In this session is presented how streams are used for input/output and presents the new enhancements made to the standard library to incorporate the new functional concepts when dealing with files and directories.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 120 min
Video Sessions
1. Process Files
2. Retrieving files as a Stream
3. Walking the File System
4. Searching the File System
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 120 minutes.

 

  • Εβδομαδιαία συνεδρία: File I/O with Streams
7. Parallelism and Concurrency

Σύνολο φόρτου εργασίας: 10 ώρες

In this session, we address one of the implicit promises of the stream model: that you can change a sequential stream to a parallel one with a single method call, and thereby take advantage of all the processors available on your machine.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Converting from Sequential to Parallel Streams
2. When Parallels helps
3. Changing the pool size
4. The Future Interfaces
5. Completing a CompletableFuture
6. Coordinate a Completable Future
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 120 minutes.

 

  • Εβδομαδιαία συνεδρία: Parallelism and Concurrency
8. Advanced Topics

Σύνολο φόρτου εργασίας: 10 ώρες

This session discusses some advanced topics about java 17 such as modularization, how to use pattern matching, and how to design with sealed classes and interfaces.

Duration
● Video Sessions: 60 min
● Programming Assignment: max 180 min
Video Sessions
1. Modularization
2. Programming with Record
3. Designing using sealed classes
4. Pattern Matching concepts
5. Virtual Threads
Programming Assignments
One programming assignment solving problems using core java, that covers the above topics that we discussed above, maximum duration 180 minutes.

 

  • Εβδομαδιαία συνεδρία: Advanced Topics

Χαράλαμπος Σκιάνης

Επιστημονικά & Ακαδημαϊκά Υπεύθυνος
Καθηγητής - Πανεπιστήμιο Αιγαίου

 

 

Θωμάς Πλιάκας

Διδάσκων
Principal Software Architect

 

 

Pin It on Pinterest