title: Ανάπτυξη εφαρμογής ιστού για κατάρτιση και προβολή ωρολογίων προγραμμάτων πανεπιστημιακών εξετάσεων με εξατομίκευση περιορισμών και προτιμήσεων

title: Development of a web application for forming and viewing timetables of University exams with personalization of constraints and preferences
Creators: name: Στρατης Μαριος
Publisher: name: Technical University of Crete
Year: 2024

description: Η κατάρτιση ωρολογίων προγραμμάτων σε πανεπιστημιακά ιδρύματα είναι μια πολύπλοκη διαδικασία με πολλές παραμέτρους και περιορισμούς που πρέπει να ληφθούν υπόψη για αποτελεσματικές λύσεις. Πολλές φορές αυτή η διαδικασία γίνεται χειρωνακτικά, αξιοποιώντας την ανθρώπινη εμπειρία προηγουμένων ετών, χωρίς κάποια ιδιαίτερη αυτοματοποίηση. Ο βασικός στόχος της παρούσας διπλωματικής εργασίας είναι η ψηφιακή οργάνωση του ωρολογίου προγράμματος των εξετάσεων σε πανεπιστημιακά ιδρύματα, με την ανάπτυξη μιας διαδικτυακής εφαρμογής για την αποτελεσματική συλλογή, διαχείριση δεδομένων και την κατάρτιση ωρολογίου προγράμματος εξετάσεων. Η εφαρμογή που αναπτύχθηκε δίνει τη δυνατότητα στους αρμόδιους χρήστες να εισέρχονται με τα διαπιστευτήριά τους, να εισάγουν, να ενημερώνουν και να διαχειρίζονται δεδομένα για τα μαθήματα, τους διδάσκοντες, τις εγγραφές φοιτητών σε μαθήματα και τους σχετικούς πόρους των εξετάσεων (αίθουσες, ημερομηνίες, ωράρια), επιτρέποντας την αποτελεσματική οργάνωση και προβολή των σχετικών πληροφοριών για τη δημιουργία ωρολογίων προγραμμάτων εξετάσεων. Η εφαρμογή είναι δομημένη βάσει της αρχιτεκτονικής Model View Controller (MVC) και χωρίζεται σε δύο μέρη: το τμήμα διαχείρισης (back end) και τη διεπαφή χρήστη (front end). Ειδικότερα, για το back end της εφαρμογής χρησιμοποιήθηκε το Spring Boot Framework για υψηλή απόδοση και ευκολία συντήρησης. Όλα τα δεδομένα συγκεντρώνονται και αποθηκεύονται σε μια βάση δεδομένων MySQL και η επικοινωνία με το front end επιτυγχάνεται μέσω υπηρεσιών REST με αναπαράσταση δεδομένων στο πρότυπο JavaScript Object Notation (JSON). Για το front end της εφαρμογής χρησιμοποιήθηκε η πλατφόρμα ανάπτυξης React, αξιοποιώντας στοιχεία της βιβλιοθήκης Material User Interface. Η ιστοσελίδα της εφαρμογής δίνει τη δυνατότητα στους χρήστες να διαχειρίζονται τα απαραίτητα δεδομένα και να θέτουν τις απαιτήσεις και τους περιορισμούς του προγράμματος εξετάσεων, μέσω ενός σύγχρονου, ευέλικτου και εύχρηστου γραφικού περιβάλλοντος. Τέλος, μέσω της εφαρμογής γίνεται η αυτόματη κατάρτιση ωρολογίου προγράμματος εξετάσεων με τη χρήση ενός απλού, ευριστικού, αλλά ικανού αλγορίθμου, ο οποίος αναζητεί λύση που αποτρέπει παραβιάσεις των περιορισμών και ικανοποιεί όσο το δυνατόν μεγαλύτερο αριθμό επιθυμητών στόχων με την ταυτόχρονη αποφυγή συγκρούσεων. Η εφαρμογή, με κάποιες επιπλέον χρηστικές προσθήκες, μπορεί να αποτελέσει ένα χρήσιμο ψηφιακό εργαλείο για τις αρμόδιες διοικητικές υπηρεσίες του Πολυτεχνείου Κρήτης, όσον αφορά στην έγκυρη συλλογή δεδομένων και την εύκολη κατάρτιση ωρολογίου προγράμματος εξετάσεων σε κάθε εξεταστική περίοδο.
description: The creation of timetables in universities is a complex process with many parameters and constraints that must be considered for effective solutions. Many times this process is done manually, exploiting the human experience of past years, without any particular automation. The main objective of this diploma thesis is the digital organization of the timetable of examinations in universities, with the development of an online application for the efficient collection, management of data and the creation of the timetable for exam periods. The developed application enables the related users to login with their credentials, enter, update and manage data about the courses, instructors, student registrations in courses and related resources for exams (rooms, dates, time slots), allowing the efficient organization and display of all relevant information to create exam timetables. The application is based on the Model View Controller (MVC) architecture and is divided in two parts: the management part (back
end) and the user interface (front end). In particular, the Spring Boot Framework was used for the back end of the application for high performance and ease of maintenance. All data are collected and stored in a MySQL database and communication with the front end is achieved through REST services with data representation in the JavaScript Object Notation (JSON) standard. For the front end of the application, the React development platform was used, leveraging elements of the Material User Interface library. The application website enables users to manage the necessary data and set the requirements and constraints for the exam timetable, through a modern, flexible and easy to use graphical environment. Finally, through the application, an exam timetable is automatically compiled using a simple, heuristic, but capable algorithm, which searches for a solution that prevents constraint violations and satisfies as many desired goals as possible while avoiding conflicts. The application, with some additional usability additions, can be a useful digital tool for the relevant administrative services of the Technical University of Crete, in terms of valid data collection and easy creation of an exam timetable in each examination period.