ΘΕΜΑΤΑ MSC, ΔΙΠΛΩΜΑΤΙΚΩΝ ΚΑΙ ΠΤΥΧΙΑΚΩΝ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ ΑΚ. ΕΤΟΣ 2016-2017 Π. ΒΑΣΙΛΕΙΑΔΗΣ 2016-7-06 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. DATA STORYTELLING WITH CINECUBES 2 1.1. ΑΝΑΔΟΜΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ CINECUBES ΚΑΝΟΝΤΑΣ ΧΡΗΣΗ ΑΠΟ SOFTWARE DESIGN PATTERNS 4 1.2. ΒΕΛΤΙΩΣΗ ΤΗΣ ΕΜΦΑΝΙΣΗΣ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΩΝ CINECUBES 5 1.3. ΑΞΙΟΛΟΓΗΣΗ HIGHLIGHTS ΚΑΙ ΣΥΜΠΤΥΞΗ ΤΟΥΣ 6 1.4. ΜΕΤΑΠΤΩΣΗ ΤΩΝ CINECUBES ΣΕ ΠΛΑΤΦΟΡΜΑ SPARK ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΗΣ 7 1.5. ΕΠΕΚΤΑΣΗ TOY CINECUBES ΜΕ ΣΥΝΕΧΕΙΣ ΕΡΩΤΗΣΕΙΣ 8 1.6. ΕΠΕΚΤΑΣΗ ΤΩΝ CINECUBES ΜΕ ΕΙΔΙΚΟ ΧΕΙΡΙΣΜΟ ΧΡΟΝΟΥ ΚΑΙ ΠΡΟΒΛΕΨΕΩΝ 9 1.7. ΔΙΑΔΡΑΣΤΙΚΗ ΔΙΑΠΡΟΣΩΠΕΙΑ ΓΙΑ ΤΟ ΣΥΣΤΗΜΑ CINECUBES 10 Την πρώτη εβδομάδα μετά την εξεταστική του Σεπτεμβρίου, θα βρίσκομαι στη Βαρκελώνη για την εξέταση ενός διδακτορικού. Επιστρέφοντας, γύρω στις 29-30 Σεπτεμβρίου, θα παρουσιάσω τα θέματα (και όποια άλλα προκύψουν στην πορεία) σε όσους φοιτητές ενδιαφέρονται (θα ανακοινώσω ημερομηνία μόλις κλείσουν οι ημ/νίες του ταξιδιού μου). C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 1
1. DATA STORYTELLING WITH CINECUBES Στο σύστημα CineCubes, εξετάζουμε πώς μπορούμε να απαντηθούν ερωτήματα των χρηστών με CineCube movies. Ο χρήστης υποβάλλει ένα OLAP ερώτημα (πρακτικά ένα ερώτημα συνάθροισης που περιλαμβάνει group-by και where clause). Το σύστημα Cinecubes παράγει ως έξοδο μια CineCube movie, η οποία υλοποιείται ως μια παρουσίαση του PowerPoint. Η διαδικασία που ακολουθείται είναι η ακόλουθη: 1. Λαμβάνοντας το ερώτημα του χρήστη ως είσοδο, το σύστημα παράγει ένα σύνολο από συνοδευτικά ερωτήματα που συμπληρώνουν το αρχικό ερώτημα, και τα εκτελεί. Τα συνοδευτικά ερωτήματα σκοπό έχουν να βάλουν τα αποτελέσματα του αρχικού ερωτήματος σε context, ή να παρουσιάσουν την πληροφορία σε μεγαλύτερη ανάλυση. Χονδρικά, η ταινία που παράγεται είναι μια ακολουθία από slides, με κάθε slide να αντιστοιχεί (κατά κανόνα) σε ένα συνοδευτικό ερώτημα. 2. Στη συνέχεια, το σύστημα οπτικοποιεί τα αποτελέσματα του κάθε ερωτήματος, συνοδεύει την παρουσίαση τους με κείμενο το οποίο παράγεται με αυτόματο τρόπο και σχολιάζει τα σημαντικά μέρη των αποτελεσμάτων. Το βασικό στοιχείο στο οποίο στηρίζεται ο σχολιασμός είναι η παραγωγή highlights για τα αποτελέσματα κάθε ερώτησης, τα οποία είναι αναζητήσεις πάνω στο αποτέλεσμα για ενδιαφέροντα μοτίβα. Κάθε τέτοιο μοτίβο εντοπίζεται από ένα αλγόριθμο που έχει κατασκευαστεί για το σκοπό αυτό. Για παράδειγμα, ελέγχουμε για το αν μια στήλη ή μια γραμμή έχει συστηματικά τις top-3 υψηλότερες ή χαμηλότερες τιμές σε όλον τον πίνακα, αν όλες οι τιμές μιας γραμμής/στήλης είναι υψηλότερες από μιας άλλης, κλπ. Προς το παρόν, η οπτικοποίηση των αποτελεσμάτων γίνεται με τη μορφή 2D πίνακα και το κείμενο εντάσσεται στις σημειώσεις της παρουσίασης. 3. Επιπλέον, αν ο χρήστης επιθυμεί, το σύστημα παράγει αυτόματα ήχο για το κείμενο που δημιουργούμε, μέσω ενός συστήματος μετατροπής κειμένου σε ήχο. Κάθε συνδυασμός της απεικόνισης, του κειμένου και του ήχου αποτελεί ουσιαστικά μία CineCube movie, η οποία υλοποιείται ως μια παρουσίαση του PowerPoint και επιστρέφεται στον χρήστη. Η κατασκευή του PowerPoint γίνεται προγραμματιστικά (με πολύ εύκολο τρόπο) από τη βιβλιοθήκη POI της Apache. Details, demo, code: http://www.cs.uoi.gr/~pvassil/projects/cinecubes/ Κάθε εργασία αναμένεται να δουλέψει σε 1 2 ΝΕΑ, δικά της data sets (με 3-4 διαστάσεις και κατά προτίμηση με additive χαρακτηριστικά), ώστε να κατασκευαστεί μια πληθώρα βάσεων όπου μπορούμε να αποτιμήσουμε το σύστημα. C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 2
C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 3
1.1. ΑΝΑΔΟΜΗΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ CINECUBES ΚΑΝΟΝΤΑΣ ΧΡΗΣΗ ΑΠΟ SOFTWARE DESIGN PATTERNS ΠΕΡΙΛΗΨΗ: Αναδόμηση του συστήματος Cinecubes κάνοντας χρήση από software design patterns. ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: Στο project Cinecubes υπάρχουν διάφορα κομμάτια κώδικα που δεν είναι καλώς δομημένα (π.χ., God classes, very large methods, ). Ο φοιτητής που θα αναλάβει αυτή την εργασία θα πρέπει, να συνεισφέρει στον εντοπισμό των κομματιών του λογισμικού που προσφέρουν κακές οσμές κώδικα (code smells), και στη συνέχεια, κάνοντας χρήση διαφόρων τεχνικών αναδόμησης (refactoring), τυπικά μέσω των κατάλληλων design patterns, να επιτύχει να βελτιώσει αυτή την αρχιτεκτονική του λογισμικού. Προφανώς, η λειτουργικότητα του συστήματος δεν θα πρέπει να επηρεαστεί από την αναδόμηση (ή να βελτιωθεί αν φανεί εύλογο), κατά συνέπεια, κάθε βήμα της αναδόμησης θα πρέπει να ελεγχθεί διεξοδικά μέσω κατάλληλων test fixtures που θα πρέπει να συντεθούν. ΕΠΙΠΕΔΟ: Διπλωματική εργασία ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java ΠΡΟΚΛΗΣΕΙΣ & ΟΦΕΛΗ: Η εργασία είναι κατάλληλη για φοιτητές με έντονο ενδιαφέρον και ικανότητες στην τεχνολογία λογισμικού, με έμφαση στην ορθή σχεδίαση και έλεγχο κώδικα. Ο φοιτητής που θα αναλάβει να φέρει εις πέρας αυτή την εργασία θα μπορέσει: (α) να αντιληφθεί τη δυσκολία που έχει ένα αρκετά μεγάλο σε μέγεθος project ως προς την τροποποίησή του και συνεπώς να δει πως μια καλή αρχική σχεδίαση μπορεί να βοηθήσει στην συνέχεια την εξέλιξη ενός project, (β) να ενημερωθεί για τεχνικές αναδόμησης και να χρησιμοποιήσει κάποια από τα software design patterns και (γ) να μπορέσει να κάνει χρήση εργαλείων που σχετίζονται με testing ώστε να κάνει πιο σίγουρη τη μετάβασή του από την pre στην post era του κώδικα. Απαιτούμενα προσόντα είναι το ενδιαφέρον για τον προγραμματισμό, η πολύ καλή γνώση Java, η καλή επίδοση στο σχετικό μάθημα επιλογής του κ. Ζάρρα, και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 4
1.2. ΒΕΛΤΙΩΣΗ ΤΗΣ ΕΜΦΑΝΙΣΗΣ ΤΩΝ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΤΩΝ CINECUBES ΠΕΡΙΛΗΨΗ: Βελτίωση της εμφάνισης των αποτελεσμάτων των Cinecubes ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: Στα πλαίσια της εργασίας, ζητείται να γίνουν οι εξής επεκτάσεις των Cinecubes: 0. Προσθήκη κειμένου on the slide. Εδώ θα πρέπει να επιλεγεί ένα υποσύνολο από το κείμενο των notes και να τοποθετηθεί οργανικά μέσα στο slide. 1. Προσθήκη γραφικών παραστάσεων (charts and graphs) on the slide. καθώς και στα xlsx/docx. Για παράδειγμα, για κάθε 2D πίνακα που εμφανίζεται σε μια slide μπορεί κανείς να βγάλει πολλές γραφικές: scatterplot + 2 bar charts (κάθε διάσταση να παίζει το ρόλο του x-άξονα)+ lines αντίστοιχα με τα bars. 2. Export to xlsx. Εκτός από την παρουσίαση σε Powerpoint και Word (που υποστηρίζονται τώρα), η βιβλιοθήκη POI της Apache μας επιτρέπει να εξάγουμε προγραμματιστικά και xlsx κείμενα. Θα ήταν επίσης ενδιαφέρον, να μπορεί η εν λόγω εξαγωγή να γίνει στη βάση κάποιου template (π.χ., με συγκεκριμένο εξώφυλλο, logo, ). 3. Ορθογώνια στα παραπάνω, απαιτείται η αποτίμηση της μεθόδου με περισσότερα του ενός data sets. Το κομμάτι των γραφικών παραστάσεων θα ρυθμιστεί ανάλογα με την ευκολία που μας δίνει το POI για τη δουλειά αυτή. ΕΠΙΠΕΔΟ: Διπλωματική εργασία ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java / Spark (ή άλλη βιβλιοθήκη έτοιμων αλγορίθμων πρόβλεψης) ΠΡΟΚΛΗΣΕΙΣ και ΟΦΕΛΗ: Η δυσκολία αφορά στην κατανόηση του υπάρχοντος συστήματος και στην επέκτασή του με νέα χαρακτηριστικά με συγκροτημένο τρόπο. Τα οφέλη για ένα φοιτητή είναι: (α) εμπλοκή σε ένα τελείως νέο χώρο, αυτόν του data storytelling, που φαίνεται να έχει ιδιαίτερες προοπτικές στο μέλλον, (β) τεχνογνωσία σε θέματα αυτόματης κατασκευής κειμένων με κώδικα, και (γ) hands-on σε ένα ευμέγεθες κομμάτι λογισμικού. Απαιτούμενα προσόντα είναι το ενδιαφέρον για τον προγραμματισμό, η πολύ καλή γνώση Java και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. Η εργασία επηρεάζεται από την ανάγκη αναδόμησης του κώδικα και θα χρειαστεί να προβεί και σε επί μέρους μικρότερες αναδομήσεις (όχι πάντως στην έκταση της σχετικής εργασίας) C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 5
1.3. ΑΞΙΟΛΟΓΗΣΗ HIGHLIGHTS ΚΑΙ ΣΥΜΠΤΥΞΗ ΤΟΥΣ ΠΕΡΙΛΗΨΗ: Επέκταση των Cinecubes ώστε να μειωθεί η «φλυαρία» ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: Η αυτόματη παραγωγή highlights είναι ένα από τα αξιοσημείωτα στοιχεία των Cinecubes. Όμως πολλές φορές, τα παραγόμενα highlights «φλυαρούν», επαναλαμβάνοντας την ίδια πληροφορία πολλές φορές. Η έρευνα χρηστών μας έδειξε ότι πολλές φορές οι χρήστες θέλουν λιγότερα και όχι περισσότερα αποτελέσματα. Ένας τρόπος για να μειώσουμε τη φλυαρία είναι να αξιολογηθεί κάθε highlight / set of highlights in a slide ως προς την πληροφορία που προσφέρει(ουν). Οι επόμενοι στόχοι που έχουμε να κατακτήσουμε στο πλαίσιο της εργασίας είναι: 1. Αξιολόγηση των παραγόμενων highlights, η ταξινόμησή τους, και η καλύτερη οργάνωσή τους (διαγραφή/σύμπτυξη) για το σκοπό της παραγωγής του κειμένου. 2. Αξιοποίηση του κειμένου, η σύμπτυξή του με την απαλοιφή άχρηστων ή επαναλαμβανόμενων κομματιών, και η καλύτερη οπτικοποίησή του. 3. Ορθογώνια στα παραπάνω, απαιτείται η αποτίμηση της μεθόδου με περισσότερα του ενός data sets και η αξιολόγησή της με μια έρευνα χρηστών. Είναι επίσης εφικτό να δοκιμάσει κανείς να οργανώσει τις προβαλλόμενες πληροφορίες σε ένα γράφημα από σημαντικές «έννοιες» (οι τιμές των διαστάσεων των ερωτημάτων μιας αναφοράς) οι οποίες σχετίζονται μεταξύ τους με σχέσεις dominance / affinity / με βάση τα highlights. Μια υψηλή τιμή σε κάποια γραφοθεωρητική μετρική (βαθμός, κεντρικότητα, ) μπορεί να σηματοδοτεί και υψηλό επίπεδο σημαντικότητας για μια τιμή-έννοια. ΕΠΙΠΕΔΟ: : Διπλωματική εργασία / MSc ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java ΠΡΟΚΛΗΣΕΙΣ και ΟΦΕΛΗ: Η δυσκολία δεν είναι αμελητέα και αφορά στην κατανόηση του υπάρχοντος συστήματος, στην συγκροτημένη οργάνωση πειραμάτων και στην κατασκευή αλγορίθμων κατάταξης και σύμπτυξης. Τα οφέλη για ένα φοιτητή είναι: (α) τεχνογνωσία σε ένα challenging τεχνικό πρόβλημα, (β) τεχνογνωσία στην οργάνωση της user-centric αποτίμησης λογισμικού, και (γ) hands-on σε ένα ευμέγεθες κομμάτι λογισμικού. Η εργασία είναι πλέον κατάλληλη για φοιτητές με ταλέντο και σε αλγοριθμικά θέματα και σε προγραμματιστικά θέματα. Απαιτούμενα προσόντα είναι η πολύ καλή γνώση Java και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. Η εργασία επηρεάζεται από την ανάγκη αναδόμησης του κώδικα και θα χρειαστεί να προβεί και σε επί μέρους μικρότερες αναδομήσεις (όχι πάντως στην έκταση της σχετικής εργασίας) C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 6
1.4. ΜΕΤΑΠΤΩΣΗ ΤΩΝ CINECUBES ΣΕ ΠΛΑΤΦΟΡΜΑ SPARK ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΗΣ ΠΕΡΙΛΗΨΗ: Μετάπτωση των Cinecubes σε πλατφόρμα Spark και αξιοποίησή της ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: το σύστημα Cinecubes επί του παρόντος λειτουργεί σε ένα τυπικό single-server περιβάλλον, με Java και MySQL ως τεχνολογίες που το υποστηρίζουν. H Spark, από την άλλη πλευρά, είναι η state of the art πλατφόρμα επεξεργασίας δεδομένων της Apache (http://spark.apache.org/, καθώς και http://spark.apache.org/sql/) που επιτρέπει την παράλληλη επεξεργασία μεγάλων δεδομένων. Εκτός από τη συνδεσιμότητα με διάφορες προγραμματιστικές γλώσσες και συστήματα αποθήκευσης / βάσεων δεδομένων, η Spark έρχεται με 4 εγγενείς βιβλιοθήκες (για SQL, machine learning (MLib), graph management (graphx) και streaming). Έτσι, μπορεί κανείς προγραμματιστικά να συνδέσει έτοιμους αλγορίθμους διαχείρισης δεδομένων σε ένα (1) ομοιογενές περιβάλλον. Τα ζητούμενα είναι: 1. Ζητείται η επέκταση του υπάρχοντος κώδικα, ώστε να μπορεί να λειτουργήσει και πάνω από την πλατφόρμα Spark. Θα διερευνηθούν οι εναλλακτικές λύσεις πάνω σε Spark και θα ακολουθηθεί η υλοποίηση της πιο αποδοτικής 2. Ζητείται η αξιοποίηση της έτοιμης βιβλιοθήκης εξόρυξης δεδομένων του Spark (MLib) για να μπορούμε να εμπλουτίσουμε τα highlights των Cinecubes με αποτελέσματα από αλγορίθμους εξόρυξης δεδομένων (summary statistics, regression, hypothesis testing, decision trees, ). 3. Ορθογώνια στα παραπάνω, απαιτείται η αποτίμηση της μεθόδου με περισσότερα του ενός data sets. ΕΠΙΠΕΔΟ: Διπλωματική εργασία / MSc ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java / Spark ΠΡΟΚΛΗΣΕΙΣ και ΟΦΕΛΗ: Η εργασία επηρεάζεται από την ανάγκη αναδόμησης του κώδικα και θα χρειαστεί να προβεί και σε επί μέρους μικρότερες αναδομήσεις (όχι πάντως στην έκταση της σχετικής εργασίας) Η δυσκολία αφορά στην κατανόηση του υπάρχοντος συστήματος και στην συγκροτημένη οργάνωση πειραμάτων και όχι τόσο στα επί μέρους βήματα ή στη δυσκολία υλοποίησης του κώδικα. Τα οφέλη για ένα φοιτητή είναι: (α) εμπλοκή στο χώρο του data storytelling, (β) τεχνογνωσία σε θέματα εξόρυξης δεδομένων και ενσωμάτωσης αλγορίθμων εξόρυξης δεδομένων σε κώδικα, (γ) τεχνογνωσία σε μια state-of-the-art πλατφόρμα διαχείρισης μεγάλων δεδομένων και (δ) hands-on σε ένα ευμέγεθες κομμάτι λογισμικού. Η εργασία είναι πλέον κατάλληλη για φοιτητές με ταλέντο και σε θέματα διαχείρισης δεδομένων και σε προγραμματιστικά θέματα. Πρέπει να σας αρέσει πολύ η διαχείριση δεδομένων, η εξόρυξη δεδομένων και η ανάπτυξη λογισμικού. Απαιτούμενα προσόντα είναι η πολύ καλή γνώση Java και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 7
1.5. ΕΠΕΚΤΑΣΗ TOY CINECUBES ΜΕ ΣΥΝΕΧΕΙΣ ΕΡΩΤΗΣΕΙΣ ΠΕΡΙΛΗΨΗ: Καταγραφή και παρουσίαση continuous queries ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: Το σύστημα Cinecubes είναι δομημένο ώστε να απαντά ερωτήσεις άπαξ, και να παρουσιάζει το αποτέλεσμα της διερεύνησής του ως μια παρουσίαση Powerpoint. Στην πράξη, όμως, οι εφαρμογές OLAP μπορεί να έχουν ένα κομμάτι «συνεχούς ροής». Δλδ., περιοδικά, η εφαρμογή ανανεώνει τα δεδομένα. Τα ζητήματα που προκύπτουν είναι: - Αναδόμηση του τρόπου παρουσίασης ώστε να καταγράφονται οι συνεχείς ερωτήσεις και να παρουσιάζονται τα αποτελέσματα στο χρήστη - Περιοδική ενημέρωση και ανανέωση περιεχομένων του report - Incremental updates of registered continuous queries Μια εύλογη εφαρμογή αυτού του σχήματος είναι η χρήση Key Performance Indicators. Σε ένα ΚΡΙ, ο χρήστης θέτει μια τιμή στόχο για το αποτέλεσμα μιας ερώτησης, καθώς και κανόνες που αξιολογούν αν η τρέχουσα τιμή είναι καλή/κακή/απαράδεκτη/ κλπ. Ένα σύστημα επιχειρηματικής νοημοσύνης καταγράφει την εξέλιξη των μετρικών στο χρόνο και την επίδοση σε σχέση με το συγκεκριμένο ΚΡΙ. Μετά, φυσικά, ο χρήστης μπορεί να ζητήσει εξηγήσεις γιατί η κατάσταση είναι έτσι, οπότε το σύστημα μπορεί προοδευτικά να εμβαθύνει σε πιο λεπτομερή δεδομένα. ΕΠΙΠΕΔΟ: MSc ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java ΠΡΟΚΛΗΣΕΙΣ και ΟΦΕΛΗ: Η δυσκολία αφορά στην κατανόηση του υπάρχοντος συστήματος και στην συγκροτημένη οργάνωση πειραμάτων και όχι τόσο στα επί μέρους βήματα ή στη δυσκολία υλοποίησης του κώδικα. Τα οφέλη για ένα φοιτητή είναι: (α) εμπλοκή στο χώρο του data storytelling, (β) τεχνογνωσία σε θέματα ενσωμάτωσης αλγορίθμων ενημέρωσης δεδομένων σε κώδικα, και (γ) hands-on σε ένα ευμέγεθες κομμάτι λογισμικού. Η εργασία είναι πλέον κατάλληλη για φοιτητές με ταλέντο και σε θέματα διαχείρισης δεδομένων και σε προγραμματιστικά θέματα. Πρέπει να σας αρέσει πολύ η διαχείριση δεδομένων και η ανάπτυξη λογισμικού. Απαιτούμενα προσόντα είναι η πολύ καλή γνώση Java και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 8
1.6. ΕΠΕΚΤΑΣΗ ΤΩΝ CINECUBES ΜΕ ΕΙΔΙΚΟ ΧΕΙΡΙΣΜΟ ΧΡΟΝΟΥ ΚΑΙ ΠΡΟΒΛΕΨΕΩΝ ΠΕΡΙΛΗΨΗ: Επέκταση των Cinecubes ώστε να διαχειρίζονται με ειδικό τρόπο το χρόνο και αξιοποίηση της πλατφόρμας Spark για εξαγωγή προβλέψεων ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: το σύστημα Cinecubes επί του παρόντος αντιμετωπίζει όλες τις διαστάσεις με τον ίδιο τρόπο. Ο χρόνος όμως είναι μια ιδιαίτερη διάσταση με ιδιομορφίες και εξέχουσα σημασία. Στόχος της εργασίας είναι η επέκταση του συστήματος ώστε να μπορεί ο διαχειριστής να δηλώσει ότι μια διάσταση ενός κύβου είναι χρονική και η αξιοποίηση της μεταπληροφορίας αυτής για την παραγωγή προβλέψεων. Οι αλγόριθμοι προβλέψεων θα παρασχεθούν από έτοιμες βιβλιοθήκες αλγορίθμων και μπορεί να είναι από απλό regression ως και πλήρης ανάλυση σε trends, seasonality & error (θα διερευνηθεί στην πορεία της εργασίας). Τα ζητούμενα είναι: 1. Ειδική διαχείριση του χρόνου: να μπορεί να δηλωθεί ότι μια στήλη έχει χρονική πληροφορία και να υλοποιηθεί ένα επεκτάσιμο σύστημα διαχείρισης του χρόνου (απλός χρόνος, εμπορικός, χρηματιστηριακός, ). Δεν θα υλοποιηθούν όλα τα είδη, όμως θα πρέπει να σχεδιασθεί ένα επεκτάσιμο σύστημα. 2. Εμπλουτισμός των acts και highlights των Cinecubes με αποτελέσματα από αλγορίθμους εξόρυξης δεδομένων για πρόβλεψη (summary statistics, prediction and regression, ). Για παράδειγμα, σε ένα 2D κύβο, στον οποίο η μία διάσταση είναι χρόνος, θα πρέπει να υπολογιστεί αυτόματα ένα χρονικό σημείο πρόβλεψης, και να βγει μια πρόβλεψη για κάθε εμπλεκόμενη τιμή της άλλης διάστασης, καθώς και για ολόκληρο τον κύβο. Προτείνεται η αξιοποίηση της έτοιμης βιβλιοθήκης εξόρυξης δεδομένων του Spark (MLib). Σε κάθε περίπτωση, ο τρόπος ενσωμάτωσης αλγορίθμων πρόβλεψης θα είναι επεκτάσιμος. 3. Ορθογώνια στα παραπάνω, απαιτείται η αποτίμηση της μεθόδου με περισσότερα του ενός data sets. ΕΠΙΠΕΔΟ: MSc ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java / Spark (ή άλλη βιβλιοθήκη έτοιμων αλγορίθμων πρόβλεψης) ΠΡΟΚΛΗΣΕΙΣ και ΟΦΕΛΗ: Η δυσκολία αφορά στην κατανόηση του υπάρχοντος συστήματος και στην συγκροτημένη οργάνωση πειραμάτων και όχι τόσο στα επί μέρους βήματα ή στη δυσκολία υλοποίησης του κώδικα. Τα οφέλη για ένα φοιτητή είναι: (α) εμπλοκή σε ένα τελείως νέο χώρο, αυτόν του data storytelling, που φαίνεται να έχει ιδιαίτερες προοπτικές στο μέλλον, (β) τεχνογνωσία σε θέματα εξόρυξης δεδομένων και ενσωμάτωσης αλγορίθμων εξόρυξης δεδομένων σε κώδικα, και (γ) hands-on σε ένα ευμέγεθες κομμάτι λογισμικού. C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 9
Η εργασία είναι πλέον κατάλληλη για φοιτητές με ταλέντο και σε θέματα διαχείρισης δεδομένων και σε προγραμματιστικά θέματα. Πρέπει να σας αρέσει πολύ η διαχείριση δεδομένων, η εξόρυξη δεδομένων και η ανάπτυξη λογισμικού. Απαιτούμενα προσόντα είναι η πολύ καλή γνώση Java και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. 1.7. ΔΙΑΔΡΑΣΤΙΚΗ ΔΙΑΠΡΟΣΩΠΕΙΑ ΓΙΑ ΤΟ ΣΥΣΤΗΜΑ CINECUBES ΠΕΡΙΛΗΨΗ: Διαδραστική διαπροσωπεία για το σύστημα Cinecubes. ΣΥΝΤΟΜΗ ΠΕΡΙΓΡΑΦΗ: Στο project Cinecubes η αλληλεπίδραση με το χρήστη είναι υποτυπώδης. Ο χρήστης υποβάλει ένα ερώτημα (ή περισσότερα) γραμμένο σε ένα αρχείο και παράγεται το σχετικό κείμενο σε Word και το αντίστοιχο σε Powerpoint. Η ενσωμάτωση νέων διαστάσεων και κύβων, στη μεριά του server, επίσης γίνεται με κείμενα. Ο σκοπός της εργασίας είναι: (α) η ενσωμάτωση διαγνωστικών μηνυμάτων σε server & client για την παρακολούθηση της προόδου της εξέλιξης της απάντησης μια ερώτησης (β) η κατασκευή γραφικών διαπροσωπειών για τον server, σε σχέση και με την registration νέων κύβων και με το on-line monitoring of server status (γ) η κατασκευή γραφικής διαπροσωπείας για την υποβολή + παρουσίαση του αποτελέσματος (γ1) μέσω java ή/και (γ2) σε web page / dashboard / (π.χ., μέσω της βιβλιοθήκης D3) (δ) [διπλωματική] η παροχή της δυνατότητας στο χρήστη να κατασκευάζει μια αναφορά μέσω επαναληπτικών ερωτήσεων, «τσεκάροντας» κάθε φορά επί μέρους slides / οθόνες σε μια τελική παρουσίαση ΕΠΙΠΕΔΟ: Πτυχιακή εργασία / Διπλωματική εργασία ΠΛΑΤΦΟΡΜΑ ΕΡΓΑΣΙΑΣ: Java [+ web development language] ΠΡΟΚΛΗΣΕΙΣ & ΟΦΕΛΗ: Η δυσκολία αφορά στην κατανόηση του υπάρχοντος συστήματος και στην συγκροτημένη οργάνωση πειραμάτων και όχι τόσο στα επί μέρους βήματα ή στη δυσκολία υλοποίησης του κώδικα. Τα οφέλη για ένα φοιτητή είναι: (α) εμπλοκή στο χώρο του data storytelling, (β) τεχνογνωσία σε θέματα γραφικών διαπροσωπειών, και (γ) hands-on σε ένα ευμέγεθες κομμάτι λογισμικού. Απαιτούμενα προσόντα είναι το ενδιαφέρον για τον προγραμματισμό, η πολύ καλή γνώση Java, και η δεδηλωμένη δέσμευση να ολοκληρωθεί η εργασία αυστηρά εντός ενός έτους από την ανάληψή της. Η εργασία επηρεάζεται από την ανάγκη αναδόμησης του κώδικα και θα χρειαστεί να προβεί και σε επί μέρους μικρότερες αναδομήσεις (όχι πάντως στην έκταση της σχετικής εργασίας) C:\USERS\pvassil\COURSES\DIPLOMATIKES\OLD\2016-2017\DiplomaTheses_2016-2017-winter.docx 10