Τον Αύγουστο, ανακοινώσαμε τη συνεργασία μας με τον James Evans και τον Gary Lupyan, για να ερευνήσουμε πώς η προγραμματιστική εμπειρία των ανθρώπων επηρεάζει τον τρόπο που μαθαίνουν γλώσσες προγραμματισμού.
Νωρίτερα αυτόν τον μήνα περάσαμε λίγο χρόνο συναντώντας τον James και τον Gary και σχεδιάζοντας πώς θα πετύχουμε κάποιους από τους ευρύτερους ερευνητικούς τους στόχους, παράλληλα με τον επανασχεδιασμό των track του Exercism που συζήτησα στην προηγούμενη ανάρτηση. Ήταν ξεκάθαρο ότι υπάρχουν πολλοί τομείς όπου το Exercism θα μπορεί να βοηθήσει την έρευνά τους, αλλά ότι αυτοί μπορεί να μην ταιριάζουν άμεσα στο βασικό προϊόν του Exercism. Αποφασίσαμε λοιπόν να δημιουργήσουμε έναν νέο τομέα του Exercism, ειδικά αφιερωμένο στην έρευνα, με το (καθόλου ευφάνταστο) όνομα Exercism Research. Αυτός ο υποϊστότοπος θα φιλοξενεί πειράματα που στοχεύουν στη συλλογή δεδομένων για έναν συγκεκριμένο ερευνητικό στόχο. Τα πειράματα θα έχουν επίσης το πρόσθετο πλεονέκτημα να μας επιτρέπουν να δοκιμάζουμε νέες τεχνολογίες σε ένα λιγότερο κρίσιμο κομμάτι του ιστότοπου.
Το πρώτο πείραμα, που στοχεύουμε να ξεκινήσουμε την πρώτη εβδομάδα του Ιανουαρίου, θα επικεντρώνεται στη διερεύνηση του πώς η προηγούμενη προγραμματιστική εμπειρία κάποιου επηρεάζει την επαναχρησιμοποιησιμότητα του κώδικα που παράγει σε διαφορετικές γλώσσες. Το πείραμα θα έχει την εξής δομή:
- Οι χρήστες θα κληθούν να συμπληρώσουν ένα σύντομο ερωτηματολόγιο που περιγράφει την προγραμματιστική τους εμπειρία (π.χ. τις γλώσσες που ξέρουν, τη σειρά με την οποία τις έμαθαν και την ευχέρειά τους σε καθεμία).
- Στη συνέχεια, οι χρήστες θα έχουν να επιλέξουν ανάμεσα σε X γλώσσες για να συμμετάσχουν. Δεν έχει σημασία πόσο καλά ξέρει ο χρήστης τη γλώσσα ή τις γλώσσες που θα επιλέξει: η ποικιλία στις προηγούμενες γνώσεις θα βοηθήσει στο εύρος των δεδομένων που θα συλλεχθούν.
- Ο χρήστης θα λάβει μια άσκηση να ολοκληρώσει, η οποία θα διαρκεί περίπου 10-15 λεπτά.
- Στη συνέχεια, ο χρήστης θα λάβει τη λύση κάποιου άλλου σε μια διαφορετική άσκηση και θα του ζητηθεί να την επεκτείνει με συγκεκριμένο τρόπο. Αυτό θα διαρκεί επίσης 10-15 λεπτά. Μετά από κάθε βήμα, θα κάνουμε στον χρήστη ερωτήσεις για το πόσο δύσκολη του φάνηκε η άσκηση ή η επέκταση.
Οι ομάδες του Gary και του James θα επεξεργαστούν μετά τα δεδομένα, διερευνώντας πώς ο κώδικας που υποβλήθηκε διαφέρει ανάλογα με τα διαφορετικά υπόβαθρα, και πώς οι επεκτάσεις άλλαξαν με βάση τόσο το υπόβαθρο εκείνου που έκανε την αρχική υποβολή όσο και εκείνου που έκανε την επέκταση.
Αυτό το πείραμα θα είναι το πρώτο πεδίο δοκιμών για τον νέο μας προγραμματισμό μέσα στον browser, πριν αυτός ενσωματωθεί στον κύριο ιστότοπο το 2020. Ελπίζουμε να συμμετάσχουν στο πείραμα 5-10 γλώσσες. Για να λάβει μέρος ένα track, θα χρειάζεται έναν λειτουργικό test-runner και δύο ασκήσεις για τα δύο μέρη, τις οποίες θα βοηθήσουμε τους maintainers να δημιουργήσουν. Αν είσαι maintainer και σε ενδιαφέρει να είναι η γλώσσα σου μέρος αυτού, μπες στο κανάλι #experiment-1 στο Slack και πες μας.