ΚωδικΌραμα

Ένα χρήσιμο εργαλείο
για τη διδασκαλία
του οπτικοποιημένου προγραμματισμού.

Καλή ανάγνωση.

Το κωδικΌραμα είναι ένα εργαλείο αναπαράστασης του κώδικα που έχει ως κύριο στόχο να διευκολύνει τη διδασκαλία του οπτικού προγραμματισμού. Επιτρέπει στον παρατηρητή όσον αφορά (α) την ανατομία του κώδικα να έχει συγχρόνως την εποπτεία του συνόλου του κώδικα και την πρόσβαση στις λεπτομέρειες του και  (β) τη λειτουργικότητα του κώδικα αναδεικνύει τους τρόπους επικοινωνίας μεταξύ των τμημάτων του κώδικα. Η παρούσα έρευνα αποσκοπεί να εκτιμήσει το βαθμό ευχρηστίας του κωδικΟράματος τόσο ως προς τη χρήση του, όσο και ως προς την ανάπτυξή του από τους εκπαιδευτικούς.

 

Τα αποτελέσματα της έρευνας έδειξαν έναν καλό/αποδεκτό βαθμό της ευχρηστίας του κωδικΟράματος. Τονίζεται όμως ότι αφενός χρειάζεται περαιτέρω έρευνα που να οδηγεί στον εντοπισμό των σημείων που μειονεκτεί η ευχρηστία του κωδικΟράματος και στην προσπάθεια βελτίωσής του και αφετέρου στον καθοριστικό ρόλο που παίζει η ικανοποίηση των εκπαιδευτικών.

Αναστάσιος Λαδιάς

Σχήμα 1. Το κωδικΌραμα του προγράμματος Scratch από το εκπαιδευτικό σενάριο “Αεράμυνα 4”, από το αποθετήριο του OpenDiscaverySpace

Κάθε μια από τις στήλες του πίνακα αντιστοιχεί σε ένα από τα αντικείμενα που εμπλέκονται στον αλγόριθμο της επίλυσης ενός προγραμματιστικού προβλήματος, ενώ στις γραμμές του πίνακα αναπτύσσονται οι “καταστάσεις” στις οποίες βρίσκονται τα αντικείμενα μετά την αναγνώριση ενός γεγονότος για να ικανοποιήσουν το αντίστοιχο αίτημα. Σε κάθε κελί του κωδικΟράματος τοποθετούνται το ή τα σενάρια που περιγράφουν τη συμπεριφορά του συγκεκριμένου αντικειμένου (στήλη) στη συγκεκριμένη κατάσταση (γραμμή) στην οποία βρίσκεται. Οι σύνδεσμοι που μπορεί να υπάρχουν μεταξύ των σεναρίων συμβολίζουν την επικοινωνία μεταξύ των αυτόνομων σεναρίων του κώδικα και αναπαρίστανται με βέλη που δείχνουν την ενδεχόμενη ροή του προγράμματος κατά την εκτέλεση του προγράμματος (Λαδιά & Λαδιά, 2016).

Χαρακτηριστικά του κώδικα και κωδικΌραμα

 

Με την αναπαράστασή του προγράμματος ως κωδικΌραμα, διάφορα χαρακτηριστικά του προγράμματος αναδεικνύονται όπως:

  • η μεθοδολογία της ανάπτυξης του κώδικα και τα πρότυπα στα οποία έχει βασιστεί
  • η σχεδίαση του εκάστοτε προγράμματος,
  • η αντίληψη της ολότητας του προγράμματος και της διαλειτουργικότητας μεταξύ των αντικειμένων.
  • ο τρόπος τμηματοποίησης (modularity) του κώδικα (επιτυγχάνεται με χρήση
  • μηνυμάτων, διαδικασιών και κλώνων) και ο βαθμός κοκκοποίησης αυτής (ως κοκκοποίηση νοείται η συνεχής διεργασία τμηματοποίησης του προγράμματος με διάσπασή του σε απλούστερα και με όριο αυτής της διεργασίας το απλούστερο τμήμα του να αποτελεί μια στοιχειώδη λογική οντότητα).
  • ο βαθμός αφαιρετικότητας που αναπτύσσεται κατά την ιεραρχική δόμηση των προγραμμάτων και η τεχνική της απόκρυψης των λεπτομερειών των κατώτερων ιεραρχικά επιπέδων. 
  • οι αναλογίες μεταξύ παρόμοιων τμημάτων του κώδικα που οδηγούν στην παραμετροποίηση του κώδικα.
  • η χρονική εξέλιξη της λειτουργίας του συνολικού προγράμματος που επιτυγχάνεται με την κατάλληλη χωρική διάταξη των καταστάσεων.
  • τα μακροσκελή νήματα κώδικα (που τυχόν ενεργοποιούνται από κλήσεις ιεραρχικά δομημένων διαδικασιών, αλληλουχίες μετάδοσης μηνυμάτων και γενεαλογίες
  • κλώνων).
  • οι εναλλακτικοί βρόχοι που μπορούν να δημιουργηθούν με αναδρομικές διαδικασίες, μηνύματα που λαμβάνονται από το σενάριο που τα εξέπεμψε και αυτοαναπαραγόμενους κλώνους (Karvounidis, Ladias, Ladias,& Douligeris, 2019).