Τμηματοποίηση του κώδικα στο περιβάλλον οπτικού προγραμματισμού με πλακίδια Scratch

Σχετικά έγγραφα
Αναπαράσταση του κώδικα σε ένα ρομποτικό project

Εκπαιδευτικά προγραμματιστικά περιβάλλοντα ως εργαλεία ανάπτυξης υπολογιστικής σκέψης

Θέμα: Αποτίμηση σεμιναρίου για τη διδακτική του προγραμματισμού Η/Υ του σχ. έτους

Μια πρόταση ταξινόμησης των προγραμματιστικών βρόχων στο Scratch

Ρομποτική χωρίς ρομπότ. Ο προγραμματισμός Η/Υ ως πυλώνας της Ρομποτικής στην Υποχρεωτική Εκπαίδευση

Πληροφορική Γυμνασίου. Δρ. Κοτίνη Ισαβέλλα Σχ. Σύμβουλος Πληροφορικής Πέλλας, Ημαθίας και Πιερίας

Αναπαράσταση αλγορίθμων με τη βοήθεια του κωδικοράματος σε περιβάλλοντα οπτικού προγραμματισμού

Η αναπαράσταση των δεδομένων στον Οπτικό Προγραμματισμό ως επιπλέον διάσταση των ΚωδικΟραμάτων

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

Ο προγραμματισμός Η/Υ στο νέο Πρόγραμμα Σπουδών της υποχρεωτικής εκπαίδευσης στο πλαίσιο του μαθήματος για τον Πληροφορικό Γραμματισμό

Έρκυνα, Επιθεώρηση Εκπαιδευτικών Επιστημονικών Θεμάτων, Τεύχος 11ο, , 2016

Διδακτική της Πληροφορικής ΙΙ

Τέχνη και Μαθηματικά για όλους Μπορεί ο Η/Υ να σχεδιάσει ένα έργο του V.Vasarely;

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Εργαστηριακή εισήγηση. «Φύλλα Εργασίας για την διδασκαλία του μαθήματος Πληροφορικής Γυμνασίου Η Γλώσσα Προγραμματισμού LOGO»

Το project ΑΒΓ, ο προγραμματισμός Η/Υ από το δημοτικό ως το λύκειο

Σενάριο 14: Προγραμματίζοντας ένα Ρομπότ ανιχνευτή

Ενότητα 12: Θέματα Διδακτικής Προγραμματισμού: Διδασκαλία αλγοριθμικής προσέγγισης

Μαθησιακές δραστηριότητες με υπολογιστή

Η έννοια της μεταβλητής και της λίστας με την βοήθεια του λογισμικού Scratch

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΙΔΕΙΑΣ, ΕΡΕΥΝΑΣ και ΘΡΗΣΚΕΥΜΑΤΩΝ. Θέμα: Αξιολόγηση σεμιναρίου για τα κωδικοράματα

«Το Λογισμικό Αράχνη Επικουρικό Εργαλείο στην Διδασκαλία του Προγραμματισμού»

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Λογισμικό διδασκαλίας των μαθηματικών της Γ Τάξης Γυμνασίου

- Επιστημονικός Υπεύθυνος Ενεργείας: Θεόδωρος Γ. Εξαρχάκος Καθηγητής του Πανεπιστημίου Αθηνών Πρόεδρος του Παιδαγωγικού Ινστιτούτου «Αναμόρφωση / εκ

Εισαγωγή στην έννοια του Αλγορίθμου

ΚΕΦΑΛΑΙΟ 10 ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

Αναλυτικό Πρόγραμμα Μαθηματικών

Αρχές Προγραμματισμού Υπολογιστών

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ, Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

2

Ο προγραμματισμός Η/Υ στο νέο Πρόγραμμα Σπουδών της υποχρεωτικής εκπαίδευσης στο πλαίσιο του μαθήματος για τον Πληροφορικό Γραμματισμό

ΑΕΠΠ Ερωτήσεις θεωρίας

Αξιοποίηση του Scratch στο πλαίσιο εκπόνησης ομαδικών εργασιών στο μάθημα της Πληροφορικής της Γ' Γυμνασίου

ΣΤ Δημοτικού - Προγραμματίζω τον υπολογιστή. Σχέδιο Μαθήματος No 1 Εισαγωγή στο προγραμματιστικό περιβάλλον της EasyLogo

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

«Η Επιμόρφωση εκπαιδευτικών Β επιπέδου: η περίπτωση του κλάδου ΠΕ19/20»

Εισαγωγή στη δομή επιλογής στο προγραμματιστικό περιβάλλον SCRATCH.

ΡΟΜΠΟΤΙΚΗ ΚΑΙ ΕΚΠΑΙΔΕΥΣΗ

Σχεδίαση του περιεχομένου ενός ΜΑΔΜ για τη διδασκαλία του προγραμματισμού με το Scratch στην υποχρεωτική εκπαίδευση

Δομές Δεδομένων & Αλγόριθμοι

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Σχεδίαση Εκπαιδευτικού Λογισμικού. Εργασία 2 - Α' φάση. Σενάριο/Σχέδιο μαθήματος. Σταματία Κορρέ Μ1430

9ο ΠΑΝΕΛΛΗΝΙΟ ΣΥΝΕΔΡΙΟ ΚΑΘΗΓΗΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΕΚΑΠ 2015

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Εντολή Επίλεξε.. Στοίβα & Ουρά Διαίρει & Βασίλευε

Εισαγωγή στις δομές δεδομένων Στοίβα και Ουρά με τη βοήθεια του Scratch

3 ο Πανελλήνιο Συνέδριο με Διεθνή Συμμετοχή για το Εκπαιδευτικό Υλικό στα Μαθηματικά και τις Φυσικές Επιστήμες

Διδακτική Πληροφορικής

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

ΑΕΠΠ Ερωτήσεις τύπου Σωστό-Λάθος

Ξεκινώντας τον Προγραµµατισµό στις τάξεις του ηµοτικού Παίζοντας µε το Scratch

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Κεφάλαιο 10 ο Υποπρογράµµατα

Συντάχθηκε απο τον/την Administrator Δευτέρα, 22 Φεβρουάριος :11 - Τελευταία Ενημέρωση Παρασκευή, 26 Φεβρουάριος :52

ΟΜΑΔΑ Ε ΓΕΩΡΓΙΟΥ ΦΩΤΕΙΝΗ ΗΛΙΟΥΔΗ ΑΦΡΟΔΙΤΗ ΜΕΤΑΛΛΙΔΟΥ ΧΡΥΣΗ ΝΙΖΑΜΗΣ ΑΛΕΞΑΝΔΡΟΣ ΤΖΗΚΑΛΑΓΙΑΣ ΑΝΔΡΕΑΣ ΤΡΙΓΚΑΣ ΑΓΓΕΛΟΣ

Προσομοιώσεις και οπτικοποιήσεις στη. μαθησιακή διαδικασία

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

«Το μάθημα ΤΠΕ στο Ολοήμερο Δημοτικό Σχολείο», επιμορφωτική συνάντηση

ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ.ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ. Κοκκαλάρα Μαρία ΠΕ19

Διδακτικές Προσεγγίσεις και Εργαλεία για τη Διδασκαλία της Πληροφορικής

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ Διδακτική της Πληροφορικής

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Πληροφορική και Τεχνολογίες Πληροφορίας & Επικοινωνιών: Συνύπαρξη και παιδαγωγική πρακτική. Τάσος Μικρόπουλος Ιωάννα Μπέλλου Πανεπιστήμιο Ιωαννίνων

ΔΗΜΙΟΥΡΓΙΑ ΓΕΩΜΕΤΡΙΚΩΝ ΣΧΗΜΑΤΩΝ ΣΕ LOGO

Δημιουργία Γεωμετρικών σχημάτων στη γλώσσα προγραμματισμού logo με χρήση της Δομής Επανάληψης.

Σε ποιους απευθύνεται: Χρόνος υλοποίησης: Χώρος υλοποίησης: Κοινωνική ενορχήστρωση της τάξης Στόχοι:... 4

Ε Ι Α Γ Ω Γ Η Σ Ο Ν Π Ρ Ο Γ Ρ Α Μ Μ Α Σ Ι Μ Ο Κ Ε Υ Α Λ Α Ι Ο 6. Σο πρόγραμμα γράφεται σε κάποια γλώσσα προγραμματισμού.

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Σχεδίαση από εκπαιδευτικούς προσθετικών περιβαλλόντων που αποτρέπουν μια αδυναμία να μετατραπεί σε αναπηρία

Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Β ΓΕΛ και Β ΕΠΑΛ

«Το Υλικό Του Υπολογιστή». Εκπαιδευτικό Λογισμικό Σε Microwords Pro

ΔΗΜΙΟΥΡΓΙΑ ΓΕΩΜΕΤΡΙΚΩΝ ΣΧΗΜΑΤΩΝ ΣΕ LOGO

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Σχεδίαση μαθησιακών δραστηριοτήτων λογιστικά φύλλα υπερμεσικά περιβάλλοντα προσομοιώσεις

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ

Α1. Χαρακτηρίστε τις παρακάτω προτάσεις ως σωστές ή λανθασμένες.

Αριστείδης Παλιούρας Εισαγωγή στη δομή επανάληψης

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

«Ψηφιακά δομήματα στα μαθηματικά ως εργαλεία μάθησης για το δάσκαλο και το μαθητή»

Από την απλή στη σύνθετη και πολλαπλή δομή επιλογής

4. Συντακτικό μιας γλώσσας είναι το σύνολο των κανόνων που ορίζει τις μορφές με τις οποίες μια λέξη είναι αποδεκτή.

Ενότητα 11: Θέματα Διδακτικής Προγραμματισμού: βασικές δομές (μεταβλητή, επανάληψη, επιλογή)

ΚΣΕ ΣΟΥΦΛΙΟΥ. Συνεδρία 7

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

Κατερίνα Χατζηφωτεινού. Αλγοριθμικά παιχνίδια & Kodu

Προγραμματισμός Η/Υ. Συναρτήσεις & Υποπρογράμματα. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Transcript:

Τμηματοποίηση του κώδικα στο περιβάλλον οπτικού προγραμματισμού με πλακίδια Scratch Αναστάσιος Λαδιάς 1, Θεόδωρος Καρβουνίδης 2, Δημήτριος Λαδιάς 3 1 ladiastas@gmail.com, 2 tkarv@otenet.gr, 3 ladimitr@gmail.com 1 Σχολικός Σύμβουλος ΠΕ19, 2 Εκπαιδευτικός Δρ. ΠΕ19, 3 Φοιτητής Τμήμα Πληροφορικής ΕΚΠΑ Περίληψη Στόχος της εργασίας είναι ο καθορισμός των δυνατοτήτων των περιβαλλόντων οπτικού προγραμματισμού Scratch όσον αφορά την τμηματοποίηση του κώδικα. Tα περιβάλλοντα οπτικού προγραμματισμού και συγκεκριμένα το Scratch-2 διαθέτουν επιπλέον χαρακτηριστικά που επιτρέπουν την τμηματοποίηση του κώδικα. Ο κώδικας μπορεί να διαμοιράζεται ανά αντικείμενο και ανά κατάσταση. Ο συνδυασμός αυτών των δύο διαμοιρασμών οδηγεί στη χωροθέτηση του προγράμματος στα κελιά του κωδικοράματος. Εντός των κελιών ο κώδικας σχηματίζει σενάρια που εκτελούνται ταυτόχρονα. Στο εσωτερικό των σεναρίων ο κώδικας εκτελείται σειριακά και η τμηματοποίηση γίνεται με τη χρήση διαδικασιών δίνοντάς του χαρακτηριστικά δομημένου προγραμματισμού με ιεραρχική δόμησή των τμημάτων σε δενδροειδείς δομές. Η παραμετροποίηση δημιουργεί διαδικασίες-πολυεργαλεία παρέχοντας στον κώδικα ευελιξία και προσαρμοστικότητα. Επιπλέον οι τεχνικές αναδρομικής κλήσης των διαδικασιών παρέχουν δυνατότητες ανάπτυξης μικρών, κομψών και έξυπνων κωδίκων. Τέλος η δυνατότητα του Scratch-2 να εξάγει και να αποθηκεύει αντικείμενα και κώδικα σε διακριτά αρχεία μπορεί να δημιουργήσει αποθετήρια κωδίκων. Αυτά τα χαρακτηριστικά διερευνώνται για να υπάρξει ένα πλαίσιο για την αξιολόγηση του κώδικα οπτικού προγραμματισμού όσον αφορά το κριτήριο της τμηματοποίησης. Λέξεις κλειδιά: Τμηματοποίηση κώδικα, κωδικόραμα, Scratch, διαδικασίες Εισαγωγή Η παρούσα εργασία σχετικά με την τμηματοποίηση του κώδικα σε περιβάλλοντα οπτικού προγραμματισμού με πλακίδια Scratch αποτελεί τμήμα μιας ευρύτερης έρευνας σχετικά με την αξιολόγηση του κώδικα σε αυτά τα περιβάλλοντα. Συγκεκριμένα έχει προηγηθεί μια βασική έρευνα σχετική με την αναζήτηση των κριτηρίων της αξιολόγησης (Αργυρίου, Καρβουνίδης, Λαδιάς & Δουληγέρης, 2016), μια εργασία για την αξιολόγηση των κριτηρίων της αλληλεπιδραστικότητας με το χρήστη, των επικοινωνίας / συγχρονισμού και των παραλληλίας / σειριακότητας (Αργυρίου, Λαδιάς, Καρβουνίδης & Δουληγέρης, 2016) και μια για την αναπαράσταση των δεδομένων (Λαδιάς, Σαριδάκη & Λαδιάς, 2017). Στόχος της παρούσας εργασίας είναι να καθορίσει το πλαίσιο των δυνατοτήτων των περιβαλλόντων οπτικού προγραμματισμού όσον αφορά την αξιολόγηση του κριτηρίου της τμηματοποίησης του κώδικα. Οι διάφορες εκδοχές του κώδικα που αναφέρονται στο παρόν και αφορούν το πρόβλημα ενός τηλεκατευθυνόμενου εικονικού ρομπότ βασίζονται σε εκπαιδευτικά σενάρια που έχουν ήδη δημοσιευτεί (Λαδιάς, 2016 και Λαδιάς & Λαδιάς, 2016). Σύμφωνα με τον Papert (1991), "ο μαθηματικός George Polya ανάπτυξε με επιχειρήματα ότι πρέπει να διδαχθούν γενικές μέθοδοι για την επίλυση προβλημάτων. Μερικές από τις στρατηγικές που χρησιμοποιούνται στη γεωμετρία Χελώνας είναι ειδικές περιπτώσεις των προτάσεων του Polya. Για παράδειγμα, ο Polya συστήνει, κάθε φορά που προσεγγίζουμε ένα πρόβλημα να ανατρέχουμε σ' ένα νοητικό κατάλογο ευριστικών ερωτήσεων, όπως: Μπορεί αυτό το πρόβλημα να διαιρεθεί σε απλούστερα προβλήματα;..." Αυτή η αναλυτική προσέγγιση βρίσκει εφαρμογή στο παράδειγμα του σχήματος 1 όπου ο μαθητής για να προγραμματίσει τον υπολογιστή να σχεδιάσει την εικόνα που βρίσκεται αριστερά την αναλύει σταδιακά σε όλο και απλούστερα τμήματα σε μια κίνηση προς τα δεξιά, με μια top-down προσέγγιση. Για την σχεδίαση των απλούστερων αυτών τμημάτων ο μαθητής γράφει απλά προγράμματα τα οποία χρησιμοποιεί για να συνθέσει πολυπλοκότερα και να καταλήξει τελικά, συνθέτοντας όλο και πιο πολύπλοκα, στο συνολικό πρόγραμμα σε μια κίνηση προς τα αριστερά, με μια bottom-up προσέγγιση. Πρακτικά Εργασιών 11 ου Πανελλήνιου Συνεδρίου Καθηγητών Πληροφορικής, Χαλκίδα 5-7 Μαΐου 2017

2 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Σχήμα 1. Η ανάλυση / top-down προσέγγιση (από τα αριστερά προς τα δεξιά) της εικόνας στα δομικά της στοιχεία και η σύνθεσή της bottom-up προσέγγιση (από τα δεξιά προς τα αριστερά) από τα δομικά της στοιχεία. Γενικά υπάρχει μια τάση στην Ελλάδα η τμηματοποίηση του κώδικα να θεωρείται ως μια ενότητα που πρέπει να διδάσκεται σε προχωρημένο στάδιο της διδακτικής του προγραμματισμού. Αυτό φαίνεται στο ΑΕΠΠ της Γ Λυκείου που οι μαθητές διδάσκονται για τις διαδικασίες και τις συναρτήσεις μετά τη διδασκαλία της προγραμματιστικής δομής της επιλογής. Όμως η τμηματοποίηση του κώδικα δεν προϋποθέτει τη γνώση της δομής επιλογής όπως αποδεικνύεται από το προηγούμενο παράδειγμα. Μια τέτοια πρόταση διατυπώνεται στο βιβλίο "Pascal, μια μεθοδική προσέγγιση (Λαδιάς, 1991) και στο Πρόγραμμα Σπουδών για το Νέο Σχολείο (Ομάδα Εργασίας Πληροφορικής Γυμνασίου, 2014). Η τεχνική επίλυσης προβλήματος με την μέθοδο "διαίρει και βασίλευε" που αναλύει και συνθέτει ένα πρόβλημα σε επιμέρους πιο εύκολα διαχειρίσιμα υποπροβλήματα είναι καθοριστικής σημασίας για την ανάπτυξη αλγοριθμικής σκέψης των μαθητών. Η τμηματοποίηση του κώδικα ανά αντικείμενο Ειδικά η τμηματοποίηση στον προγραμματισμό που βασίζεται σε αντικείμενα (object based) είναι ενδογενής. O κώδικας βρίσκεται στο εσωτερικό των αντικειμένων και ως εκ τούτου δεν είναι ενιαίος αλλά διαμοιράζεται όπως φαίνεται στο σχήμα 2. Σχήμα 2. Στο Scratch ο κώδικας βρίσκεται στο εσωτερικό των αντικειμένων. Στην εικόνα φαίνεται η κατανομή του κώδικα στα αντικείμενα ενός προγράμματος του βιβλίου "Ειδικά θέματα προγραμματισμού σε Scratch" (Παπαδόπουλος, Φωτιάδης, Λαδιάς, 2015).

3 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις Η τμηματοποίηση του κώδικα ανά κατάσταση (για ένα αντικείμενο) Ένα επόμενο στάδιο τμηματοποίησης του κώδικα είναι αυτό που εκμεταλλεύεται τις "καταστάσεις" στις οποίες μεταπίπτει το πρόγραμμα κατά την εκτέλεσή του. Στη θεωρία των αυτομάτων, ως κατάσταση αναφέρονται όλες οι πληροφορίες στις οποίες, τη δεδομένη στιγμή, ένα πρόγραμμα έχει πρόσβαση. Το Αυτόματο Πεπερασμένων Καταστάσεων αποτελεί ένα μοντέλο που προσομοιώνει μια αφηρημένη μηχανή που βρίσκεται σε μία κατάσταση από έναν πεπερασμένο πλήθος καταστάσεων σε οποιαδήποτε δεδομένη στιγμή. (Αγγελίδης, Φωτιάδης & Λαδιάς, 2011). Σε αυτό το πλαίσιο στο Scratch 2 η συμπεριφορά ενός αντικειμένου σε συγκεκριμένη κατάσταση περιγράφεται από έναν ή περισσότερους κώδικες που ονομάζονται σενάρια. Στο Scratch τα σενάρια δηλώνονται με μια εντολή-καπελάκι από το μενού "Συμβάντα" και από κάτω κρέμεται ο κώδικας που περιγράφει τη συμπεριφορά σε αυτή την κατάσταση. Έτσι στο Scratch μπορούμε να έχουμε όλο το πρόγραμμα ενός αντικειμένου να βρίσκεται σε μια και μοναδική κατάσταση (όταν γίνει κλικ στο πράσινο σημαιάκι) όπως φαίνεται στο αριστερό πλαίσιο του σχήματος 3 ή σε περισσότερες καταστάσεις όπως φαίνεται στα άλλα δύο πλαίσια του ιδίου σχήματος. Εδώ πρέπει να παρατηρήσουμε ότι στο δεύτερο και το τρίτο πλαίσιο οι κώδικες δεν είναι ενιαίοι αλλά ότι υπάρχουν τουλάχιστον τόσα σενάρια (τμήματα κώδικα) όσες οι καταστάσεις στις οποίες μπορεί να βρεθεί το σύστημα. Σχήμα 3. Η αρχιτεκτονική ενός προγράμματος (σε Scratch) που προσομοιώνει τον τηλεχειρισμό ενός αντικειμένου από το χρήστη: (α) με ενιαίο κώδικα σε μία κατάσταση, με τμηματοποιημένο κώδικα πολλών καταστάσεων που κάνει χρήση συμβάντων που προκαλούνται (β) είτε από το χρήστη (γ) είτε από μηνύματα.

4 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Στο συγκεκριμένο παράδειγμα που προσομοιώνεται η τηλεκατευθυνόμενη κίνηση ενός αντικειμένου σε ρόλο ρομποτικού οχήματος τα σενάρια μπορεί να αντιστοιχούν σε συμβάντα που ανιχνεύονται με "τεχνική interrupts" όπως "Όταν πατηθεί το γκάζι", "Όταν πατηθεί το φρένο", "Όταν το τιμόνι στρίψει αριστερά"... (κώδικας στο μεσαίο πλαίσιο του σχήματος 3) ή το κυρίως πρόγραμμα να ανιχνεύει τα συμβάντα με τεχνική polling (Αργυρίου, Λαδιάς κ.α., 2016) και να ενεργοποιεί τις αντίστοιχες καταστάσεις με χρήση μηνυμάτων (κώδικας στο δεξιό πλαίσιο του σχήματος 3). Όπως προαναφέρθηκε μπορεί να υπάρχουν (και να τρέχουν ταυτόχρονα) περισσότερα του ενός σενάρια εντός μιας κατάστασης. Στο προηγούμενο παράδειγμα υπάρχει η δυνατότητα οι αρχικές ενέργειες να μοιραστούν σε ένα τμήμα που οι τιμές των σταθερών ορίζονται και είναι προϋπόθεση για να λειτουργήσουν τρία άλλα σενάρια που είναι ανεξάρτητα μεταξύ τους και μπορούν να τρέχουν ταυτόχρονα (σενάρια στη δεύτερη γραμμή του σχήματος 4). Ακολούθως οι ενέργειες για το γκάζωμα, το φρενάρισμα, την κίνηση λόγω αδράνειας και το στρίψιμο του τιμονιού αριστερά ή δεξιά μπορούν να αποτελούν σενάρια μιας άλλης κατάστασης (την "τώρα τρέχουμε") που στο εσωτερικό της να εκτελούνται παράλληλα. Σχήμα 4. Η αρχιτεκτονική ενός προγράμματος (σε Scratch) που προσομοιώνει τον τηλεχειρισμό ενός αντικειμένου από το χρήστη, με τμηματοποιημένο κώδικα πολλών καταστάσεων (που προκαλούνται από μηνύματα) και που σε κάθε κατάσταση εκτελούνται ταυτόχρονα περισσότερα του ενός σενάρια (παράλληλος προγραμματισμός). Ανάλογες με τις καταστάσεις που δημιουργούνται από συμβάντα και που προκαλούν τμηματοποίηση του κώδικα έχουμε και με "την εντολή «Όταν δημιουργηθεί ο κλώνος» που θεωρείται ως υβριδική των δύο κατηγοριών «Συμβάντα» και «Έλεγχος», γεγονός που υποδηλώνεται αφενός με το σχήμα της που ταιριάζει στα «Συμβάντα» και αφετέρου με το χρώμα της που ταιριάζει στον «Έλεγχο», στον οποίο έχει ενσωματωθεί από τους σχεδιαστές του Scratch-2" (Αργυρίου, Λαδιάς κ.α., 2016). Επίσης κάθε κλώνος ενός αντικειμένου-μήτρας που γεννιέται μπορεί να δημιουργεί μια διαφορετική κατάσταση, γιατί κάθε κλώνος ως φορέας δεδομένων μπορεί να παραμετροποιηθεί και να εμφανίζει διαφορετική συμπεριφορά από τα αδέλφια του (Λαδιάς, Σαριδάκη & Λαδιάς, 2017).

5 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις Το κωδικόραμα και η τμηματοποίηση του κώδικα στο εσωτερικό ενός κελιού του Ο συνδυασμός τμηματοποίησης αντικειμένου και τμηματοποίησης κατάστασης οδηγεί στο κωδικόραμα. (Λαδιάς, Παπαδόπουλος & Φωτιάδης 2016). Το κωδικόραμα (Σχήμα 5) είναι ένας οπτικοποιημένος διδιάστατος πίνακας που απεικονίζει το σύνολο του κώδικα. Στην οριζόντια διάσταση του πίνακα παρατίθενται τα αντικείμενα που εμπλέκονται σε ένα προγραμματιστικό πρόβλημα και στην κατακόρυφη διάσταση παρατίθενται οι καταστάσεις στις οποίες βρίσκονται τα αντικείμενα κατά την εκτέλεση του προγράμματος. Στην επιφάνεια που ορίζεται δημιουργούνται κελιά στα οποία αναπτύσσονται τμήματα του οπτικοποιημένου κώδικα που καθορίζει την εκάστοτε συμπεριφορά του αντικειμένου. Οι διάφορες διασυνδέσεις που συμβολίζουν την επικοινωνία μεταξύ των τμημάτων του κώδικα αναπαριστάνονται με βέλη που δείχνουν τη ροή της πληροφορίας (Λαδιάς & Λαδιάς, 2017). Σχήμα 5. Το κωδικόραμα που αντιστοιχεί στον κώδικα του προβλήματος που φαίνεται στο σχήμα 2. Ο κώδικας όλου του προγράμματος κατανέμεται σε κελιά που ορίζονται από το αντικείμενο και την κατάσταση. Σε μεγάλα προγράμματα είναι ανάγκη να αποσυμφορηθεί ο κώδικας. Αυτό μπορεί να επιτευχθεί σε ένα βαθμό με την εφαρμογή της αρχής διαχωρισμού των αρμοδιοτήτων με την οποία μπορεί να γίνει η ομαδοποίηση των τμημάτων των κωδίκων ανάλογα με το σκοπό που εξυπηρετούν π.χ. κώδικες για τη σχεδίαση της διεπαφής, για τη σχεδίαση της ηχητικής διεπαφής, για την καθεαυτή αλγοριθμική εργασία, κώδικες που μπορούν να οργανώνονται σε πολυεπίπεδα κωδικοράματα, στα οποία κάθε επίπεδο θα εξυπηρετεί διαφορετικού σκοπού κώδικες (Λαδιάς & Λαδιάς 2017).

6 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Σχήμα 6. Όλα τα σενάρια - τμήματα κώδικα που βρίσκονται στο εσωτερικό των κελιών που αντιστοιχούν στην ίδια κατάσταση εκτελούνται παράλληλα. Η τμηματοποίηση του κώδικα εντός σεναρίου Η τμηματοποίηση του κώδικα μπορεί να συνεχιστεί περαιτέρω και εντός ενός σεναρίου με τη χρήση των διαδικασιών. Στο αριστερό πλαίσιο του σχήματος 3 που προσομοιώνει τον τηλεχειρισμό ενός αντικειμένου μπορεί ο ενιαίος κώδικας να σπάσει σε επιμέρους αρθρώματα με διαδικασίες. Σε ένα πρώτο βαθμό τμηματοποίησης προκύπτει μια σειριακή και αβαθής αρχιτεκτονική όπως αυτή του αριστερού μέρους του σχήματος 7, ενώ σε ένα δεύτερο επίπεδο προκύπτει αυτή του δεξιού μέρους. Σχήμα 7. Η αρχιτεκτονική ενός προγράμματος (σε Scratch) που προσομοιώνει τον τηλεχειρισμό ενός αντικειμένου από το χρήστη με διαδικασίες: (α) με αβαθή / επιφανειακή δομή (σε ένα επίπεδο ιεραρχίας), (β) με ιεραρχική οργάνωση δύο επιπέδων.

7 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις Μια περαιτέρω τμηματοποίηση αναδεικνύει την ιεραρχία της δενδροειδούς δομής όπως του σχήματος 9. Αξίζει να υπενθυμιστεί ότι οι κώδικες των σχημάτων 7 και 9 μπορεί να είναι απλοϊκές μορφές κωδικοραμάτων προγραμμάτων που διαθέτουν ένα αντικείμενο, σε μια κατάσταση, με ένα μοναδικό κελί όπως αυτό στο παρακάτω κωδικόραμα (Παπαδόπουλος κ.α., 2015). Σε αυτό μπορεί να εφαρμοστεί η τμηματοποίηση με χρήση διαδικασιών και να αναδειχθεί ο δομημένος προγραμματισμός με τον οποίο επιτυγχάνεται επιπλέον η απόκρυψη των λεπτομερειών των κατωτέρων επιπέδων λόγω της αφαίρεσης που παρατηρείται στις ανώτερες δομές της ιεραρχίας. Σχήμα 8. Μια απλοϊκή μορφή κωδικοράματος είναι αυτό που αναπαριστά τον κώδικα ενός αντικειμένου σε μια και μοναδική κατάσταση. Ανάλογες με τις προηγούμενες δενδροειδείς δομές μπορούν να προκύψουν και με την τμηματοποίηση του κώδικα που γίνεται με τη χρήση μηνυμάτων όπως αυτού του δεξιού πλαισίου του σχήματος 3. Ο βαθμός "κοκκοποίησης" που μπορεί να φτάσει αυτή η συνεχής διεργασία τμηματοποίησης, σταματάει όταν τα απλούστερα αρθρώματα στα οποία καταλήγει αποτελούν μια λογική οντότητα, όπως ο μαίανδρος ή η απλή κάθετη γραμμή στην ανάλυση του σχήματος 1. Τα αρθρώματα αυτά πρέπει να εκτελούν μια και μοναδική εργασία, να είναι αυτόνομα έτσι ώστε οποιεσδήποτε αλλαγές, διορθώσεις και βελτιώσεις, να μην επιδρούν εκτός των ορίων τους, να μπορούν να αντικατασταθούν από άλλο ισοδύναμο άρθρωμα χωρίς να χρειάζονται πολλές τροποποιήσεις, να καλύπτουν όλες τις περιπτώσεις του προβλήματος, να έχουν μόνο μια είσοδο και μια έξοδο, η σύνδεσή τους με το πρόγραμμα που τα καλεί να γίνεται με σαφή και ορατό τρόπο, να μπορούν να χρησιμοποιηθούν ως μαύρα κουτιά, να είναι μικρού μεγέθους ώστε να είναι διαχειρίσιμα από τον προγραμματιστή, να είναι έτσι σχεδιασμένα ώστε με φιλοσοφία lego να μπορούν να επαναχρησιμοποιηθούν ως είδος στοιχείων βιβλιοθηκών διαδικασιών (Λαδιάς, 1991). Η ευελιξία που πρέπει να χαρακτηρίζει μια διαδικασία επιτυγχάνεται με την παραμετροποίησή της. Ένα τέτοιο παράδειγμα διαδικασίας που παραμετροποιημένη ικανοποιεί διαφορετικές ανάγκες λειτουργώντας ως πολυεργαλείο είναι η διαδικασία που βρίσκεται στο κάτω δεξιό μέρος του σχήματος 9 και η οποία ανάλογα με την τιμή που περνά ως παράμετρος λειτουργεί είτε ως επιταχυντής (με θετική τιμή παραμέτρου), είτε ως επιβραδυντής στο φρενάρισμα (με μικρή τιμή της αρνητικής τιμής παραμέτρου) ή στην κίνηση λόγω αδράνειας (με μεγάλη τιμή της αρνητικής τιμής παραμέτρου).

8 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Σχήμα 9. Η αρχιτεκτονική ενός προγράμματος (σε Scratch) που προσομοιώνει τον τηλεχειρισμό ενός αντικειμένου από το χρήστη με ιεραρχική οργάνωση τριών επιπέδων. Η χρήση διαδικασιών για την τμηματοποίηση του κώδικα προσφέρει και το επιπλέον πλεονέκτημα της κλήσης των διαδικασιών με άμεσο και έμμεσο αναδρομικό τρόπο. Αποτέλεσμα αυτού είναι η δυνατότητα παραγωγής μικρών, κομψών και έξυπνων κωδίκων που αναπαράγουν κλασματομορφικά φαινόμενα. Σχήμα 10. Παραλλαγές σε τέσσερα χρώματα της κλασματομορφικής καμπύλης Koch που υλοποιείται με άμεση αναδρομική κλήση στο περιβάλλον BYOB, όπως αυτή της διαδικασίας BHMA_OUT, καθώς επίσης και η εναλλακτική χρήση αυτών των διαδικασιών που μπορούν να αποτελέσουν μια βιβλιοθήκη διαδικασιών.

9 Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις Ένα τέτοιο φαινόμενο, η καμπύλη Koch, φαίνεται στο σχήμα 10. Στο συγκεκριμένο παράδειγμα έχουν αναπτυχθεί τέσσερες διαφορετικές παραλλαγές αναδρομικών διαδικασιών (Koch_OUT, Koch_IN, Koch_OUT_IN και Koch_INOUT) που αντιστοιχούν στα διαφορετικά χρώματα της απεικόνισης. Αξίζει να παρατηρηθεί ότι οι τέσσερες αυτές διαδικασίες μπορούν να χρησιμοποιηθούν εναλλακτικά η κάθε μια ή να συνδυαστούν όλες μαζί από τον προγραμματιστή. Αυτή η δυνατότητα επιτρέπει στον προγραμματιστή να δημιουργήσει μια αυτοσχέδια οργάνωση των διαδικασιών σε "Βιβλιοθήκες διαδικασιών" κάτι που έχει σημαντική προστιθέμενη αξία στον προγραμματισμό. Ένα ακόμη τρόπος διαχείρισης των τμημάτων του κώδικα είναι να θεωρηθούν τα αντικείμενα ως φορείς του κώδικα λόγω του ότι τον εσωκλείουν. Μπορεί έτσι να δημιουργηθούν αποθετήρια κώδικα με αρχεία που θα περιέχουν αποκλειστικά ένα αντικείμενο με τον κώδικά του και τα οποία θα μπορούν να ενσωματωθούν σε άλλα και να χρησιμοποιηθεί ο κώδικάς τους. Ένα παράδειγμα μιας τέτοιας διεργασίας φαίνεται στο σχήμα 11 όπου τα αρχεία "καντράν.sb2" και "Βελόνα.sb2" με μοναδικά αντικείμενα τα "μετρητής" και "δείκτης" αντίστοιχα, τα εξάγουν "αποθηκεύοντάς τα ως τοπικά αρχεία" με ονόματα "μετρητής.sprite2" και "δείκτης.sprite2" στο αποθετήριο. Εν συνεχεία αυτά τα αρχεία αντικειμένων μπορούν να "μεταφορτωθούν ως αρχεία από τον υπολογιστή" και να ενσωματωθούν στο αρχείο "όχημα.sb2" εμπλουτίζοντας τα αντικείμενά του και τον κώδικά του. Σχήμα 11. Ο κεντρικός φάκελος του σχήματος μπορεί να λειτουργήσει ως ένα αποθετήριο κώδικα. Αυτός μπορεί να τροφοδοτείται από αρχεία (.sb2) που εξάγουν τα αντικείμενα σε αρχεία (.sprite2) τα οποία μπορούν να μεταφορτωθούν σε άλλα αρχεία (.sb2) και να εμπλουτίσουν τον κώδικά τους. Συμπεράσματα Tα περιβάλλοντα οπτικού προγραμματισμού και συγκεκριμένα το Scratch-2 διαθέτουν επιπλέον χαρακτηριστικά που επιτρέπουν την τμηματοποίηση του κώδικα. Το γεγονός ότι το Scratch-2 βασίζεται σε αντικείμενα (object based) επιτρέπει κατ' αρχήν τον διαμοιρασμό του κώδικα στα αντικείμενα. Επιπλέον η δυνατότητα προγραμματισμού καθοδηγούμενου από γεγονότα (event driven) στο Scratch-2 επιτρέπει έναν περαιτέρω διαμοιρασμό του κώδικα ανάλογα με τις καταστάσεις στις οποίες μεταπίπτει το σύστημα κατά τη διάρκεια της εκτέλεσής του. Ο συνδυασμός αυτών των δύο διαμοιρασμών οδηγεί στη χωροθέτηση του προγράμματος στα κελιά του κωδικοράματος. Στο εσωτερικό των κελιών του κωδικοράματος η τμηματοποίηση του κώδικα εκφράζεται με τα σενάρια

10 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής κώδικα τα οποία μπορούν να εκτελούνται ταυτόχρονα εκμεταλλευόμενα τις δυνατότητες (ψευδο)παράλληλου προγραμματισμού του Scratch-2. Στο εσωτερικό των σεναρίων που ο κώδικας εκτελείται σειριακά η τμηματοποίηση μπορεί να γίνει με τη χρήση των διαδικασιών. Η χρήση των διαδικασιών δίνει χαρακτηριστικά στον κώδικα δομημένου προγραμματισμού αναδεικνύοντας την ιεραρχική δόμησή των τμημάτων σε δενδροειδείς δομές ενώ η παραμετροποίηση δημιουργεί διαδικασίες-πολυεργαλεία παρέχοντας στον κώδικα ευελιξία και προσαρμοστικότητα. Επιπλέον οι τεχνικές αναδρομικής κλήσης των διαδικασιών παρέχουν δυνατότητες ανάπτυξης μικρών, κομψών και έξυπνων κωδίκων. Τέλος η δυνατότητα του Scratch-2 να εξάγει και να αποθηκεύει αντικείμενα και κώδικα σε διακριτά αρχεία μπορεί να δημιουργήσει αποθετήρια κωδίκων. Η κατηγοριοποίηση των δυνατοτήτων του Scratch-2 να τμηματοποιεί τον κώδικα, αφενός δίνει στον προγραμματιστή τη δυνατότητα να εκμεταλλεύεται τις διάφορες τεχνικές προγραμματισμού (δομημένος προγραμματισμός, σειριακός ή παράλληλος προγραμματισμός, προγραμματισμός καθοδηγούμενος από γεγονότα και μηνύματα...) ώστε να πετύχει το καλύτερο δυνατόν αποτέλεσμα και αφετέρου θέτει τις βάσεις για την αξιολόγηση του παραγόμενου κώδικα όσον αφορά το κριτήριο της τμηματοποίησης. Αναφορές Papert S., (1991). Νοητικές θύελλες. Παιδιά, Ηλεκτρονικοί Υπολογιστές και Δυναμικές Ιδέες. Τα πάντα γύρω από τη Logo. Οδυσσέας, ISBN: 960-026-086-9. Αγγελίδης, Ε., Φωτιάδης, Δ., Λαδιάς, Α. (2011). Προγραμματισμός Αυτομάτων Πεπερασμένων Καταστάσεων: η υλοποίηση του αλγορίθμου Το Νησί του Θησαυρού σε περιβάλλον οπτικού προγραμματισμού Kodu. Συνέδριο WIE 2010 - Η πληροφορική στην εκπαίδευση Αργυρίου, Ι., Καρβουνίδης, Θ., Λαδιάς, Α., Δουληγέρης, Χ. (2016). Κριτήρια και Μοντέλο Αξιολόγησης Κώδικα Οπτικού Προγραμματισμού. Πρακτικά Εργασιών συνεδρίου «Η Πληροφορική στην Εκπαίδευση» (8th CIE 2016). Ανασύρθηκε από http://195.130.124.90/cie/images/documents16/cie2016_cd_v1.0/praktika.html. Αργυρίου, Ι., Λαδιάς, Α., Καρβουνίδης, Θ., Δουληγέρης, Χ. (2016). Η συνεισφορά των εντολών διαχείρισης συμβάντων και ελέγχου, στη σχεδίαση της αλληλεπιδραστικότητας, του συγχρονισμού και της παραλληλίας, σε κώδικα οπτικού προγραμματισμού. Έρκυνα,11, ISSN 2241-8393, http://erkyna.gr/index.php/volumes. Λαδιάς, Α. (1991). Pascal, μια μεθοδική προσέγγιση. Κλειδάριθμος, ISBN: 960-209-118-5 Λαδιάς, Α. (2016). Διδακτικές και παιδαγωγικές διαστάσεις του προγραμματισμού στην υποχρεωτική εκπαίδευση. Έρκυνα, 10, ISSN 2241-8393. http://erkyna.gr/e_docs/periodiko/teyxos/teyxos-10-(10_2016).pdf Λαδιάς, Α., Λαδιάς, Δ., (2016). Ρομποτική χωρίς ρομπότ. Ο προγραμματισμός Η/Υ ως πυλώνας της ρομποτικής στην υποχρεωτική εκπαίδευση. Πρακτικά Εργασιών 8ου Συνεδρίου «Διδακτική Πληροφορικής». Ανασύρθηκε από. http://www.etpe.gr/custom/pdf/proceedings/didinfo2016_proceedings.pdf. Λαδιάς, Α., Λαδιάς, Δ. (2017). Η αναπαράσταση του αλγορίθμου με τη βοήθεια του κωδικοράματος σε περιβάλλοντα οπτικού προγραμματισμού. Θέματα Επιστημών και Τεχνολογίας στην Εκπαίδευση, 9, ISSN: 1792-8796. http://earthlab.uoi.gr/thete/index.php/thete. Λαδιάς, Α., Παπαδόπουλος, Γ., Φωτιάδης, Δ. (2016). ΚωδικΌραμα: Εργαλείο για την ανάπτυξη οπτικού προγραμματισμού σε Scratch. Πανελλήνιο Συνέδριο Ψηφιακό Εκπαιδευτικό Υλικό και Ηλεκτρονική Μάθηση 2.0. Λαδιάς, Α., Σαριδάκη, Α. & Λαδιάς, Δ. (2017). Η αναπαράσταση των δεδομένων στον οπτικό προγραμματισμό ως επιπλέον διάσταση του ΚωδικΟράματος. Έρκυνα, 12, ISSN 2241-8393, http://erkyna.gr/index.php/volumes. Ομάδα Εργασίας Πληροφορικής Γυμνασίου, (2014). Πρόγραμμα Σπουδών για την Πληροφορική και τις Νέες Τεχνολογίες, αναθεωρημένη έκδοση. Παπαδόπουλος, Γ., Φωτιάδης, Δ., Λαδιάς, Α. (2015). Ειδικά θέματα προγραμματισμού σε Scratch. ISBN:978-960- 473-674-4. http://portal.opendiscoveryspace.eu/sites/default/files/vivliogr_v2.3.1_ektyposi_1.pdf