+ All Categories
Home > Documents > Το πουλί, ο πύθωνας και η καφετιέρα…

Το πουλί, ο πύθωνας και η καφετιέρα…

Date post: 14-Nov-2023
Category:
Upload: crete
View: 0 times
Download: 0 times
Share this document with a friend
10
ISBN: 978-960-578-010-4. Το πουλί, ο πύθωνας και η καφετιέρα… Β. Ορφανάκης 1 , Στ. Παπαδάκης 2 1 Υπεύθυνος ΚΕ.ΠΛΗ.ΝΕ.Τ. Λασιθίου [email protected] 2 Καθηγητής Πληροφορικής [email protected] Περίληψη Αυτή η εργασία εστιάζει στην παρουσίαση μιας καινοτόμας πρότασης διδασκαλίας με στόχο τη μάθηση των βασικών στοιχείων των γλωσσών Προγραμματισμού, κάνοντας χρήση μο- ντέρνων τεχνολογιών, όπως είναι το Twitter, η γλώσσα Προγραμματισμού Python και η πλα- κέτα Arduino. Στα μαθησιακά θέματα που υποστηρίζονται μέσω αυτής της συνεργατικής δραστηριότητας περιλαμβάνονται: (α) η κατανόηση βασικών στοιχείων μιας δομημένης γλώσσας προγραμματισμού, (β) η διαπίστωση της ταχείας προόδου στο πεδίο των γλωσσών προγραμματισμού, (γ) οι δυνατότητες επικοινωνίας μεταξύ διαφορετικών συσκευών φαινομε- νικά ασύνδετων μεταξύ τους. Η πρωτοτυπία της μεθόδου που παρουσιάζουμε βασίζεται στο ότι: (α) οι δραστηριότητες που περιγράφονται βρίσκονται κοντά στα ενδιαφέροντα των μαθη- τών (β) για τη σχεδίαση της δραστηριότητας χρησιμοποιήθηκαν εργαλεία ανοικτού κώδικα. Λέξεις κλειδιά: Διδασκαλία Προγραμματισμού, Arduino, Python, Twitter. 1. Εισαγωγή Η διδασκαλία του Προγραμματισμού και της αλγοριθμικής επίλυσης προβλημάτων είναι μια από τις μεγάλες προκλήσεις της επιστήμης των υπολογιστών. Αφενός γιατί από τους μαθητές θεωρείται ως μια επίπονη και κουραστική διαδικασία, αφετέρου διότι ακόμη και σήμερα η διδασκαλία του Προγραμματισμού βασίζεται στη χρήση γλωσσών γενικού σκοπού με δύσχρηστο συντακτικό οι οποίες δημιουργούν πρόσθετο νοητικό φορτίο στους αρχάριους προγραμματιστές (Papadakis, Kalogiannakis, Orfanakis, & Zaranis, 2015). Την κατάσταση επιδεινώνει η «κλασική – παραδοσια- κή» διδακτική προσέγγιση, η οποία βασίζεται στη «στείρα» έμφαση στα χαρακτηρι- στικά και στο συντακτικό μιας γλώσσας, ακολουθούμενη συχνά από τη χρήση παρα- δειγμάτων και ασκήσεων ξένων προς τα ενδιαφέροντα της γενιάς των «ψηφιακών ιθαγενών» (Παπαδάκης, & Ορφανάκης, 2013). Από τις αρχές τις δεκαετίας του ’70 μέχρι σήμερα, υπάρχει έντονη συζήτηση και προσπάθεια για την υιοθέτηση μιας α- ποτελεσματικής μεθόδου που να βελτιστοποιεί την ικανότητα των μαθητών να κατα- νοήσουν και να επιλύσουν προγραμματιστικά προβλήματα (Κορδάκη & Σιέμπος, 2010). Διάφορες διδακτικές προσεγγίσεις μελετώνται οι οποίες στοχεύουν αφενός
Transcript

ISBN: 978-960-578-010-4.

Το πουλί, ο πύθωνας και η καφετιέρα…

Β. Ορφανάκης1, Στ. Παπαδάκης2

1Υπεύθυνος ΚΕ.ΠΛΗ.ΝΕ.Τ. Λασιθίου [email protected]

2Καθηγητής Πληροφορικής [email protected]

Περίληψη

Αυτή η εργασία εστιάζει στην παρουσίαση μιας καινοτόμας πρότασης διδασκαλίας με στόχο τη μάθηση των βασικών στοιχείων των γλωσσών Προγραμματισμού, κάνοντας χρήση μο-ντέρνων τεχνολογιών, όπως είναι το Twitter, η γλώσσα Προγραμματισμού Python και η πλα-κέτα Arduino. Στα μαθησιακά θέματα που υποστηρίζονται μέσω αυτής της συνεργατικής δραστηριότητας περιλαμβάνονται: (α) η κατανόηση βασικών στοιχείων μιας δομημένης γλώσσας προγραμματισμού, (β) η διαπίστωση της ταχείας προόδου στο πεδίο των γλωσσών προγραμματισμού, (γ) οι δυνατότητες επικοινωνίας μεταξύ διαφορετικών συσκευών φαινομε-νικά ασύνδετων μεταξύ τους. Η πρωτοτυπία της μεθόδου που παρουσιάζουμε βασίζεται στο ότι: (α) οι δραστηριότητες που περιγράφονται βρίσκονται κοντά στα ενδιαφέροντα των μαθη-τών (β) για τη σχεδίαση της δραστηριότητας χρησιμοποιήθηκαν εργαλεία ανοικτού κώδικα. Λέξεις κλειδιά: Διδασκαλία Προγραμματισμού, Arduino, Python, Twitter.

1. Εισαγωγή Η διδασκαλία του Προγραμματισμού και της αλγοριθμικής επίλυσης προβλημάτων είναι μια από τις μεγάλες προκλήσεις της επιστήμης των υπολογιστών. Αφενός γιατί από τους μαθητές θεωρείται ως μια επίπονη και κουραστική διαδικασία, αφετέρου διότι ακόμη και σήμερα η διδασκαλία του Προγραμματισμού βασίζεται στη χρήση γλωσσών γενικού σκοπού με δύσχρηστο συντακτικό οι οποίες δημιουργούν πρόσθετο νοητικό φορτίο στους αρχάριους προγραμματιστές (Papadakis, Kalogiannakis, Orfanakis, & Zaranis, 2015). Την κατάσταση επιδεινώνει η «κλασική – παραδοσια-κή» διδακτική προσέγγιση, η οποία βασίζεται στη «στείρα» έμφαση στα χαρακτηρι-στικά και στο συντακτικό μιας γλώσσας, ακολουθούμενη συχνά από τη χρήση παρα-δειγμάτων και ασκήσεων ξένων προς τα ενδιαφέροντα της γενιάς των «ψηφιακών ιθαγενών» (Παπαδάκης, & Ορφανάκης, 2013). Από τις αρχές τις δεκαετίας του ’70 μέχρι σήμερα, υπάρχει έντονη συζήτηση και προσπάθεια για την υιοθέτηση μιας α-ποτελεσματικής μεθόδου που να βελτιστοποιεί την ικανότητα των μαθητών να κατα-νοήσουν και να επιλύσουν προγραμματιστικά προβλήματα (Κορδάκη & Σιέμπος, 2010). Διάφορες διδακτικές προσεγγίσεις μελετώνται οι οποίες στοχεύουν αφενός

Πρακτικά 7th CIE2015 103

ISBN: 978-960-578-010-4.

μεν στο να προκαλέσουν το ενδιαφέρον των αρχαρίων για τον Προγραμματισμό και αφετέρου να τους απαλλάξουν από το νοητικό φόρτο της απομνημόνευσης συντακτι-κών και γραμματικών τύπων (Papadakis et al., 2015). Μια διδακτική προσέγγιση προς αυτήν την κατεύθυνση είναι η μάθηση των προγραμματιστικών δομών μέσω της συνεργατικής εκπαιδευτικής δραστηριότητας (Κορδάκη & Ψώμος, 2012), βασιζόμε-νη στις αρχές του εποικοδομισμού και της σύνδεσης της εκπαίδευσης με τις καθημε-ρινές εμπειρίες των μαθητών, ώστε να γεφυρωθεί το χάσμα μεταξύ του σχολικού και του εξωσχολικού κόσμου των μαθητών, της άτυπης και της τυπικής μάθησης (Κορ-δάκη & Σιέμπος, 2010).

2. Δυσκολίες των μαθητών στη διδασκαλία του Προγραμματι-σμού - Διδακτική του Προγραμματισμού Γιατί μαθαίνουμε Προγραμματισμό; Διότι ο Προγραμματισμός προάγει τη δημιουρ-γικότητα, τη λογική και την επίλυση προβλημάτων και συντελεί στην ανάπτυξη της υπολογιστικής σκέψης. Η υπολογιστική σκέψη (ΥΣ) (Computational Thinking) είναι μια δεξιότητα την οποία οι σημερινοί μαθητές πρέπει να διδάσκονται για να προετοι-μαστούν για το χώρο εργασίας και να είναι σε θέση να συμμετέχουν αποτελεσματικά στον ψηφιακό κόσμο. Γιατί όμως η υπολογιστική σκέψη είναι τόσο σημαντική; Διότι μας επιτρέπει να λύσουμε προβλήματα, να σχεδιάσουμε συστήματα και να κατανοή-σουμε τη δύναμη και τα όρια της ανθρώπινης νοημοσύνης και των μηχανών. Είναι μια ικανότητα που δίνει ισχύ στο σύγχρονο κόσμο, και ως εκ τούτου όλοι οι μαθητές θα πρέπει να γνωρίζουν και να αναπτύξουν τη δεξιότητα τους σε αυτήν (Berry, 2013).

Η εκμάθηση του Προγραμματισμού παρουσιάζει προκλήσεις τόσο για τους εκπαιδευ-τικούς όσο και για τους σπουδαστές, καθώς δεν είναι ένα εύκολο αντικείμενο για με-λέτη, διότι κυρίως απαιτεί σωστή κατανόηση αφηρημένων εννοιών. Οι δυσκολίες που αντιμετωπίζουν οι μαθητές στην εκμάθηση του προγραμματισμού έχουν επαρ-κώς τεκμηριωθεί και περιλαμβάνουν τη χρήση μεταβλητών, τη χρήση βρόχων, λογι-κών συνθηκών και δομών ελέγχου, μεταβίβαση τιμών και τη χρήση αναδρομής (Pa-padakis et al., 2015· Tollervey, 2015) Επιπρόσθετα, η χρησιμοποίηση προγραμματι-στικών γλωσσών γενικού σκοπού για τη διδασκαλία του Προγραμματισμού δυσκο-λεύει τους αρχάριους προγραμματιστές, καθώς αυτές έχουν μεγάλο ρεπερτόριο εντο-λών, περιλαμβάνουν σύνθετες εντολές, δεν παρέχουν επαρκή υποστήριξη κατανόη-σης των βασικών ενεργειών και των δομών ελέγχου και δεν έχουν καμία σύνδεση με την καθημερινή εμπειρία των μαθητών (Κορδάκη & Σιέμπος, 2010).

Μια επιτυχημένη λύση που έχει δοθεί για την προσέλκυση των μαθητών στην επι-στήμη της Πληροφορικής είναι η εισαγωγή στον Προγραμματισμό μέσω εκπαιδευτι-κών περιβαλλόντων, τα οποία προσπαθούν να μειώσουν το γνωστικό φορτίο το οποίο οι αρχάριοι προγραμματιστές χρειάζεται να καταβάλουν για την εκμάθηση των χα-ρακτηριστικών μιας γλώσσας προτού καν να ασχοληθούν με την εκμάθηση δύστρο-

104 7th Conferrence on Informatics in Education 2015

ISBN: 978-960-578-010-4.

πων προγραμματιστικών εννοιών, όπως η χρήση βρόχων, η αναδρομή, η αφαίρεση κ.α. Τέτοια περιβάλλοντα τα οποία αποκαλούνται ILE’s (Initial learning environ-ments) και τα οποία στην πλειονότητά τους βασίζονται στη χρήση οπτικών εντολών (πλακιδίων – blocks), όπως το Scratch, το Storrytelling Alice, έχουν πετύχει εν μέρει το στόχο τους. Ωστόσο το πρόβλημα είναι ότι η σημερινή γενιά των μαθητών η οποία είναι εθισμένη στη χρήση των ΤΠΕ από μικρή ηλικία, σύντομα χάνει το ενδιαφέρον της λειτουργώντας αρνητικά στα κίνητρα και την ενεργητική τους δέσμευση στη δια-δικασία της μάθησης (Papadakis et al., 2015). Τα αίτια είναι διττά: η χρήση τέτοιων γλωσσών πρώτιστα, διότι τα προγράμματα τα οποία καλούνται να υλοποιήσουν είναι έξω από τα ενδιαφέροντά τους δίχως σύνδεση μεταξύ του σχολικού και του εξωσχο-λικού κόσμου των μαθητών και αφετέρου ο τρόπος διδασκαλίας, απομονωμένοι ή σε δυάδες σε έναν ΗΥ, δίχως την απαραίτητη αλληλεπίδραση με το κοινωνικό περιβάλ-λον της τάξης, υλοποιώντας έτοιμα φύλλα εργασίας συμπεριφοριστικού τύπου, στοι-χεία που δεν τους ελκύουν.

Στον αντίποδα, οι Κορδάκη & Σιέμπος (2010) αναφέρουν ότι σύμφωνα με τις σύγ-χρονες κοινωνικές και εποικοδομιστικές θεωρίες μάθησης, η ενεργή συμμετοχή των μαθητών στη μαθησιακή διαδικασία αποτελεί σημαντικό θετικό παράγοντα. Οι μαθη-τές πρέπει να είναι οι πρωταγωνιστές της εκπαιδευτικής διαδικασίας, ενώ και η οικο-δόμηση των γνώσεών τους πρέπει να επιτυγχάνεται μέσα από αυθεντικές δραστηριό-τητες που είναι εγγενώς ενδιαφέρουσες για αυτούς. Ένας τρόπος για να επιτευχθούν οι παραπάνω προϋποθέσεις είναι η διδασκαλία του Προγραμματισμού μέσω συνερ-γατικών εκπαιδευτικών δραστηριοτήτων (Κορδάκη & Σιέμπος, 2010), με τη χρήση παραδειγμάτων ή δημιουργίας έργων τα οποία να προέρχονται από τον εμπειρικό τους κόσμο ή να έχουν νόημα γι’ αυτούς.

3. Σύντομη περιγραφή του υλικού – λογισμικού - υπηρεσιών που χρησιμοποιήθηκε στη διδακτική παρέμβαση

3.1 Η γλώσσα προγραμματισμού Python

Από την εισαγωγή της από τον Guido van Rossum, το 1991, η Python έχει εξελιχθεί σε μια από τις πιο ευρέως υψηλού επιπέδου χρησιμοποιούμενες γενικής χρήσης, γλώσσες Προγραμματισμού. Η δημοφιλία της οφείλεται σε χαρακτηριστικά όπως ότι ανήκει στην κατηγορία του ελεύθερου και ανοικτού κώδικα, η υποστήριξή της στον διαδικασιοστραφή (procedure-oriented) και αντικειμενοστραφή (object-oriented) προγραμματισμό, η ύπαρξη εκτεταμένων βιβλιοθηκών, μιας τεράστιας βάσης πηγών και μιας συνεχώς διευρυνόμενης δυναμικής κοινότητας χρηστών. Ωστόσο, η Python διαθέτει και μια σειρά από χαρακτηριστικά που την καθιστούν ιδανική για την εισα-γωγή των αρχαρίων στον Προγραμματισμό (Swaroop, 2015· Tollervey, 2015):

Ευκολία στην εκμάθησή της. Ως γλώσσα έχει μια ασυνήθιστα απλή και μινι-μαλιστική σύνταξη. Καθώς δεν περιλαμβάνει περίπλοκά σύμβολα όπως, { },

Πρακτικά 7th CIE2015 105

ISBN: 978-960-578-010-4.

#, και $, οι εντολές είναι αρκετά εύκολο να γραφούν και να διαβαστούν σε σύγκριση με άλλες γλώσσες Προγραμματισμού (βλ. εικόνα 1), ενώ η ύπαρξη ενός διαδραστικού κελύφους (shell) επιτρέπει την εκτέλεση των προγραμμά-των με εύκολο τρόπο. Επιπρόσθετα, η Python περιέχει και άλλα χαρακτηρι-στικά τα οποία επεκτείνουν σημαντικά τη διαδικασία της μάθησης, όπως η βιβλιοθήκη turtle, εμπνευσμένη από τα γραφικά της χελώνας τα οποία εισή-χθησαν με τη γλώσσα Προγραμματισμού Logo και η βιβλιοθήκη TkInter, μια διεπαφή - εργαλειοθήκη για το γραφικό περιβάλλον Tk, το οποίο παρέχει έ-ναν εύκολο τρόπο για τη δημιουργία προγραμμάτων με ελαφρώς πιο προηγ-μένα γραφικά και κινούμενα σχέδια.

Φορητότητα. Λόγω του ανοικτού της κώδικα, η Python λειτουργεί σε πολλές πλατφόρμες και σε όλα τα δημοφιλή λειτουργικά συστήματα και παλτφόρμες όπως το Raspberry Pi, OLPC, Arduino. Πρόσφατα, το BBC ανακοίνωσε το έργο MicroBit, το οποίο περιλαμβάνει τη διανομή ενός εκατομμυρίου μικρών προγραμματιζόμενων συσκευών στους μαθητές ηλικίας 11 ετών στο Ηνωμέ-νο Βασίλειο με την έναρξη του σχολικού έτους, το Σεπτέμβριο του 2015. Η Python είναι μια από τις τρεις υποστηριζόμενες γλώσσες για τον προγραμμα-τισμό της συσκευής.

Ευελιξία εγκατάστασης. Είναι δυνατόν να χρησιμοποιήσει κάποιος την Python ως υπηρεσία μέσω δικτυακών τόπων, όπως το Python Anywhere. Έ-νας μαθητής μπορεί απλά να επισκεφτεί ένα δικτυακό τόπο και να βρει ένα πλήρες λειτουργικό περιβάλλον ανάπτυξης, δίχως να χρειάζεται να εγκατα-στήσει οποιαδήποτε λογισμικό στο σπίτι ή στο σχολείο του.

Java Python

Εικόνα 1. Διαφορά στη σύνταξη Java και Python

3.2 Η πλατφόρμα Arduino

Το Arduino είναι μια δημοφιλής, ανοικτού τύπου πλατφόρμα προτυποποίησης η σχε-δίαση της οποίας έχει βασιστεί σε μια δημοφιλή «οικογένεια» μικροελεγκτών, ενώ περιλαμβάνει και ένα απλό περιβάλλον ανάπτυξης λογισμικού. Εκτός από την προ-τυποποίηση, ένας χρήστης μπορεί να χρησιμοποιήσει την πλατφόρμα Arduino για την ανάπτυξη των δικών του (do-it-yourself - DIY) έργων (Desai, 2015). Η πλατφόρ-μα Arduino γεφυρώνει τον κόσμο των υπολογιστών με το φυσικό κόσμο, επιτρέπο-

106 7th Conferrence on Informatics in Education 2015

ISBN: 978-960-578-010-4.

ντας στο χρήστη να συνδέσει απλά τους αισθητήρες και μηχανισμούς ποικίλων τύ-πων με έναν υπολογιστή. Ως εκ τούτου, ένας χρήστης μπορεί να συγγράψει τον αντί-στοιχο κώδικα προκειμένου να παρακολουθεί και να ελέγχει διάφορα ηλεκτρονικά στοιχεία στην καθημερινή του ζωή, χρησιμοποιώντας τους ακροδέκτες εισόδου / εξό-δου Arduino και τον μικροελεγκτή. Παραδείγματα αυτών περιλαμβάνουν κινητήρες, θερμοστάτες, φώτα, διακόπτες, κ.ά. Τα χαρακτηριστικά που έχουν κάνει την πλατ-φόρμα Arduino ιδανική για εκπαιδευτική χρήση είναι τα ακόλουθα: α) είναι οικονο-μικά προσιτή, β) είναι εύκολη στη χρήση της και στον προγραμματισμό της, γ) περι-λαμβάνει μια ανοικτού τύπου και επεκτάσιμη πλατφόρμα λογισμικού δ) περιλαμβά-νει μια ανοικτού τύπου και επεκτάσιμη πλατφόρμα υλικού και ε) παρά το σύντομο χρονικό διάστημα ύπαρξής της έχει ήδη μια μεγάλη βάση ολοκληρωμένων έργων και βιβλιοθηκών.

3.3 Η υπηρεσία Twitter

Το Twitter ανήκει στην κατηγορία των επονομαζόμενων υπηρεσιών web 2.0 μαζί με τα blogs, το Facebook κ.ά. Ως κοινωνικό δίκτυο ανήκει στην ευρύτερη κατηγορία των Social Media και θεωρείται το δεύτερο δημοφιλέστερο πίσω από το Facebook. Αυτό που χαρακτηρίζει το συγκεκριμένο κοινωνικό δίκτυο από τα υπόλοιπα, είναι οι δημοσιεύσεις με όριο τους 140 χαρακτήρες. Η διαδικασία αυτή ονομάζεται Twittering. Ο τρόπος επικοινωνία μέσω του Twitter προσομοιάζει με την αποστολή SMS μηνυμάτων μέσω κινητού τηλεφώνου λόγω του περιορισμού στο μέγεθος των μηνυμάτων, με μία όμως πολύ σημαντική διαφορά: τα μηνύματα που αποστέλλει έ-νας χρήστης δεν πηγαίνουν σε έναν μόνο παραλήπτη αλλά σε πολλούς. Το Twitter παρέχει διάφορους τρόπους σύνδεσης. Μέσω υπολογιστή ένας χρήστης μπορεί να το επισκεφθεί μέσω του www.twitter.com ή μέσω τρίτων εργαλείων, όπως το TweetDeck. Μέσω έξυπνων φορητών συσκευών ένας χρήστης μπορεί να επιλέξει από ένα μεγάλο πλήθος φορητών εφαρμογών για λειτουργικά συστήματα Android, iOS, Windows mobile κ.ά. (Κόνσουλας, 2015; Καψωμενάκης, 2015).

4. Η διδακτική παρέμβαση Η διδασκαλία του Προγραμματισμού στο σχολείο μπορεί να γίνει με διάφορους τρό-πους και με τη χρήση διαφόρων περιβαλλόντων. Στη διδακτική πρόταση που ακο-λουθεί βασικός μας στόχος είναι οι μαθητές σε συνεργασία και μέσω μιας δομημένης εργαστηριακής δραστηριότητας να έρθουν σε επαφή με τον Προγραμματισμό μέσα από εφαρμογές που είναι κοντά στα ενδιαφέροντά τους, ενώ κατά τη διάρκεια της παρέμβασης μπορούν να επιτευχθούν και οι 6 γνωστικοί στόχοι της αναθεωρημένης ταξινομίας του Bloom (Ανάκληση, Κατανόηση, Εφαρμογή, Ανάλυση, Αξιολόγηση και Δημιουργία) (Κορδάκη & Ψώμος, 2012). Επιπλέον, τα εργαλεία που θα χρησιμο-ποιηθούν είναι σύγχρονα, με μικρό κόστος και ικανοποιούν τις ανάγκες των μαθη-τών, ενώ μπορούν να εφαρμοστούν και εκτός του τυπικού σχολικού περιβάλλοντος. Για το λόγο αυτό επιλέχθηκε η δημιουργία ενός έργου στο οποίο συνδυάζονται η

Πρακτικά 7th CIE2015 107

ISBN: 978-960-578-010-4.

πλατφόρμα Arduino, το Twitter, η γλώσσα Προγραμματισμού Python και μια καφε-τιέρα. Έχοντας κατά νου το «έξυπνο» σπίτι και το «ίντερνετ των πραγμάτων», η πρό-τασή μας αποτελεί και μια πρώτη επαφή των μαθητών με έννοιες τελευταίας Τεχνο-λογίας. Το κόστος υλοποίησης της παρέμβασης ήταν 25 ευρώ και περιλάμβανε την αγορά της πλακέτας Arduino και του ηλεκτρονόμου.

Πιο συγκεκριμένα, οι μαθητές χωρισμένοι σε 4 ομάδες θα δημιουργήσουν ένα έργο κατά το οποίο όταν από ένα συγκεκριμένο λογαριασμό Twitter σταλεί ένα μήνυμα π.χ. «Start» είτε μέσω ηλεκτρονικού υπολογιστή είτε μέσω μια φορητής συσκευής, το μήνυμα θα λαμβάνεται από μια εφαρμογή γραμμένη σε Python που «τρέχει» σε έναν απομακρυσμένο ηλεκτρονικό υπολογιστή. Η εφαρμογή αυτή θα στέλνει το κατάλλη-λο μήνυμα στη θύρα USB στην οποία είναι συνδεμένη η πλατφόρμα Arduino. Ακο-λούθως, η πλατφόρμα Arduino θα ενεργοποιεί έναν ηλεκτρονόμο (ρελέ) ο οποίος με τη σειρά του θα ενεργοποιεί (ανάβει) την καφετιέρα. Η ίδια διαδικασία ακολουθείται για το σβήσιμο της καφετιέρας αποστέλλοντας μέσω Twitter το αντίστοιχο μήνυμα π.χ. «Stop». Στην εικόνα 2 απεικονίζεται το διάγραμμα ροής του έργου.

Εικόνα 2. Διάγραμμα ροής έργου

4.1 Ομάδα Twitter (Το πουλί)

Η ομάδα των μαθητών που θα ασχοληθεί με το Twitter, θα πρέπει να δημιουργήσει ένα νέο λογαριασμό ο οποίος θα χρησιμοποιηθεί για την αποστολή των μηνυμάτων. Για να γίνει η επικοινωνία και η λήψη των μηνυμάτων του Twitter από την Python εφαρμογή, η ομάδα αυτή θα αναλάβει να διερευνήσει την έννοια και χρησιμότητα των application programming interface keys (API keys). Τέλος η ομάδα αυτή θα πρέ-πει να παράσχει όλες τις σχετικές πληροφορίες (όνομα λογαριασμού, API key λογα-ριασμού κ.α.) στην ομάδα που έχει αναλάβει να γράψει τον κώδικα στην Python. Εί-ναι πολύ σημαντικό οι μαθητές να κατανοήσουν ότι για να μπορέσουν δυο διαφορε-τικές εφαρμογές να επικοινωνήσουν μεταξύ τους χωρίς τη χρήση ονόματος χρήστη και κωδικού κάθε φορά, απαιτείται η χρήση των κλειδιών API. Κάθε σύγχρονη ε-φαρμογή, όπως π.χ. το Facebook, το Twitter κ.α. παρέχει στους χρήστες της τέτοια κλειδιά. Στην εικόνα 3 φαίνεται το API key ενός λογαριασμού στο Twitter.

108 7th Conferrence on Informatics in Education 2015

ISBN: 978-960-578-010-4.

Εικόνα 3. Twitter API key

4.2 Ομάδα Python (Ο Πύθωνας)

Η ομάδα των μαθητών που θα ασχοληθεί με την Python θα πρέπει να αναπτύξει -χρησιμοποιήσει μια εφαρμογή η οποία θα δέχεται μηνύματα από το Twitter. Εάν το μήνυμα περιέχει τη λέξη «Start», τότε η εφαρμογή θα στέλνει ένα μήνυμα στη θύρα USB το οποίο θα ενεργοποιεί την εφαρμογή στην πλατφόρμα Arduino. Αν το μήνυμα περιέχει τη λέξη «Stop», αντίστοιχα θα απενεργοποιείται η καφετιέρα (βλ. εικόνα 4).

Εικόνα 4. Απόσπασμα του κώδικα σε Python

Πρακτικά 7th CIE2015 109

ISBN: 978-960-578-010-4.

4.3 Ομάδα Arduino

Οι μαθητές που θα ασχοληθούν με την πλατφόρμα Arduino θα πρέπει να αναπτύξουν μια εφαρμογή η οποία όταν δέχεται το κατάλληλο σήμα στη θύρα USB στην οποία είναι συνδεμένη θα ενεργοποιεί τον ηλεκτρονόμο (ρελέ) με τον οποίο συνδέεται η καφετιέρα. Πιο συγκεκριμένα, ο ακροδέκτης (pin) στον οποίο συνδέεται ο ηλεκτρο-νόμος, «παίρνει» την τιμή HIGH ή LOW ανάλογα με το σήμα που λαμβάνει η πλατ-φόρμα Arduino από την Python εφαρμογή (βλ. εικόνα 5).

Εικόνα 5. Ο κώδικας στο Arduino IDE και ένα ενδεικτικό φύλλο εργασίας

4.4 Ομάδα Ηλεκτρονικών (Η Καφετιέρα)

Η ομάδα που θα ασχοληθεί με τα ηλεκτρονικά του έργου θα πρέπει να κατανοήσει τον τρόπο λειτουργίας ενός απλού ηλεκτρονόμου και ακολούθως να τον ενσωματώ-σει σε ένα πολύμπριζο. Ως εκ τούτου, η καφετιέρα που θα είναι μονίμως συνδεμένη στο πολύμπριζο, θα ενεργοποιείται ή όχι μέσω του ενσωματωμένου ηλεκτρονόμου ο οποίος συνδέεται με την πλακέτα Arduino (βλ. εικόνα 6). Η ομάδα αυτή ζήτησε τη βοήθεια του καθηγητή των Φυσικών Επιστημών, ο οποίος εξήγησε βασικές έννοιες ηλεκτρισμού. Έγινε επίσης αναφορά στους ηλεκτρονόμους και στη χρησιμότητά τους. Έτσι οι μαθητές συνδύασαν τη θεωρία με την πρακτική εξάσκηση, αφού κατά-φεραν να ενσωματώσουν τον ηλεκτρονόμο στο πολύμπριζο, όπως φαίνεται και στην εικόνα 6.

110 7th Conferrence on Informatics in Education 2015

ISBN: 978-960-578-010-4.

Εικόνα 6. Ρελέ σε πολύμπριζο

5. Σύνοψη και σχέδια μελλοντικής έρευνας Στην παρούσα εργασία έγινε παρουσίαση μιας διδακτικής προσέγγισης για τη διδα-σκαλία του Προγραμματισμού με στόχο: αφενός να προκαλέσει το ενδιαφέρον των μαθητών για τον Προγραμματισμό και αφετέρου να τους δώσει τη δυνατότητα να πειραματιστούν και να χρησιμοποιήσουν μια ποικιλία προγραμματιστικών εννοιών και δομών καθώς και να καλλιεργήσουν πολλαπλές νοητικές και μη δεξιότητες. Η πειραματική εφαρμογή και αξιολόγηση της διδακτικής προσέγγισης το σχολικό έτος 2014-2015, στο πλαίσιο ενός προγράμματος σχολικών δραστηριοτήτων, σε μια τάξη 16 μαθητών ενός επαρχιακού Λυκείου στην Κρήτη, έδειξε ενθαρρυντικά αποτελέ-σματα. Οι ερευνητές διαπίστωσαν ότι προκάλεσε την ικανοποίηση των μαθητών, συ-νέβαλε στην ανάπτυξη των δεξιοτήτων τους στη σχεδίαση και υλοποίηση λύσεων, στην ανάπτυξη των ικανοτήτων συνεργασίας και τέλος οδήγησε στην ενίσχυση του μαθησιακού αποτελέσματος. Στα μελλοντικά μας σχέδια περιλαμβάνεται ο εμπλουτι-σμός της διδακτικής προσέγγισης με τη δημιουργία της εφαρμογής twitter μέσω του προγραμματιστικού περιβάλλοντος App Inventor for Android από τους μαθητές για την εξοικείωση των μαθητών και με τον προγραμματισμό των φορητών συσκευών.

Αναφορές Berry, M. (2013). Computing in the national curriculum. A guide for primary teach-

ers. Bedford: Computing at School.

Desai, P. (2015). Python Programming for Arduino. Packt Publishing.

Papadakis, St., Kalogiannakis, M., Orfanakis, V., & Zaranis, N. (2015). Novice Pro-gramming Environments. Scratch & App Inventor: a first comparison. In Proceedings of the 2014 Workshop on Interaction Design in Educational Environments (IDEE '14), Habib M. Fardoun and José A. Gallud (Eds.). ACM, New York, NY, USA.

Swaroop C. H. (2015). A Byte of Python. Ανάκτηση από το files.swaroopch.com/python/byte_of_python.pdf

Πρακτικά 7th CIE2015 111

ISBN: 978-960-578-010-4.

Tollervey, N. (2015). Python in Education. Teach, Learn, Program. O’Reilly Media.

Καψωμενάκης, Ν. (2015). Twitter: οδηγός για αρχάριους και όχι μόνο. Ανάκτηση από το http://goo.gl/wRDpfv

Κόνσουλας, Θ. (2015) Τι είναι το Twitter και πώς λειτουργεί; Ανάκτηση από το http://goo.gl/YqXbFC

Κορδάκη, Μ., & Σιέμπος, Χ. (2010). Χρήση της Συνεργατικής Μεθόδου Jigsaw για τη Mάθηση Βασικών Εννοιών Γλωσσών Προγραμματισμού. Πρακτικά 5ου Πανελ-λήνιου Συνέδριου Διδακτικής της Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστή-μιο Αθηνών, 9-11 Απριλίου 2010, σελ. 41-50.

Κορδάκη, Μ., & Ψώμος, Π. (2012). Μια πρόταση διδασκαλίας του προγραμματισμού μέσα από τη δημιουργία ψηφιακών αφηγήσεων στο περιβάλλον Storytelling Alice. Πρακτικά 6ου Πανελλήνιου Συνεδρίου «Διδακτική της Πληροφορικής», Παι-δαγωγικό τμήμα Παν/μίου Δυτικής Μακεδονίας, (σελ.93-102), 20-22 Απριλίου 2012, Φλώρινα.

Παπαδάκης, Στ., & Ορφανάκης, Β. (2013). Μια πρόταση διδασκαλίας στο μάθημα ‘Εφαρμογές Λογισμικού’ με τη χρήση του App Inventor. Πρακτικά 5th Conference on Informatics in Education «Η Πληροφορική στην εκπαίδευση», Τμή-μα Πληροφορικής Πανεπιστημίου Πειραιώς, Πειραιάς, 11-13 Οκτωβρίου 2013.

Abstract

This work focuses on the presentation of an innovative teaching proposal, aiming to learn the basic elements of programming languages, using modern technologies like Twitter, the Python programming language and Arduino board. Learning issues that are supported through this collaborative activity are: (a) understanding of basic elements of a structured programming language, (b) to note the rapid progress in the field of programming languages, (c) the com-munication capabilities between various seemingly unconnected devices together. The origi-nality of the method we present is based on the fact that: (a) the activities described are close to the interests of pupils (b) open source tools are used for the design of the activity. Keywords: Teaching programming, Arduino, Python, Twitter


Recommended