Αξιολόγηση γνώσεων μέσω παιχνιδιού για την εκμάθηση προγραμματισμού με τεχνικές τεχνητής νοημοσύνης
Knowledge assessment through a game for learning programming with artificial intelligence techniques
Abstract
Η παρούσα διπλωματική εργασία εστιάζει στην ανάπτυξη ενός εκπαιδευτικού
συστήματος προγραμματισμού που προσαρμόζεται δυναμικά στις ανάγκες και το
επίπεδο γνώσεων του χρήστη. Το σύστημα αυτό αποσκοπεί στη δημιουργία μιας
ελκυστικής και διαδραστικής μαθησιακής εμπειρίας, αξιοποιώντας τις δυνατότητες της
παιγνιδοποίησης και της τεχνητής νοημοσύνης για την ενίσχυση της
αποτελεσματικότητας της εκπαίδευσης.
Η εκμάθηση της γλώσσας προγραμματισμού C πραγματοποιείται μέσω μιας
διασκεδαστικής και προκλητικής διαδικασίας, στην οποία ο χρήστης συμμετέχει
ενεργά. Συγκεκριμένα, το σύστημα παρουσιάζει ερωτήσεις σχετικές με τη γλώσσα
προγραμματισμού C και, ανάλογα με τις απαντήσεις του χρήστη, καθορίζεται η εξέλιξη
του παιχνιδιού. Εάν η απάντηση είναι σωστή, ο χρήστης προχωρά στην επόμενη
ερώτηση. Αν, όμως, η απάντηση είναι λανθασμένη, ο χρήστης αντιμετωπίζει ένα κύμα
εχθρών. Η δυσκολία των εχθρών αυξάνεται με τον αριθμό των λανθασμένων
απαντήσεων, καθιστώντας το παιχνίδι ολοένα και πιο απαιτητικό.
Με αυτή την προσέγγιση, το παιχνίδι συνδυάζει την εκπαίδευση με τη δράση,
προσφέροντας μια διαδραστική εμπειρία που ενισχύει τις γνώσεις του χρήστη στην
προγραμματιστική γλώσσα C, ενώ παράλληλα τονίζεται η ανάπτυξη δεξιοτήτων
στρατηγικής σκέψης και επίλυσης προβλημάτων. Η ενσωμάτωση της τεχνητής
νοημοσύνης διασφαλίζει ότι κάθε παίκτης αντιμετωπίζει μοναδικές προκλήσεις,
προσαρμοσμένες στο επίπεδο γνώσεων του, καθιστώντας το εκπαιδευτικό αυτό
εργαλείο αποτελεσματικό και ελκυστικό.
Abstract
This thesis focuses on the development of an educational programming system that
dynamically adapts to the user's needs and level of knowledge. The aim of this system
is to create an engaging and interactive learning experience, leveraging gamification
and artificial intelligence to enhance the effectiveness of education. The learning
process for the C programming language is facilitated through a fun and challenging
experience in which the user actively participates. Specifically, the system presents
questions related to the C language, and depending on the user's answers, the flow
of the game is determined. If the answer is correct, the user progresses to the next
question. However, if the answer is incorrect, the user faces a wave of enemies. The
difficulty of the enemies increases with the number of incorrect answers, making the
game progressively more challenging.
Through this approach, the game combines education with action, offering an
interactive experience that enhances the user's knowledge of the C programming
language while also emphasizing the development of strategic thinking and problemsolving skills. The integration of artificial intelligence ensures that each player
encounters unique challenges tailored to their knowledge level, making this
educational tool both effective and engaging.