Το Πρόγραμμα αποτελεί συνέχεια του Java Α-Ω: Advanced Level και δίνει έμφαση στην ανάπτυξη full stack εφαρμογών, δηλ. εφαρμογών με Βάση Δεδομένων (MySQL), Γραφική Διεπαφή (Swing και JavaFX) και Γεγονοστρεφή Προγραμματισμό με βάση το μοντέλο MVC καθώς και σε Design Patterns και Professional Git μέσα από πρακτικά παραδείγματα βασισμένα σε βιντεοδιαλέξεις, σημειώσεις, ασκήσεις αυτοαξιολόγησης, εργαστήρια και εργασίες καθώς και άλλες εκπαιδευτικές δραστηριότητες.
Ενότητες
Ενότητα 1 – Αναθεώρηση, Maven
Αναθεώρηση – Java Advanced Level Programmer
Αντικειμενοστραφής Προγραμματισμός
Δομές Δεδομένων
Οργάνωση Projects με το Maven
Dependencies, Δομή Project
Maven - Project Object Model (POM)
Maven Central Repository
Διαχείριση Έργων
xml, dependencies και plugins
Maven workflow
Build lifecycle, default lifecycle, clean και install
Ενότητα 2 – Design Patterns, MVC, Swing & GUI
Design Patterns
Private constructors, Static Factory, Singleton
Telescoping constructor Pattern, JavaBeans Pattern, Builder Pattern
Avoid finalizers, Try-with-resources
toString(), equals(), hashCode()
clone vs copy constructor
Interface Comparable, Minimize mutability
Composition over Inheritance, Composition Design
Factory Method
MVC, MVP, MVVM
Model / View / Controller (MVC)
Model / View / Presenter (MVP)
Model / View / View-Model (MVVM)
Swing και GUI
Graphical User Interface (GUI)
GUI Components, Swing & AWT, Δομή Παραθύρων
JFrame, JPanel, Controls
Java Coordinate System, Layout Managers
Event Driven Programming, Listeners, ActionListener, Lambdas
ADT και Threads
JOptionPane, JLabel, JButton, JTextBox, JTable
Eclipse, WindowBuilder και Eclipse
Σχεδιασμός GUI
Ενότητα 3 – Three-tier Model - Ανάπτυξη full stack εφαρμογών
Three-Tier Model και Βάσεις Δεδομένων
Three-Tier Model
Έννοιες ΒΔ, Δομές και Μοντέλα Δεδομένων
Το Σχεσιακό Μοντέλο, Σχεδιασμός ΒΔ
Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις
Γνωρίσματα Κλειδιά, Πρωτεύον, Δευτερεύον, Ξένο Κλειδί
Κανονικές Μορφές (1η, 2η, 3η Κανονική Μορφή)
Η γλώσσα DDL (Δημιουργία, Διαγραφή, Αλλαγή Πίνακα)
Ευρετήρια, Όψεις
Η γλώσσα SQL (Select, Insert, Update, Delete)
Queries, Παραδείγματα
Βάση Δεδομένων και Σύνδεση με την Java στη ΒΔ
Δομή Full Stack Εφαρμογών
windowOpened event
Connection string, Connection class
EventQueue, SQLException class
Demo Εφαρμογής
Γραφική Διεπαφή και Event Handlers, Data Validation
Wireframes, Σχεδιασμός GUI, Top Down προσέγγιση
Υλοποίηση Παραθύρων (JFrame)
Υλοποίηση πράξεων CRUD (Create/Read/Update/Delete) στη ΒΔ
Event Handlers
Εισαγωγή, Αναζήτηση, Ενημέρωση, Διαγραφή
Έλεγχος Δεδομένων Εισόδου (Data Validation)
Demo και Demo με MVC
Ανάπτυξη Full Stack εφαρμογής, Demo, Έλεγχος, Black-box Testing και Αποσφαλμάτωση
Ενότητα 4 – JavaFX
JavaFX και Data Model, Ανάπτυξη Full Stack εφαρμογής
Δομή JavaFX, Application class
Stage / Scene, Events
Inner κλάσεις, lambdas
Αλλαγή scene, Layout Managers
GridPane, BorderPane, AnchorPane, FlowPane, StackPane, TilePane, HBox, VBox
ChoiceBox, ComboBox, ListView, TreeView,
ObservableList και TableView
Σύνδεση με ΒΔ
FXML, MVC
CSS-Like Styling
Ενότητα 5 – JPA και Professional Git
Hibernate και JPA (Java Persistence API)
Professional Git
Η «αξία» του προγράμματος
Η καρδιά του προγράμματος είναι ο κώδικας και η ανάπτυξη λογισμικού. Οι δεξιότητες που θα αποκτηθούν θα επιτρέψουν στους εκπαιδευόμενους να μπορούν να κατανοήσουν εύκολα κάθε γλώσσα προγραμματισμού και να γίνουν όχι μόνο επιτυχημένοι προγραμματιστές αλλά και επαγγελματίες στο χώρο των τεχνολογιών της πληροφορίας.