Η αποσύνθεση είναι μια θεμελιώδης δεξιότητα στην επιστήμη των υπολογιστών που είναι απαραίτητη για την ανάπτυξη της μακροπρόθεσμης κατανόησης των μαθητών σχετικά με τον τρόπο επίλυσης προβλημάτων κωδικοποίησης. Αυτό το άρθρο εξερευνά τι είναι η αποσύνθεση, γιατί είναι σημαντική και πώς να διευκολύνουμε την εκμάθηση της αποσύνθεσης από τους μαθητές.
Τι είναι η αποσύνθεση;
Η αποσύνθεση είναι η διαδικασία κατά την οποία ένα σύνθετο πρόβλημα διασπάται σε μικρότερα, πιο διαχειρίσιμα μέρη. Αυτό απλοποιεί τη διαδικασία δημιουργίας ενός έργου κωδικοποίησης, επιτρέποντας στους μαθητές να λύνουν ένα στοιχείο του προβλήματος κάθε φορά.
Γιατί είναι σημαντική η αποσύνθεση;
Όταν οι μαθητές αρχίζουν να μαθαίνουν προγραμματισμό, έρχονται αντιμέτωποι με την ανάγκη να σκεφτούν τη γλώσσα με έναν νέο και απαιτητικό τρόπο. Πρέπει να μεταβούν από την επικοινωνία στον προφορικό λόγο, ο οποίος είναι γεμάτος συμπεράσματα και αποχρώσεις, στην ακριβή και λογική δομή που απαιτείται στον προγραμματισμό. Αυτή η προσαρμογή είναι εξαιρετικά δύσκολη για τους μαθητές και συχνά εμποδίζει την επιτυχία τους. Η αποσύνθεση είναι μια κρίσιμη δεξιότητα στην επιστήμη των υπολογιστών που πρέπει να αποκτήσουν οι μαθητές για να μπορούν να προγραμματίζουν με επιτυχία, καθώς τους επιτρέπει να ξεκινούν με τον προφορικό λόγο και να τον βελτιώνουν μέχρι να γίνει κάτι που μπορεί να χρησιμοποιηθεί σε ένα έργο προγραμματισμού.
Η αποσύνθεση ενός προβλήματος επιτρέπει την επίλυσή του σε μικρά βήματα, συμβάλλοντας στο να μην γίνει υπερβολικό για τους μαθητές. Όταν οι μαθητές αναλύουν τα προβλήματα σε μικρότερα μέρη πριν ξεκινήσουν τον προγραμματισμό, μπορούν στη συνέχεια να δημιουργήσουν κάθε μικρό τμήμα ενός έργου και να το δοκιμάσουν για να βεβαιωθούν ότι λειτουργεί όπως αναμένεται, πριν προχωρήσουν στο επόμενο μέρος. Αυτό είναι πολύ πιο εύκολο από το να προσπαθείς να κωδικοποιήσεις όλα τα βήματα που απαιτούνται για την επίτευξη ενός στόχου ταυτόχρονα και αποτρέπει τους μαθητές από την απογοήτευση να χαθούν σε ένα μακρύ έργο όταν προσπαθούν να αντιμετωπίσουν σφάλματα.
Η διαδικασία της αποσύνθεσης δίνει επίσης στους μαθητές μια συστηματική προσέγγιση στην κατασκευή ενός έργου, εξαλείφοντας τον πειρασμό που μπορεί να έχουν να μαντέψουν και να ψάξουν για μια λύση. Η εικασία και ο έλεγχος είναι ένας αναποτελεσματικός τρόπος επίλυσης ενός προβλήματος και καθίσταται αναποτελεσματικός καθώς οι μαθητές αρχίζουν να ασχολούνται με όλο και πιο σύνθετες προκλήσεις κωδικοποίησης.
Επιπλέον, η αποσύνθεση ενός έργου επιτρέπει στους μαθητές να εντοπίζουν μοτίβα στον κώδικά τους και να βασίζονται σε, να τροποποιούν και να επαναχρησιμοποιούν τμήματα κώδικα. Αυτό διευκολύνει τόσο την κατασκευή έργων όσο και την αντιμετώπιση προβλημάτων, παρέχοντας παράλληλα στους μαθητές μια βαθύτερη κατανόηση του κώδικα που δημιουργούν, επιτρέποντάς τους να χρησιμοποιήσουν αυτήν την κατανόηση σε μελλοντικά έργα.
Τέλος, η αποσύνθεση διευκολύνει επίσης τη συνεργασία μεταξύ των μαθητών καθώς συνεργάζονται για να δημιουργήσουν έργα ρομποτικής σε ομάδες. Ένα αποσυντεθειμένο έργο που καταγράφεται σε ένα σημειωματάριο μηχανικής παρέχει ένα τεχνούργημα που μπορούν να χρησιμοποιήσουν οι μαθητές όταν συζητούν ομαδικά έργα ή όταν τα μοιράζονται με άλλες ομάδες.
Διευκόλυνση της αποσύνθεσης
Η αποσύνθεση συμβαίνει όταν οι μαθητές βρίσκονται στο στάδιο του σχεδιασμού, πριν καν αρχίσουν να αναπτύσσουν τα έργα τους. Οι μαθητές θα πρέπει να καταγράψουν τη διαδικασία αποσύνθεσης στα σημειωματάρια μηχανικής τους και να τη μοιραστούν μαζί σας πριν ξεκινήσουν τον προγραμματισμό. Για περισσότερες πληροφορίες σχετικά με τη χρήση σημειωματάριων μηχανικής με μαθητές, ανατρέξτε σε αυτό το άρθρο.
Δώστε στους μαθητές αυτό το απλό πλαίσιο τριών βημάτων για την προσέγγιση της αποσύνθεσης:
- Προσδιορίστε τον κύριο στόχο του έργου αναφέροντας το αποτέλεσμα που θα επιδείξει το ρομπότ όταν το έργο είναι επιτυχές. Καταγράψτε αυτόν τον στόχο στο σημειωματάριο μηχανικής.
- Προσδιορίστε τα κύρια βήματα που πρέπει να κάνει το ρομπότ για να επιτύχει τον στόχο. Σκεφτείτε και καταγράψτε τα κύρια ή γενικά βήματα που θα πρέπει να ολοκληρώσει το ρομπότ για να επιτύχει τον στόχο. Καταγράψτε αυτά τα βήματα υψηλού επιπέδου στο σημειωματάριο μηχανικής.
-
Χωρίστε τα κύρια βήματα στις μικρότερες δυνατές αυξήσεις συμπεριφοράς του ρομπότ. Χωρίστε κάθε ένα από τα κύρια βήματα στη μικρότερη δυνατή συμπεριφορά που μπορεί να ολοκληρώσει το ρομπότ. Καταγράψτε αυτά τα αναλυτικά βήματα στο σημειωματάριο μηχανικής.
- Κάθε μία από τις συμπεριφορές του ρομπότ θα πρέπει να μπορεί να αντιστοιχιστεί με ένα αντίστοιχο μπλοκ ή εντολή. Εάν όχι, τα βήματα μπορούν να αναλυθούν περαιτέρω.
Σε αυτό το παράδειγμα, οι μαθητές αναλύουν ένα έργο για να ολοκληρώσουν έναν λαβύρινθο στο VEXcode VR Wall Maze + Playground.
Βήμα 1: Προσδιορίστε τον κύριο στόχο του έργου. Καταγράψτε τον στόχο στο σημειωματάριο μηχανικής.
Βήμα 2: Προσδιορίστε τα κύρια βήματα που πρέπει να κάνει το ρομπότ για να επιτύχει τον στόχο.
- Εδώ, ο μαθητής έχει σκεφτεί όλες τις συμπεριφορές που θα πρέπει να ακολουθήσει το ρομπότ για να οδηγήσει από το σημείο εκκίνησης μέχρι το σημείο τερματισμού του λαβυρίνθου και τις έχει καταγράψει με τη σειρά στο σημειωματάριο μηχανικής.
Βήμα 3: Χωρίστε τα κύρια βήματα στις μικρότερες αυξήσεις της συμπεριφοράς του ρομπότ.
- Οι μαθητές μπορούν να αρχίσουν να καθορίζουν τις κατά προσέγγιση τιμές που απαιτούνται για την ολοκλήρωση κάθε βήματος. Αυτές οι τιμές θα πρέπει να ελεγχθούν και να προσαρμοστούν κατά την κατασκευή του έργου στο VEXcode.
- Οι μαθητές θα πρέπει να ελέγξουν ότι κάθε αναλυμένο βήμα αντιστοιχεί άμεσα σε ένα μπλοκ VEXcode. Εάν όχι, το βήμα πρέπει να αναλυθεί περαιτέρω.
Μόλις οι μαθητές αναλύσουν το έργο τους σε επίπεδο μεμονωμένων μπλοκ ή εντολών, μπορούν να προχωρήσουν από το στάδιο του σχεδιασμού του έργου στο στάδιο της υλοποίησης. Θα πρέπει να μεταφέρουν τα κύρια βήματα που καθορίστηκαν στο βήμα 2 στα Σχόλια και, στη συνέχεια, να προσθέσουν τα αντίστοιχα μπλοκ ή εντολές για κάθε πλήρως αποσυντιθέμενη συμπεριφορά από το βήμα 3 σε καθένα από αυτά τα Σχόλια, προκειμένου να δημιουργήσουν τα έργα τους.
Οι μαθητές θα πρέπει να δημιουργούν τα έργα τους βήμα προς βήμα, δοκιμάζοντας κάθε συμπεριφορά (ή λογικά ομαδοποιημένο σύνολο συμπεριφορών) πριν προχωρήσουν στην επόμενη. Σε αυτό το στάδιο οι μαθητές θα χρειαστεί να χρησιμοποιήσουν τους πόρους που έχουν στη διάθεσή τους για να προσδιορίσουν τις σωστές τιμές των παραμέτρων. Για παράδειγμα, στο παραπάνω παράδειγμα VEXcode VR, οι τιμές απόστασης προσδιορίστηκαν χρησιμοποιώντας τη γνώση ότι κάθε τετράγωνο λαβυρίνθου έχει διάμετρο 300 mm. Η μέθοδος για τον προσδιορισμό των τιμών θα ποικίλλει ανάλογα με την περίσταση, αλλά θα είναι πάντα απαραίτητο να ελέγχονται και να προσαρμόζονται οι τιμές κατά τη διάρκεια της διαδικασίας δημιουργίας ενός έργου κωδικοποίησης.
Υποστήριξη των μαθητών καθώς μαθαίνουν την αποσύνθεση
Πριν οι μαθητές αρχίσουν να εργάζονται σε μια πρόκληση από ένα STEM Lab ή άλλο έργο VEXcode, αφιερώστε χρόνο για να επεξεργαστείτε μόνοι σας την αποσύνθεση, ώστε να είστε έτοιμοι να απαντήσετε σε ερωτήσεις που μπορεί να έχουν οι μαθητές. Ενθαρρύνετε τους μαθητές να σας δείξουν το αναλυμένο σχέδιο για το έργο τους πριν ξεκινήσουν να γράφουν κώδικα, ώστε να ενισχύσετε τη διαδικασία της αναλυόμενης εργασίας και να βεβαιωθείτε ότι έχουν αναλύσει την εργασία στις μικρότερες δυνατές συμπεριφορές ρομπότ. Υπενθυμίστε στους μαθητές ότι θα πρέπει να είναι σε θέση να αναγνωρίσουν ένα μπλοκάρισμα ή μια εντολή που αντιστοιχεί σε κάθε συμπεριφορά.
- Εάν οι μαθητές δυσκολεύονται να φανταστούν τα κύρια ή τα συνολικά βήματα που πρέπει να κάνει το ρομπότ για να επιτύχει τον στόχο του έργου, ενθαρρύνετέ τους να:
- Σχεδιάστε τη διαδρομή που πρέπει να ακολουθήσει το ρομπότ για να επιτύχει τον στόχο.
- Αναπαραστήστε τα βήματα που πρέπει να κάνει το ρομπότ για να επιτύχει τον στόχο.
- Περιγράψτε τα βήματα που πρέπει να κάνει το ρομπότ για να επιτύχει τον στόχο.
- Αν οι μαθητές δυσκολεύονται να προσδιορίσουν αν τα βήματά τους έχουν αναλυθεί σε επίπεδο μεμονωμένου μπλοκ ή εντολής, ρωτήστε τους:
- Πόσα μπλοκ ή εντολές θα χρειάζονταν για να ολοκληρώσει το ρομπότ αυτή τη συμπεριφορά;
- Μπορεί το ρομπότ να ολοκληρώσει αυτό το βήμα χρησιμοποιώντας μόνο ένα μπλοκ ή μια εντολή;
- Πώς μπορείτε να αποσυνθέσετε αυτή τη συμπεριφορά σε ακόμη μικρότερες ρομποτικές ενέργειες;
Υποστηρίζοντας τους μαθητές σας καθώς μαθαίνουν να αναλύουν, θα διασφαλίσετε ότι έχουν μια σταθερή βάση για μελλοντική επίλυση προβλημάτων στην επιστήμη των υπολογιστών.
Έχετε περισσότερες ερωτήσεις σχετικά με τη διευκόλυνση της εκμάθησης της αποσύνθεσης από τους μαθητές στην τάξη σας; Ζητήστε τους από την Κοινότητα PD+ή να προγραμματίσουν μια ατομική συνεδρία για να μιλήσουν με έναν ειδικό VEX.