Δραστηριότητες και εργαλεία υλικού και λογισμικού

Δραστηριότητες και εργαλεία υλικού και λογισμικού

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

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

Αντίστοιχα με τα κίνητρα των παραπάνω ομάδων, λοιπόν, η διδακτική αυτού του βιβλίου βασίζεται σε ανοιχτά προβλήματα από τις εφαρμοσμένες τέχνες, όπως είναι τα βιντεο-παιχνίδια, και αντίστοιχα με τον αγνωστικισμό απέναντι στα εργαλεία των παραπάνω ομάδων, το βιβλίο αυτό, στις υποενότητες των δραστηριοτήτων, προτρέπει τη χρήση πολυμεσικών εργαλείων οπτικού προγραμματισμού (π.χ., Scratch, Kodu, TouchDevelop, App Inventor), που είναι κατάλληλα ακόμη και για την πρωτοβάθμια εκπαίδευση, δηλαδή για κάποιον που δεν ξέρει καθόλου προγραμματισμό.

Στη συνέχεια, οι δραστηριότητες προχωρούν σταδιακά (π.χ., Processing) σε περισσότερο προχωρημένα εργαλεία λογισμικού (π.χ., OpenFrameworks) και υλικού (π.χ., Arduino, RaspberryPi), τα οποία θα επιτρέψουν προς τα τελευταία κεφάλαια, στον αναγνώστη, όχι μόνο να μάθει για νέες συσκευές και οικοσυστήματα διάδρασης, αλλά να οραματιστεί και να κατασκευάσει μόνος του δημιουργικές λύσεις σε νέα προβλήματα, που δεν μας είναι ακόμη γνωστά ή αρκετά σημαντικά. Άλλωστε, η εμβύθιση του αναγνώστη σε μια φιλοσοφία περισσότερο δημιουργική και παραγωγική παρά καταναλωτική είναι από τους βασικούς διδακτικούς στόχους αυτού του βιβλίου.