Είναι ο προγραμματισμός ανά ζεύγη πιο αποτελεσματικός από τον προγραμματισμό κατά μόνας για τους μαθητές της Δευτεροβάθμιας Εκπαίδευσης; Μια μελέτη περίπτωσης. Παπαδάκης Σταμάτιος stpapadakis@sch.gr Καθηγητής πληροφορικής, Διδάκτωρ Πανεπιστημίου Κρήτης, ΓΕΛ Κρουσώνα Περίληψη Η διδασκαλία και η εκμάθηση του προγραμματισμού είναι μια επίπονη διαδικασία τόσο για τους εκπαιδευτικούς όσο και τους αρχάριους προγραμματιστές. Οι παραδοσιακές διδακτικές προσεγγίσεις αδυνατούν να συμβάλουν στην ανάπτυξη των απαραίτητων γνωστικών μοντέλων από τους μαθητές και ως εκ τούτου τα υψηλά ποσοστά αποτυχίας και αποχωρήσεων είναι συνήθη σε εισαγωγικά μαθήματα προγραμματισμού. Τα τελευταία τριάντα έτη, η επιστημονική κοινότητα δεν έχει πάψει να αναζητά νέες διδακτικές προσεγγίσεις και τεχνικές που βοηθούν τη διδασκαλία και εκμάθηση του προγραμματισμού. Ποικίλες έρευνες έχουν δείξει ότι η τεχνική του προγραμματισμού ανά ζεύγη (pair programming) μπορεί υπό τις κατάλληλες προϋποθέσεις να δημιουργήσει ένα περιβάλλον ευνοϊκό για την ενεργητική μάθηση και τη συνεργασία και να αυξήσει το ενδιαφέρον των μαθητών για τον προγραμματισμό. Στην παρούσα εργασία, παρουσιάζουμε τα αποτελέσματα μια διδακτικής παρέμβασης η οποία διεξήχθη σε μαθητές της Α Λυκείου. Τα αποτελέσματα έδειξαν ότι ο προγραμματισμός κατά ζεύγη είναι αποδοτικότερος σε σχέση με τον προγραμματισμό κατά μόνας τόσο στην εκμάθηση των προγραμματιστών εννοιών όσο και στην βελτίωση των στάσεων των μαθητών απέναντι στον προγραμματισμό. Λέξεις κλειδιά: Προγραμματισμός ανά ζεύγη, προγραμματισμός κατά μόνας, αρχάριοι προγραμματιστές, δευτεροβάθμια εκπαίδευση Εισαγωγή Διαχρονικά τα εισαγωγικά μαθήματα προγραμματισμού θεωρούνται ιδιαίτερα απαιτητικά από τους μαθητές με αποτέλεσμα είτε την χαμηλή απόδοση των μαθητών είτε τα υψηλά ποσοστά αποχωρήσεων των μαθητών από αυτά (Anfurrutia, Álvarez, Larrañaga & López-Gil, 2016). Καθώς oι παραδοσιακές διδακτικές προσεγγίσεις αδυνατούν να συμβάλουν στην ανάπτυξη των απαραίτητων γνωστικών μοντέλων από τους μαθητές για την κατανόηση των βασικών προγραμματιστικών εννοιών (Jimoyiannis, 2013) η υιοθέτηση νέων διδακτικών προσεγγίσεων και τεχνικών είναι ένα θέμα που απασχολεί την διεθνή ερευνητική κοινότητα. Μια τεχνική η οποία τα τελευταία χρόνια γνωρίζει μεγάλη άνθηση στην βιομηχανία λογισμικού, ο προγραμματισμός ανά ζεύγη (pair-programming ή collaborative programming) σταδιακά αποκτά μεγάλη δημοσιότητα και στην εκπαίδευση καθώς χρησιμοποιείται για την διδασκαλία των αρχαρίων προγραμματιστών. Σύμφωνα με την τεχνική αυτή 2 αρχάριοι προγραμματιστές εργάζονται από κοινού σε έναν υπολογιστή για την ολοκλήρωση ενός προγράμματος (Cockburn, & Williams, 2000). Έρευνες που έχουν διεξαχθεί σε πανεπιστημιακό επίπεδο έχουν αναδείξει την τεχνική αυτή ως αρκετά αποτελεσματική σε όρους αύξησης της απόδοσης των φοιτητών και μείωσης των ποσοστών αποχωρήσεων (Williams & Kessler, 2001). Αντίθετα είναι μικρός ο αριθμός των αντίστοιχων ερευνών στην δευτεροβάθμια εκπαίδευση (Denner, Werner, Campe & Ortiz, 2014). Το άρθρο διαρθρώνεται ως εξής: Η πρώτη ενότητα αναφέρεται στα προβλήματα που αντιμετωπίσουν οι αρχάριοι προγραμματιστές και τις ποικίλες ερευνητικές προσπάθειες για την αντιμετώπιση των προβλημάτων αυτών. Ακολούθως γίνεται μια αναλυτική παρουσίαση της μεθόδου του προγραμματισμού ανά ζεύγη ενώ παρατίθενται παραδείγματα εφαρμογής της μεθόδου αυτής στην τριτοβάθμια και στην δευτεροβάθμια εκπαίδευση. Ιδιαίτερη αναφορά γίνεται στον ρόλο του εκπαιδευτικού πληροφορικής για την επιτυχή υλοποίηση της μεθόδου αυτής. Στην επόμενη ενότητα γίνεται η αναλυτική περιγραφή της διδακτικής παρέμβασης, ενώ το άρθρο ολοκληρώνεται με την Πρακτικά Εργασιών 11 ου Πανελλήνιου Συνεδρίου Καθηγητών Πληροφορικής, Χαλκίδα 5-7 Μαΐου 2017
2 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής παρουσίαση των αποτελεσμάτων της παρέμβασης και τα συμπεράσματα που απορρέουν από την εφαρμογή της. Αρχάριοι προγραμματιστές Η διδασκαλία και εκμάθηση του προγραμματισμού είναι μια δύσκολη διαδικασία τόσο για τους εκπαιδευτικούς όσο και τους μαθητές (Ivanović, Xinogalos, Pitner & Savić, 2016). Η αποτυχία και τα υψηλά ποσοστά εγκαταλείψεων είναι συνήθη σε εισαγωγικά μαθήματα προγραμματισμού (Bennedsen & Caspersen, 2007; Hanks, Fitzgerald, McCauley, Murphy & Zander, 2011). Υπάρχουν σαφές ενδείξεις ότι η παραδοσιακή διδακτική προσέγγιση τόσο στα πανεπιστήμια όσο και στην δευτεροβάθμια εκπαίδευση είναι αναποτελεσματική (Jimoyiannis, 2013) καθώς υπάρχει πλήθος ερευνητικών στοιχείων ότι οι αρχάριοι προγραμματιστές έχουν σοβαρά προβλήματα στην κατανόηση ακόμη και των βασικών προγραμματιστικών εννοιών (Anfurrutia et al., 2016; Williams, McCrickard, Layman, & Hussein, 2008). Τις τρεις τελευταίες δεκαετίες, αρκετές ερευνητικές προσπάθειες και εκπαιδευτικές προσεγγίσεις έχουν επικεντρωθεί στη βελτίωση και προαγωγή της μαθησιακής διαδικασίας σε εισαγωγικά μαθήματα προγραμματισμού. Οι προσπάθειες σχετίζονται με την επιλογή της εισαγωγικής γλώσσας προγραμματισμού, τον τρόπο προσέγγισης των προγραμματιστικών εννοιών (objects-first, structuredfirst), την χρήση περιβαλλόντων και εργαλείων όπως προγραμματιστικούς μικρόκοσμους, εκπαιδευτικά παιχνίδια, εργαλεία οπτικοποίησης κ.ά. (Ivanović et al., 2016; Williams, et al., 2008). Οι διδακτικές προσεγγίσεις σχετίζονται με τον προγραμματισμό ανά ζεύγη, τη διερευνητική μάθηση, την προσέγγιση «Μαύρο-Κουτί» καθώς και την προσέγγιση που βασίζεται στις «Διερευνήσεις» (Γρηγοριάδου, Γόγουλου, Γουλή Σαμαράκου, 2004; Hanks et al., 2011). Προγραμματισμός ανά ζεύγη O προγραμματισμός ανά ζεύγη (pair programming - collaborative programming) είναι μια τεχνική ανάπτυξης λογισμικού σύμφωνα με την οποία 2 προγραμματιστές μοιράζονται έναν υπολογιστή καθώς εργάζονται συνεργατικά για την υλοποίηση ενός έργου λογισμικού (Hanks et al., 2011; Lui & Chan, 2006). Η τεχνική αυτή χρησιμοποιείται στη βιομηχανία λογισμικού ήδη από την δεκαετία του 70 (Jensen, 2003). Ωστόσο η τεχνική αυτή έγινε ιδιαίτερα δημοφιλής την τελευταία δεκαπενταετία όταν παρουσιάστηκε ως μέρος υλοποίησης μιας νέας μεθοδολογίας ανάπτυξης λογισμικού γνωστής ως Extreme Programming software development methodology (Zarb & Hughes, 2015). Η μεθοδολογία αυτή η οποία περιγράφεται και ως Extreme Programming (XP) προβλήθηκε ως απάντηση στις παραδοσιακές μεθόδους του καταρράκτη ή της σειριακής-ακολουθιακής διαδικασίας ανάπτυξης έργων (Beck, 2000; Hanks et al., 2011). Στην μεταφορά της τεχνικής αυτής στην εκπαίδευση, 2 μαθητές εργάζονται ομαδικά σε έναν κοινό υπολογιστή προκειμένου να ολοκληρώσουν ένα προγραμματιστικό έργο που τους έχει ανατεθεί. Ο ένας μαθητής είναι ο οδηγός (driver) και έχει τον έλεγχο του μολυβιού/ ποντικιού/πληκτρολογίου και συντάσσει τον κώδικα ή σχεδιάζει την διεπαφή (Williams, & Kessler, 2000a). Το άλλο πρόσωπο, ο παρατηρητής (observer) ή πλοηγός (navigator), συνεχώς και με κριτικό τρόπο εξετάζει την εργασία του οδηγού, κοιτώντας για ατέλειες, αναφέροντας εναλλακτικές λύσεις, αναζητώντας πόρους, κ.α. (Williams & Kessler, 2001) (Σχήμα 1). Σε γενικές γραμμές, σκοπός του παρατηρητή είναι ο εντοπισμός τακτικών και στρατηγικών ατελειών στο προς υλοποίηση έργο (Cockburn, & Williams, 2000). Παραδείγματα ελλείψεων-ατελειών τακτικής μορφής αποτελούν η λανθασμένη σύνταξη των εντολών, η ύπαρξη ορθογραφικών λαθών, ή ακόμη και «ήπιας μορφής» λογικών λαθών. Ένα παράδειγμα μιας στρατηγικής ανεπάρκειας είναι μια προτεινόμενη υλοποίηση που δεν σχετίζεται με τον ευρύτερο σχεδιασμό της εφαρμογής προγράμματος (Williams & Kessler, 2001). Οι ρόλοι του οδηγού και του παρατηρητή περιοδικά εναλλάσσονται μεταξύ των μαθητών κατά τη διάρκεια του μαθήματος (Cockburn, & Williams, 2000). Τα ζεύγη εφαρμόζουν μια μορφής θετικής πίεσης στα 2 μέλη, η οποία έχει αποδειχθεί χρήσιμη για την ποιότητα των παραγόμενων προϊόντων (McDowell, Werner, Bullock, Fernald, 2002; Williams & Kessler, 2000b).
Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις 3 Στον προγραμματισμό ανά ζεύγη ο ρόλος του παρατηρητή είναι ιδιαίτερα σημαντικός διότι έχοντας μια πιο αντικειμενική άποψη του παραγόμενου έργου, δρα στοχαστικά στον προς υλοποίηση κώδικα. Τα 2 μέλη ενθαρρύνονται να επικοινωνούν συνεχώς μεταξύ τους (Williams & Kessler, 2001). Και οι δυο συμμετέχοντες μπορούν να ανταλλάσσουν ιδέες και να συζητούν σε οποιοδήποτε στάδιο υλοποίησης του έργου. Στην ιδανική εφαρμογή της τεχνικής αυτής τα ζευγάρια είναι αρκετά δραστήρια καθώς επικοινωνούν, έστω και μέσα από μικρές φράσεις τουλάχιστον κάθε 45-60 δευτερόλεπτα (Williams, Kessler, Cunningham, & Jeffries, 2000; Williams, Yang, Wiebe, Ferzli, & Miller, 2002). Σχήμα 1. Απεικόνιση του ρόλου του οδηγού και παρατηρητή στον προγραμματισμό ανά ζεύγη (πηγή: https://goo.gl/djktmk) Παραδείγματα εφαρμογής στην Τριτοβάθμια Εκπαίδευση Στο εξωτερικό, ο προγραμματισμός ανά ζεύγη πειραματικά έχει χρησιμοποιηθεί κυρίως σε πανεπιστημιακά ιδρύματα σε εισαγωγικά μαθήματα προγραμματισμού και σε όλες τις περιπτώσεις τα αποτελέσματα συνηγορούν υπέρ της αποτελεσματικότητας της συγκεκριμένης μεθόδου σε σχέση με τον προγραμματισμό κατά μόνας (Williams & Kessler, 2001). Αρχικά χρησιμοποιήθηκε στο πανεπιστήμιο της Γιούτα (University of Utah) στις Ηνωμένες Πολιτείες στο τέλος της δεκαετίας του 90 (Williams & Kessler, 2000b). Τα ενθαρρυντικά αποτελέσματα από την εφαρμογή της τεχνικής αυτής οδήγησε και άλλα πανεπιστήμια στις ΗΠΑ στην υιοθέτηση της, όπως τα University of California UC-Santa Cruz, το Pace University Virginia Tech και το North Carolina State University (NCSU) (Williams et al., 2002; Williams, et al., 2008). Ειδικότερα η έρευνα στο University of California, Santa Cruz έδειξε ότι η προσέγγιση μπορεί να είναι ιδιαίτερα χρήσιμη για τους «αδύναμους» στον προγραμματισμό σπουδαστές (Hanks et al., 2011). Εκτός τις Ηνωμένες Πολιτείες, η προσέγγιση εφαρμόστηκε με τα ίδια θετικά αποτελέσματα και σε άλλες χώρες όπως το Ηνωμένο Βασίλειο, η Γερμανία, η Νέα Ζηλανδία, η Ινδία και η Ταϊλάνδη (Hanks et al., 2011) Σε γενικές γραμμές τα πλεονεκτήματα - οφέλη που αποφέρει η προσέγγιση αυτή στους φοιτητές περιλαμβάνει την βελτιωμένη απόδοση στις εργασίες και στις εξετάσεις, την αύξηση αυτοεκτίμησης, την βαθύτερη εννοιολογική κατανόηση των βασικών προγραμματιστικών εννοιών και την μείωση των ποσοστών πρόωρης εγκατάλειψης στα εισαγωγικά μαθήματα προγραμματισμού (Denner et al., 2014). Στην Ελλάδα δεν έχουν καταγραφεί αντίστοιχες ερευνητικές απόπειρες στον χώρο της Τριτοβάθμιας Εκπαίδευσης.
4 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Παραδείγματα εφαρμογής στη Δευτεροβάθμια Εκπαίδευση Ο Lewis (2011) αναφέρει ότι υπάρχουν καταγεγραμμένες τρεις προσπάθειες εφαρμογής του προγραμματισμού ανά ζεύγη στο χώρο της δευτεροβάθμιας εκπαίδευσης (Denner & Werner, 2007; Werner, Campe, & Denner, 2005; Werner & Denning, 2009). Και οι τρεις ερευνητικές προσπάθειες κατέγραψαν σημαντικά μαθησιακά οφέλη στους μαθητές ανεξαρτήτως φύλου και αλλαγή της στάσης τους προς το θετικότερο σε σχέση με την επιστήμη της πληροφορικής. Οι Denner et al. (2014) σε έρευνα που διεξήγαγαν σε 325 μαθητές ηλικίας 9 έως 13 ετών χρησιμοποιώντας το προγραμματιστικό περιβάλλον Alice κατέληξαν στο συμπέρασμα ότι οι μαθητές που εργάστηκαν ανά ζεύγη σημείωσαν περισσότερες επιτυχίες στην επίλυση των προβλημάτων στον υπολογιστή ενώ γενικότερα έδειξαν υψηλότερα κίνητρα στην ενασχόληση τους σε σχέση με τους συμμαθητές τους οι οποίοι εργάζονταν μόνοι τους. Τέλος οι Light, Littleton, Bale, Joiner, & Messer (2000) σε έρευνα που διεξήγαγαν διαπίστωσαν ότι ο προγραμματισμός ανά ζεύγη λειτουργεί ιδιαίτερα θετικά στα κορίτσια καθώς τονώνει την αυτοπεποίθηση τους και αυξάνει το ενδιαφέρον τους για την ενασχόληση με τους υπολογιστές. Αντίστοιχα με την τριτοβάθμια εκπαίδευση, και στην ελληνική δευτεροβάθμια εκπαίδευση δεν έχουν καταγραφεί ερευνητικές προσπάθειες. Τα πλεονεκτήματα και τα μειονεκτήματα που απορρέουν από την εφαρμογή της μεθόδου αυτής σε αρχαρίους προγραμματιστές τόσο στην τριτοβάθμια όσο και στην δευτεροβάθμια εκπαίδευση, όπως προκύπτουν από την ανασκόπηση της σχετικής βιβλιογραφίας (Williams, Yang, Wiebe, Ferzli, & Miller, 2002; Lewis, 2011) παρουσιάζονται στο σχήμα 2. Σχήμα 2. Πλεονεκτήματα και μειονεκτήματα από την εφαρμογή της μεθοδολογίας του προγραμματισμού ανά ζεύγη σε αρχαρίους προγραμματιστές Ο ρόλος του εκπαιδευτικού Πληροφορικής στον προγραμματισμό ανά ζεύγη Ο ρόλος του εκπαιδευτικού πληροφορικής για την επιτυχή υλοποίηση της μεθόδου αυτής είναι ιδιαίτερα σημαντικός. Σύμφωνα με την σχετική βιβλιογραφία (Hanks et al., 2011; Williams et al., 2002; Williams, et al., 2008) όταν ο εκπαιδευτικός επεξηγεί και ενισχύει το πρωτόκολλο επικοινωνίας μεταξύ των μαθητών σε τακτική βάση έχει αποδειχτεί ότι οι μαθητές είναι πιο δεκτικοί τόσο στην ανάληψη των ρόλων που τους αντιστοιχούν αλλά και στην ορθή υλοποίηση των υποχρεώσεων που απορρέουν από τους ρόλους που τους έχουν αντιστοιχηθεί. Επίσης οι μαθητές με μεγαλύτερη ευκολία
Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις 5 εναλλάσσουν τους ρόλους τους ακόμη και στα πλαίσια της ίδια διδακτικής ώρας. Αντίστροφα, στα εργαστήρια στα οποία οι εκπαιδευτικοί δεν επιμένουν στην τήρηση του πρωτοκόλλου διαμοιρασμού ρόλων και επικοινωνίας μεταξύ των ζευγών, οι μαθητές ξεχνούν να εναλλάσσονται στους 2 ρόλους καταλήγοντας εν τέλει σε ατομική εργασία μπροστά στον υπολογιστή. Επίσης η ανεξέλεγκτη επικοινωνία μεταξύ των ζευγών, μπορεί να καταλήξει σε ομαδική εργασία 2 ή περισσότερων ομάδων τις περισσότερες φορές με αρνητικά αποτελέσματα. Ως εκ τούτου ο εκπαιδευτικός προτού επιχειρήσει την εφαρμογή της μεθόδου αυτής θα πρέπει να έχει υπόψη του ότι οι μαθητές χρειάζονται εκπαίδευση προκειμένου επιτυχώς να συνεργαστούν ανά ζεύγη. Ενδεικτικά οι Williams et al. (2008) προτείνουν οι εκπαιδευτικοί προτού επιχειρήσουν να υλοποιήσουν την συγκεκριμένη μέθοδο, να προβάλλουν στους μαθητές τους ένα εκπαιδευτικό βίντεο 15λεπτης διάρκειας το οποίο βρίσκεται στην διεύθυνση http://agile.csc.ncsu.edu/pairlearning/. Ο εκπαιδευτικός καθόλη την διάρκεια της δραστηριότητας θα πρέπει συνεχώς να ελέγχει τα ζευγάρια προκειμένου να είναι σίγουρος ότι λειτουργούν αποτελεσματικά (Williams et al., 2002). Υπάρχουν αρκετές λύσεις τις οποίες ο εκπαιδευτικός μπορεί να χρησιμοποιήσει για την ευόδωση της προσπάθειας αυτής. Αρχικά στα πλαίσια του διδακτικού συμβολαίου ο εκπαιδευτικός μπορεί να ορίσει ότι θα επιβάλλονται «ποινές» στους μη επιμελείς μαθητές προκειμένου να προστατέψει ένα μαθητή από κάποιον άλλο ο οποίος δεν είναι «συνεργάσιμος». Στα πλαίσια αυτά, ο εκπαιδευτικός θα πρέπει να λαμβάνει υπόψιν του τις παρατηρήσεις και την ανατροφοδότηση των μαθητών σχετικά με την δράση των συμμαθητών τους. Στην κατεύθυνση αυτή, ο εκπαιδευτικός παρότι θα πρέπει να είναι πρόθυμος να απαντάει στις απορίες των μαθητών του, θα πρέπει αρχικά να ενθαρρύνει τα ζευγάρια να αναζητούν τις απαντήσεις στις απορίες τους με συλλογική εργασία (μεταξύ του ζεύγους). Τέλος, μια αρκετά αποτελεσματικά λύση, είναι η κατανομή των μαθητών ανά τακτά χρονικά διαστήματα σε διαφορετικά ζεύγη και όχι η δημιουργία ζευγών με την ίδια σύνθεση μαθητών για μεγάλα χρονικά διαστήματα ή καθόλη την διάρκεια της σχολικής χρονιάς. Επιπρόσθετα ο εκπαιδευτικός θα πρέπει να είναι ιδιαίτερα προσεκτικός και κατά την δημιουργία των ζευγαριών. Οι Williams et al. (2008) υποστηρίζουν ότι έχει βρεθεί ότι οι μαθητές προτιμούν να εργάζονται με μαθητές του ίδιου ή τουλάχιστον καλύτερου γνωστικού επιπέδου από αυτούς ενώ δυσλειτουργικά ζεύγη δημιουργούνται όταν οι εκπαιδευτικοί τοποθετούν μαθητές με διαφορετικά επίπεδα γνώσεων/δεξιοτήτων. Επίσης ο εκπαιδευτικός θα πρέπει να διαμορφώσει και τους κατάλληλους περιβαλλοντικούς παράγοντες στο εργαστήριο πληροφορικής. Θα πρέπει να φροντίσει κατάλληλα την διαμόρφωση του χώρου εργασίας ώστε οι μαθητές (ζεύγη) να είναι σε θέση να καθίσουν άνετα ο ένας δίπλα στον άλλο ενώ και τα 2 μέλη θα πρέπει να έχουν εύκολη πρόσβαση στην οθόνη, το πληκτρολόγιο και το ποντίκι (Hanks et al., 2011). Η μελέτη Προκειμένου να εξακριβωθεί η αποτελεσματικότητα του προγραμματισμού ανά ζεύγη σε σύγκριση με τον προγραμματισμό κατά μόνας επιλέχτηκε η εφαρμογή μιας πειραματικής παρέμβασης στους μαθητές της Α Λυκείου σε ένα επαρχιακό Γενικό Λύκειο στην περιφέρεια της Κρήτης. Το δείγμα Το δείγμα της έρευνας αποτελούσαν μαθητές οι οποίοι την σχολική χρονιά 2015-2016 ήταν κατανεμημένοι σε 2 τμήματα και είχαν επιλέξει να παρακολουθήσουν ως μάθημα επιλογής το μάθημα με τίτλο «Εφαρμογές Πληροφορικής». Στα πλαίσια διδασκαλίας της ενότητας «Προγραμματιστικά περιβάλλοντα δημιουργία εφαρμογών» διάρκειας 16 διδακτικών ωρών, με τυχαίο τρόπο οι μαθητές του πρώτου τμήματος αποφασίστηκε να χρησιμοποιηθούν ως ομάδα ελέγχου και να διδαχθούν τις βασικές προγραμματιστικές αρχές κατά μόνας (solo programming) ενώ οι μαθητές του δευτέρου τμήματος να αποτελέσουν την πειραματική ομάδα και να διδαχθούν τις βασικές προγραμματιστικές αρχές κατά ζεύγη (pair programming). Η ηλικία των μαθητών κυμαινόταν από 15 έως 16 έτη (μέσος όρος ). Το 46% ήταν αγόρια και το 54% κορίτσια. Οι δυο ομάδες ήταν ισοδύναμες ως προς την ηλικία, το φύλο και το πλήθος τους. Επίσης όλοι οι μαθητές προέρχονταν από το ίδιο Γυμνάσιο και ως εκ τούτου είχαν διδαχθεί τα ίδια περιβάλλοντα προγραμματισμού από τον ίδιο εκπαιδευτικό. Τέλος η
6 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής αξιολόγηση των γνώσεων των μαθητών σε σχέση με βασικές προγραμματιστικές έννοιες, έδειξε ότι και στον τομέα αυτό οι ομάδες ήταν ισοδύναμες. Η διαδικασία Παρότι στο βιβλίο της Α Λυκείου προτείνεται η εκμάθηση του App Inventor for Android (ΑΙΑ) και του Alice, για ποικίλους παιδαγωγικούς και πρακτικούς λόγους (Παπαδάκης & Ορφανάκης, 2015) προκρίθηκε η λύση του ΑΙΑ για την υλοποίηση της πειραματικής παρέμβασης. Το ΑΙΑ είναι ένα νέο δωρεάν διαδικτυακό οπτικό περιβάλλον προγραμματισμού με πλακίδια (blocks), για τη δημιουργία εφαρμογών για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Το ΑΙA αναπτύχθηκε από την εταιρεία Google σε συνεργασία με το Τεχνολογικό Ινστιτούτο της Μασαχουσέτης (ΜΙΤ) (Roy, 2012). Το ΑΙA ανακοινώθηκε για πρώτη φορά ως ένα μικρό έργο των εργαστηρίων της Google (Google Lab) στα τέλη του 2010. Στη συνέχεια, μεταφέρθηκε στο κέντρο για την εκμάθηση της φορητής μάθησης του MIT για δημόσια χρήση ως λογισμικό ανοικτού κώδικα. Προγραμματιστικά περιβάλλοντα τύπου «drag & drop» όπως το AIA, αντικαθιστούν τον προς συγγραφή κώδικα με οπτικά αντικείμενα, τα οποία επιλέγονται μέσω ενός μενού επιλογών, μειώνοντας το νοητικό φορτίο που απαιτείται για τη συγγραφή κώδικα και ταυτόχρονα βοηθώντας τους χρήστες να επικεντρωθούν στην επίλυση ενός προβλήματος (Brennan, 2009). Η παραπάνω προσέγγιση είναι ιδανική για αρχάριους στον προγραμματισμό χρήστες, καθώς τους προσφέρεται η δυνατότητα να επικεντρωθούν στη δομή των λύσεων παρά στη σύνταξη προγραμματιστικών εντολών (Papadakis, Kalogiannakis, Orfanakis & Zaranis, 2014). Τα ζεύγη στην πειραματική ομάδα (προγραμματισμός ανά ζεύγη) δημιουργήθηκαν από τον εκπαιδευτικό σύμφωνα με όσα αναφέρθηκαν στις προηγούμενες παραγράφους. Τα μέλη της πειραματικής και της ομάδας ελέγχου (προγραμματισμός κατά μόνας) καθ όλη την διάρκεια της παρέμβασης εργάστηκαν στην ίδια διδακτέα ύλη, μοιραζόμενες τα ίδια φύλλα δραστηριοτήτων τα οποία δημιουργηθήκαν από τον εκπαιδευτικό. Τα φύλλα δραστηριοτήτων ήταν διαμορφωμένα με τέτοιο τρόπο ώστε μέσω κατάλληλων παραδειγμάτων να εισάγουν τους μαθητές στις έννοιες που έπρεπε κλιμακωτά να διδαχθούν-κατανοήσουν. Αποτελούνταν από παραδείγματα βηματικής δημιουργίας εφαρμογών σύνταξης κώδικα καθώς και κλειστές ερωτήσεις κλιμακούμενης δυσκολίας. Τέλος, κάθε φύλλο δραστηριοτήτων εμπεριείχε και μια ανοικτού τύπου δραστηριότητα (πρόκληση) την οποία οι μαθητές έπρεπε να προσπαθήσουν να υλοποιήσουν και όπως είναι φυσικό απαιτούσε για την ολοκλήρωση της την κινητοποίηση του συνόλου των πρότερων προγραμματιστικών γνώσεων των μαθητών. Στη φάση σχεδιασμού της παρέμβασης είχε προβλεφθεί από τον εκπαιδευτικό οι απαιτούμενες γνώσεις να καλυφτούν μέσω της υλοποίησης 8 φύλλων δραστηριοτήτων. Ωστόσο προκειμένου ο εκπαιδευτικός να ανταποκριθεί στους διαφορετικούς ρυθμούς μάθησης των μαθητών, είχε δημιουργήσει μια δεξαμενή από πρόσθετες δραστηριότητες ώστε τα μέλη των δυο ομάδων ανάλογα τον προσωπικό ρυθμό μάθησης της να απασχολείται διαρκώς. Ως απόρροια τούτου, κατά μέσο όρο υλοποιήθηκαν 10 προκλήσεις ενώ υπήρχε ομάδα η οποία υλοποίησε 13 προκλήσεις. Στην πειραματική ομάδα ο εκπαιδευτικός επέβαλε στα μέλη των ομάδων να εναλλάσσουν ρόλους σχεδόν ανά 20 λεπτά, ώστε στα πλαίσια μιας διδακτικής ώρας και οι δυο μαθητές να έχουν υποδυθεί και τους δυο ρόλους. Αν οι μαθητές μιας ομάδας κατά την διάρκεια εναλλαγής ρόλων ήταν στα πρόθυρα ολοκλήρωσης μιας δραστηριότητας ή πρόκλησης ο εκπαιδευτικός ήταν πιο διαλλακτικός στην τήρηση του χρονικού ορίου των 20 λεπτών. Για την όσο το δυνατόν πιο ορθή λειτουργία των ομάδων ο εκπαιδευτής είχε ανακοινώσει στους μαθητές ότι ένα μέρος της βαθμολογίας τους θα διαμορφώνονταν και από την ενεργητική συμμετοχή τους μέσω των διακριτών τους ρόλων εντός της ομάδας. Στην ομάδα ελέγχου κάθε μαθητής δούλεψε ατομικά στην υλοποίηση των προκλήσεων. Αξιολόγηση Για την αξιολόγηση της αποτελεσματικότητας των 2 μεθόδων (προγραμματισμός ανά ζεύγη κατά μόνας) ο ερευνητής εφάρμοσε ποικίλες μεθόδους συλλογής δεδομένων. Καταρχήν ο ερευνητής συνέλεξε και μελέτησε ως προς την ορθότητα αλλά και την πολυπλοκότητα του τον κώδικα που δημιουργήσαν οι μαθητές στις 2 πειραματικές συνθήκες κατά την φάση ολοκλήρωσης των οκτώ
Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις 7 υποχρεωτικών προκλήσεων. Επίσης αξιοποίησε τα στοιχεία που προέκυψαν από την αξιολόγηση των τελικών γνώσεων που αποκόμισαν οι μαθητές μέσω της χρήσης ενός διαδικτυακού τεστ. Το τρίτο εργαλείο ήταν ένα κατάλληλα διαμορφωμένο ερωτηματολόγιο το οποίο δημιούργησε ο ερευνητής και τα οποίο έκανε χρήση της τετράβαθμης κλίμακας likert και το οποίο περιείχε ερωτήσεις σχετικά με τις γνώσεις των μαθητών και την στάση τους απέναντι στον προγραμματισμό. Στατιστική ανάλυση Για την αξιολόγηση του βαθμού απόκτησης των γνώσεων των μαθητών ο εκπαιδευτικός εξέτασε τις προκλήσεις τις οποίες οι μαθητές στις 2 ομάδες υλοποιήσαν κατά τη διάρκεια υλοποίησης της παρέμβασης. Όπως αναφέρθηκε οι μαθητές και στις δυο συνθήκες δεν υλοποίησαν τον ίδιο αριθμό δραστηριοτήτων. Ωστόσο και οι 2 ομάδες υλοποίησαν και τις 8 υποχρεωτικές δραστηριότητες. Ως εκ τούτου ο εκπαιδευτικός αφού ανέλυσε τα παραγόμενα αρχεία των μαθητών (.aia) προκειμένου να μελετήσει τον βαθμό ολοκλήρωσης των προκλήσεων, τον τρόπο υλοποίησης τους βαθμολόγησε τις προσπάθειες των μαθητών σε μια εκατοντάβαθμα κλίμακα. Η ανάλυση έδειξε ότι οι μαθητές στην πειραματική ομάδα, σημείωσαν υψηλότερη βαθμολογία σε όλες τις δραστηριότητες σε σχέση με τους συμμαθητές τους στην ομάδα ελέγχου. Πίνακας 1. Επιδόσεις των μαθητών ανά συνθήκη και πρόκληση Πρόκληση Προγραμματισμός ανά ζεύγη Προγραμματισμός κατά μόνας Μέση τιμή Τυπική απόκλιση Μέση τιμή Τυπική απόκλιση Πρόκληση1 90 7.2 85 8.5 Πρόκληση2 85 10.1 78 12 Πρόκληση3 88 9.3 81 10 Πρόκληση4 82 8.7 74 8.9 Πρόκληση5 75 9.1 70 9.8 Πρόκληση6 79 8.4 68 7.3 Πρόκληση7 78 8.9 70 8.1 Πρόκληση8 81 7.6 74 8.3 Σχήμα 1. Μέση βαθμολογία ανά πρόκληση για κάθε συνθήκη Εκτός από την αξιολόγηση των προκλήσεων που κατάφεραν να υλοποιήσουν οι μαθητές, αξιολογήθηκε και ο βαθμός απόκτησης των βασικών προγραμματιστικών γνώσεων των μαθητών. Στο τέλος της διδακτικής παρέμβασης οι μαθητές και των 2 ομάδων κλήθηκαν να απαντήσουν σε ένα
8 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής ηλεκτρονικό τεστ γνώσεων το οποίο περιλάμβανε όσα είχαν διδαχθεί στα προηγούμενα μαθήματα. Συγκεκριμένα χρησιμοποιήθηκε το Quiz Maker το οποίο σε συνδυασμό με το με το Quizly, επιτρέπει στον εκπαιδευτικό να δημιουργήσει, να διαμοιράσει ερωτήσεις σχετικές με το AIA αλλά και να αξιολογήσει την πρόοδο των μαθητών (Maiorana, Giordano & Morelli, 2015). Οι μαθητές στην πειραματική ομάδα (προγραμματισμός ανά ζεύγη) είχαν μια μέση επίδοση 78 ενώ οι μαθητές στην ομάδα ελέγχου (προγραμματισμός κατά μόνας) είχαν μια μέση επίδοση 71. Η εφαρμογή του στατιστικού κριτηρίου της ανάλυσης διακύμανσης μονής διακύμανσης έδειξε ότι η διαφορά στην επίδοση μεταξύ των δυο ομάδων ήταν στατιστικά σημαντική (F(1.10)=5.19, p<0.001). Ακολούθως θελήσαμε να εξακριβώσουμε αν η στάση των μαθητών για τον προγραμματισμό διαφοροποιείται σε σχέση με την συνθήκη στην οποία ανήκαν. Τα αποτελέσματα από την συμπλήρωση του ερωτηματολογίου παρουσιάζονται στον πίνακα 1. Πίνακας 1. Μέση τιμή και τυπική απόκλιση ανά συνθήκη Προτάσεις Ήταν δύσκολο να μάθω να χρησιμοποιώ το ΑΙΑ Ήταν δύσκολο να σχεδιάσω μια εφαρμογή με 2 κουμπιά Ήταν δύσκολο να εργαστώ με αρχεία ήχου σε μια εφαρμογή Ήταν δύσκολο να εργαστώ με αρχεία εικόνων σε μια εφαρμογή Ήταν δύσκολο να χρησιμοποιήσω την δομή επιλογής Ήταν δύσκολο να χρησιμοποιήσω την δομή επανάληψης Ήταν δύσκολο να δουλέψω με συμβάντα π.χ. πάτημα κουμπιού Ήταν δύσκολο να δημιουργήσω μια απλή εφαρμογή Ήταν δύσκολο να δημιουργήσω μια σύνθετη εφαρμογή Στο μέλλον θα ήθελα να παρακολουθήσω και άλλα μαθήματα προγραμματισμού Στο μέλλον θα ήθελα να ασχοληθώ με την πληροφορική Η ενασχόληση με τον προγραμματισμό ήταν μια ευχάριστη διαδικασία Μέση απάντηση (1: διαφωνώ, 4: συμφωνώ) Προγραμματισμός ανά ζεύγη Προγραμματισμός κατά μόνας Μέση τιμή Τυπική Απόκλιση Μέση τιμή Τυπική Απόκλιση 2.32 0.68 2.47 0.55 2.45 0.42 2.52 0.54 2.01 0.54 2.15 0.37 2.18 0.51 2.29 0.61 2.20 0.46 2.36 0.54 2.59 0.52 2.80 0.48 2.14 0.41 2.20 0.44 1.15 0.22 1.23 0.26 2.11 0.36 2.29 0.41 3.1 0.58 2.9 0.69 2.8 0.54 2.5 0.58 3.2 0.44 2.9 0.72 Σχολιασμός των αποτελεσμάτων Η ανάλυση των αποτελεσμάτων δείχνει ότι ο προγραμματισμός ανά ζεύγη συνέβαλε θετικά στην αύξηση του ενδιαφέροντος των μαθητών για τον προγραμματισμό ενώ φάνηκε ότι έδωσε μια πιο παιγνιώδη αίσθηση στην μαθησιακή διαδικασία. Σχετικά με την απόκτηση των γνώσεων των μαθητών οι μαθητές της πειραματικής συνθήκης σαφέστατα βελτίωσαν τις γνώσεις τους σε υψηλότερο βαθμό σε σχέση με τους μαθητές της ομάδας ελέγχου. Οι επισημάνσεις αυτές έρχονται σε συνάφεια με άλλες διεθνείς έρευνες οι οποίες δείχνουν ότι η χρήση της μεθόδου του προγραμματισμού ανά ζεύγη σε εισαγωγικά μαθήματα προγραμματισμού συμβάλει στην αύξηση των επιδόσεων των μαθητών καθώς και στην βελτίωση των στάσεων τους σε σχέση με τον προγραμματισμό (Denner & Werner, 2007; Werner, Campe, & Denner, 2005; Werner & Denning, 2009; Williams & Kessler, 2001; Williams et
Η Πληροφορική στην Πρωτοβάθμια και Δευτεροβάθμια Εκπαίδευση Σύγχρονες Διδακτικές Προσεγγίσεις 9 al., 2002). Οι μαθητές εργαζόμενοι σε ζεύγη υλοποίησαν πιο πολύπλοκες υπολογιστικές λύσεις στις προκλήσεις που τους δόθηκαν, διαπίστωση η οποία εξίσου είναι σύμφωνη με αντίστοιχες διεθνείς έρευνες (Hanks, 2008). Σημαντικό στοιχείο είναι ότι η παραπάνω διαφοροποίηση στις επιδόσεις των μαθητών είναι ανεξάρτητη του φύλου τους, γεγονός που φανερώνει την χρησιμότητα της μεθόδου αυτής για την προσέλκυση μαθητριών στον προγραμματισμό (Light et al., 2000). Σχετικά με την εκπαιδευτική διαδικασία, ο εκπαιδευτικός αφιέρωσε στην ομάδα του προγραμματισμού ανά ζεύγη περισσότερο χρόνο συζητώντας ποιο εξειδικευμένα θέματα με τους μαθητές ενώ λόγω του σχετικά περιορισμένου αριθμού ερωτήσεων μπορούσε να αποκρίνεται πιο γρήγορα στα αιτήματα των μαθητών. Αντίθετα στην ομάδα του προγραμματισμού κατά μόνας, οι ερωτήσεις των μαθητών ήταν πιο συχνές και πιο απλές και οι μαθητές έπρεπε να περιμένουν μέχρι και διπλάσιο χρόνο προκειμένου ο εκπαιδευτικός να αποκριθεί σε κάποιο αίτημα τους. Στην πειραματική ομάδα, οι μαθητές δεν αντιμετώπιζαν ιδιαίτερα προβλήματα στην εναλλαγή των ρόλων τους, παρότι δεν ακολουθούσαν πιστά το χρονικό μοτίβο εναλλαγής των 20 λεπτών που τους είχε τεθεί αρχικά. Επίλογος Η παρούσα εργασία θέλησε να διερευνήσει την αποτελεσματικότητα της μεθόδου του προγραμματισμού ανά ζεύγη σχετικά με την διδασκαλία των μαθητών της δευτεροβάθμιας εκπαίδευσης στα εισαγωγικά μαθήματα προγραμματισμού. Τα αποτελέσματα από την εφαρμογή της ήταν ενθαρρυντικά και θεωρούμε ότι οι μαθητές και οι μαθήτριες και οι εκπαιδευτικοί θα ωφεληθούν από την υιοθέτηση της συγκεκριμένης μεθόδου. Ωστόσο η ορθή της εφαρμογή απαιτεί μια ενδελεχής προετοιμασία από την πλευρά του εκπαιδευτικού και την κατάλληλη εκπαίδευση των μαθητώνμαθητριών. Στο διαδίκτυο υπάρχει ποιοτικό ψηφιακό υλικό διαθέσιμο δωρεάν το οποίο μπορεί να αξιοποιηθεί από τα μέλη της εκπαιδευτικής κοινότητας στην προσπάθεια αυτή. Το ερώτημα ωστόσο που τίθεται είναι αν θα υπάρχει τα προσεχή χρόνια το διδακτικό αντικείμενο της πληροφορικής στην δευτεροβάθμια εκπαίδευση προκειμένου οι εκπαιδευτικοί και οι μαθητές-μαθήτριες να επωφεληθούν από τέτοιες καινοτόμες μεθόδους. Αναφορές Anfurrutia, F. I., Álvarez, A., Larrañaga, M., & López-Gil, J. M. (2016). Incorporating educational robots and visual programming environments in introductory programming courses. International Symposium on Computers in Education (SIIE) (pp. 1-4). IEEE. Beck, K. (2000). Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley. Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming. ACM SIGCSE Bulletin, 39(2), 32-36. Brennan, K. (2009). Scratch-Ed: an online community for scratch educators. In A. Dimitracopoulou, C. O'Malley, D. Suthers & P. Reimann (Eds.). Proceedings of the 9th International Conference on Computer supported collaborative learning (CSCL'09), (Vol. 2) International Society of the Learning Sciences, (pp. 76-78). Cockburn, A., & Williams, L. (2000). The costs and benefits of pair programming. Extreme programming examined, 223-247. Denner, J., & Werner, L. (2007). Computer programming in middle school: How pairs respond to challenges. Journal of Educational Computing Research, 37, 131 150. Denner, J., Werner, L., Campe, S., & Ortiz, E. (2014). Pair Programming: Under What Conditions Is It Advantageous for Middle School Students?, Journal of Research on Technology in Education, 46(3), 277-296. Hanks, B., Fitzgerald, S., McCauley, R., Murphy, L., & Zander, C. (2011). Pair programming in education: a literature review. Computer Science Education, 21(2), 135-173. Ivanović, M., Xinogalos, S., Pitner, T., & Savić, M. (2016). Technology enhanced learning in programming courses international perspective. Education and Information Technologies, 1-23. Jimoyiannis, A. (2013). Using SOLO taxonomy to explore students mental models of the programming variable and the assignment statement. Themes in Science and Technology Education, 4(2), 53-74. Lewis, C. M. (2011). Is pair programming more effective than other forms of collaboration for young students?. Computer Science Education, 21(2), 105-134. Light, P., Littleton, K., Bale, S., Joiner, R., & Messer, D. (2000). Gender and social comparison effects in computerbased problem solving. Learning and Instruction, 10(6), 483-496.
10 11 ο Πανελλήνιο Συνέδριο Καθηγητών Πληροφορικής Lui, K. M., & Chan, K. C. (2006). Pair programming productivity: Novice novice vs. expert expert. International Journal of Human-computer studies, 64(9), 915-925. Maiorana, F., Giordano, D., & Morelli, R. (2015). Quizly: A live coding assessment platform for App Inventor. In Blocks and Beyond Workshop, pp. 25-30. IEEE. McDowell, C., Werner, L., Bullock, H., & Fernald, J. (2002). The effects of pair-programming on performance in an introductory programming course. ACM SIGCSE Bulletin, 34(1), 38-42. Papadakis, St., Kalogiannakis, M., Orfanakis, V., Zaranis, N. (2014). Novice Programming Environments. Scratch & App Inventor: a first comparison. In H. M. Fardoun and J. A. Gallud (Eds.) Proceedings of the 2014 Workshop on Interaction Design in Educational Environments (pp 1-7), New York: ACM. Roy, K. (2012). App inventor for android: report from a summer camp. In Proceedings of the 43rd ACM technical symposium on Computer Science Education (pp. 283-288). New York: ACM. Werner, L., & Denning, J. (2009). Pair programming in middle school: What does it look like? Journal of Research on Technology in Education, 42, 29 49. Werner, L.L., Campe, S., & Denner, J. (2005). Middle school girls + games programming = Information Technology fluency. In SIGITE (pp. 301 305). New York, NY: ACM. Williams, L. A. & Kessler, R. R. (2000a). All I Ever Needed to Know about Pair Programming I Learned in Kindergarten. Communications of the ACM, May 2000. Williams, L. A., & Kessler, R. R. (2000b). The Effects of "Pair-Pressure" and "Pair-Learning" on Software Engineering Education. Thirteenth Conference on Software Engineering Education and Training (CSEE&T 2000), pp. 59-65. Williams, L. A., & Kessler, R. R. (2001). Experiments with Industry's Pair-Programming Model in the Computer Science Classroom. Computer Science Education, 11(1), 7-20. Williams, L. A., Kessler, R. R., Cunningham, W., & Jeffries, R. (2000). Strengthening the case for pair programming. IEEE software, 17(4), 19. Williams, L. A., McCrickard, D. S., Layman, L., & Hussein, K. (2008). Eleven guidelines for implementing pair programming in the classroom. In Proceedings of the Agile 2008 Conference, pp. 445-452. IEEE. Williams, L. A., Yang, K., Wiebe, E., Ferzli, M., & Miller, C. (2002). Pair programming in an introductory computer science course: Initial results and recommendations. In OOPSLA Educator's Symposium, Seattle, WA. Williams, L., Wiebe, E., Yang, K., Ferzli, M., & Miller, C. (2002). In support of pair programming in the introductory computer science course. Computer Science Education, 12(3), 197-212. Zarb, M., & Hughes, J. (2015). Breaking the communication barrier: guidelines to aid communication within pair programming. Computer Science Education, 25(2), 120-151. Γρηγοριάδου, Μ., Γόγουλου, Α., Γουλή, Ε., & Σαμαράκου Μ. (2004). Σχεδιάζοντας 'Διερευνητικές + Συνεργατικές' δραστηριότητες σε εισαγωγικά μαθήματα προγραμματισμού. Στο Πολίτης Π. (Επιμ.), Πρακτικά 2ης Διημερίδας με Διεθνή Συμμετοχή με τίτλο: «Διδακτική της Πληροφορικής», (Βόλος, Ιανουάριος 2004), 86-96. Παπαδάκης, Στ. & Ορφανάκης, Β. (2015). Alice ή App Inventor. Ποιό Προγραμματιστικό Περιβάλλον να επιλέξω για τη Διδασκαλία του Προγραμματισμού στην Α Λυκείου; Στο Β. Δαγδιλέλης, Α. Λαδιάς, Κ. Μπίκος, Ε. Ντρενογιάννη & Μ. Τσιτουρίδου (Επιμ.), Πρακτικά Εργασιών 4ου Πανελλήνιου Συνεδρίου «Ένταξη των ΤΠΕ στην Εκπαιδευτική Διαδικασία» της Ελληνικής Επιστημονικής Ένωσης ΤΠΕ στην Εκπαίδευση (ΕΤΠΕ), Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης & Πανεπιστήμιο Μακεδονίας, Θεσσαλονίκη, 30 Οκτωβρίου - 1 Νοεμβρίου 2015. Jensen, R.W. (2003). A pair programming experience. CrossTalk, The Journal of Defense Software Engineering, 16(3), 22-24. Hanks, B. (2008a). Empirical evaluation of distributed pair programming. International Journal of Human Computer Studies, 66, 530 544.