algorobots: Ένας Μικρόκοσμος Προγραμματισμού για την Εισαγωγή Μαθητών στους Αλγόριθμους Παράλληλης Επεξεργασίας με έμφαση στη Διαμοίραση Εργασιών
Creators: name: Ελευθεριάδης, Εφραίμ Ιωάννη
Publisher: name: Aristotle University of Thessaloniki
Year: 2020
Subjects: Μικρόκοσμος
Μίνι-γλώσσα
Παραλληλισμός
Παράλληλος Προγραμματισμός
Παράλληλοι Αλγόριθμοι
Διαμοίραση Εργασιών
Microworld
Mini-language
Parallelism
Parallel Programming
Parallel Algorithms
Work Partitioning
algorobots

description: Το 2005 στην αγορά των εμπορικών επεξεργαστών (CPUs) εμφανίστηκαν οι πρώτοι πολυπύρηνοι επεξεργαστές (multicore processors): η ενσωμάτωση μέσα στο ίδιο ολοκληρωμένο κύκλωμα (IC) δύο ή περισσοτέρων επεξεργαστικών «πυρήνων» που μπορούν να εκτελούν εντολές παράλληλα. Η επαναστατική αυτή μετάβαση ήταν η απάντηση στο τεχνολογικό αδιέξοδο που αντιμετώπισε η εξέλιξη των συχνοτήτων λειτουργίας των επεξεργαστών (μονοπύρηνων έως τότε) καθώς δοκιμάζονταν τα όρια της συνεχούς βελτίωσης τους με τη σμίκρυνση των φυσικών διαστάσεων των ηλεκτρονικών κυκλωμάτων να οδηγεί στην εκθετική αύξηση της κατανάλωσης ενέργειας. Ακολούθησε ραγδαία ανάπτυξη και χρήση πολυπύρηνων επεξεργαστών σε πληθώρα συσκευών (προσωπικοί υπολογιστές, φορητοί, κινητά τηλέφωνα, τηλεοράσεις) οικονομικά προσιτών στον σύγχρονο πολίτη. Έτσι οι παράλληλοι υπολογιστές έπαψαν να αφορούν μόνο μεμονωμένες και πολυέξοδες επιστημονικές εφαρμογές κι έγιναν η κυρίαρχη τεχνολογική πραγματικότητα. Είναι πλέον ορατή η ανάγκη εξέλιξης του κλασικού σειριακού προγραμματισμού σε παράλληλο. Εξέλιξη που προφανώς δεν μπορεί να αφήσει ανεπηρέαστη και την εκπαιδευτική κοινότητα στην προσπάθεια που καταβάλλει να εισάγει τους αρχάριους μαθητές της δευτεροβάθμιας εκπαίδευσης στις βασικές έννοιες του παράλληλου προγραμματισμού. Στην παρούσα μεταπτυχιακή εργασία παρουσιάζεται η ανάπτυξη ενός μαθησιακού περιβάλλοντος με το διακριτικό τίτλο «algorobots» που αξιοποιεί μια εναλλακτική προσέγγιση εισαγωγής στις βασικές αρχές του προγραμματισμού, αυτή των μικρόκοσμων και μίνι-γλωσσών προγραμματισμού και στοχεύει στην εισαγωγή των μαθητών στους αλγόριθμους παράλληλης επεξεργασίας με έμφαση στη διαμοίραση εργασιών (Work Partitioning). H ανάπτυξη της εφαρμογής algorobots έγινε με το Β4J (b4x.com) περιβάλλον προγραμματισμού. Το B4J είναι ένα 100% ελεύθερο περιβάλλον ανάπτυξης desktop, server και IoT εφαρμογών. Οι μεταγλωττισμένες εφαρμογές B4J μπορούν να λειτουργούν σε Windows, Mac, Linux και ARM (όπως το Raspberry Pi). Στο μαθησιακό περιβάλλον algorobots πρωταγωνιστές του μικρόκοσμου είναι δύο (2) ρομπότ που μπορούν να εκτελούν παράλληλα, αλγοριθμικά προγράμματα γραμμένα από τους μαθητές, σε μια απλή μίνι-γλώσσα οπτικού προγραμματισμού. Υπάρχει η δυνατότητα κατασκευής αλγοριθμικών προβλημάτων από όλους τους χρήστες (τόσο από τους εκπαιδευτικούς όσο και από τους μαθητές). Μπορούν να χρησιμοποιηθούν κυρίως σύνθετες λέξεις, ώστε η διαμοίραση εργασιών να οδηγεί το κάθε ρομπότ να τρέχει από ένα μέρος τους παράλληλα, π.χ. LearnTech. Επίσης σε επόμενο στάδιο, έννοιες, ορισμοί, μεταφράσεις, συνώνυμα, αντίθετα, συλλαβισμός, πράξεις είναι ενδιαφέρουσες άλλες περιπτώσεις κατασκευής αλγοριθμικών προβλημάτων. Το ενδιαφέρον των μαθητών κεντρίζεται και με τη δυνατότητα διεξαγωγής διαγωνισμών αλγοριθμικής επίλυσης, σε προβλήματα που έχουν κατασκευάσει οι ίδιοι, οικοδομώντας την γνώση. Για τη διανομή και υποστήριξη του algorobots κατασκευάστηκε ιστότοπος (https://algorobots.eu) και forum (https://algorobots.eu/forum). Η αξιολόγηση της ευχρηστίας της εφαρμογής algorobots έγινε από πέντε (5) ειδικούς, εκπαιδευτικούς δευτεροβάθμιας εκπαίδευσης, ειδικότητας πληροφορικής (ΠΕ86). Ως εργαλείο αξιολόγησης της ευχρηστίας χρησιμοποιήθηκε το ερωτηματολόγιο System Usability Scale (SUS). Με τελική βαθμολογία 77 μονάδων, η εφαρμογή algorobots εντάσσεται στην κατηγορία «Καλή» (70-85 μονάδες).
description: Αγγλική Περίληψη The first commercial multi-core processors (CPUs) appeared on the market in 2005: the integration of two or more processing "cores" in the same integrated circuit (IC) that can execute commands in parallel. This revolutionary transition was the answer to the technological impasse faced by the evolution of the operating frequencies of processors (single-core until then) as they tested the limits of their continuous improvement by reducing the physical dimensions of electronic circuits leading to exponential increase in power consumption. This was followed by the rapid development and use of multi-core processors in a variety of devices (personal computers, laptops, mobile phones, televisions) economically accessible to the modern citizen. Thus, parallel computers ceased to concern only individual and costly scientific applications and became the dominant technological reality. The need to change the classic serial programming in parallel is now visible. An evolution that obviously cannot leave the educational community unaffected by the effort it makes to introduce beginners in secondary education to the basic concepts of parallel programming. This thesis presents the development of a learning environment with the distinctive title "algorobots" which utilizes an alternative approach to introduction to the basic principles of programming, that of microworlds and programming mini-languages and aims to introduce students to parallel processing algorithms with focus on work partitioning. The development of the algorobots application was done with the B4J (b4x.com) programming environment. The B4J is a 100% free desktop, server and IoT application development environment. B4J applications can run on Windows, Mac, Linux and ARM (such as Raspberry Pi). In the learning environment algorobots protagonists of the microworld are two (2) robots that can run parallel, algorithmic programs written by students, in a simple visual programming mini-language. There is the possibility of constructing algorithmic problems by all users (both by teachers and students). Mostly complex words can be used, so that the division of tasks leads each robot to run from one part of them in parallel, e.g. LearnTech. Also concepts, definitions, translations, synonyms, antonyms, spelling, operations are interesting other cases of constructing algorithmic problems. The students' interest is also stimulated by the possibility of conducting algorithmic solution competitions, in problems that they have constructed themselves, building knowledge. A website (https://algorobots.eu) and a forum (https://algorobots.eu/forum) were built to distribute and support algorobots. The evaluation of the usability of the algorobots application was made by five (5) specialists, secondary school teachers, computer science (PE86). The System Usability Scale (SUS) questionnaire was used as a tool for assessing usability. With a final score of 77 points, the algorobots application falls into the "Good" category (70-85 points).