Σκεφτείτε μόνοι σας εάν θέλετε το AI να σας διδάξει πώς να κωδικοποιείτε

Σκεφτείτε μόνοι σας εάν θέλετε το AI να σας διδάξει πώς να κωδικοποιείτε

Κόμβος πηγής: 3087147

Χαρακτηριστικό Η εκμάθηση του προγραμματισμού είναι ίσως τώρα πιο εύκολη από ποτέ με την τεχνητή νοημοσύνη, αν και τα εργαλεία που προτείνουν ή δημιουργούν πηγαίο κώδικα για εσάς πρέπει να χρησιμοποιούνται με σύνεση. 

Ο προγραμματισμός απαιτεί υπομονή και επιμονή, ειδικά στην αρχή της μαθησιακής διαδικασίας όταν τίποτα δεν έχει νόημα. Οι κανόνες για τη σύνταξη κώδικα φαίνονται μπερδεμένοι. Υπάρχουν όλων των ειδών τα σημεία στίξης και τα σύμβολα που πρέπει να χρησιμοποιούνται προσεκτικά. Η έλλειψη άνω και κάτω τελείας ή κόμματος ή η παραβίαση της εσοχής μπορεί να οδηγήσει σε σφάλματα, ανάλογα με τη γλώσσα που χρησιμοποιείται. Με τον καιρό, με αρκετή εξάσκηση, κάνει κλικ στη θέση του.

Όπως οι περισσότεροι αρχάριοι που μαθαίνουν πώς να κωδικοποιούν διαδικτυακά, ξεκίνησα παρακολουθώντας μαθήματα και λύνοντας προβλήματα σε σετ ασκήσεων προγραμματισμού. Όταν κολλούσα σε ένα πρόβλημα, ήταν πολύ δελεαστικό να στραφώ στο ChatGPT, το οποίο θα με βοηθούσε εύκολα να μεταβώ στη σωστή λύση. Αυτοί οι τύποι βοηθών είναι καλοί στη δημιουργία απλού κώδικα και μερικοί από αυτούς μπορούν ακόμη και να σας δώσουν μια πλήρη απάντηση όπως ακριβώς την περιγράφετε.

Το συνειδητοποίησα όταν παλεύω με την υλοποίηση μιας συγκεκριμένης συνάρτησης και απενεργοποίησα τη δυνατότητα αυτόματης συμπλήρωσης του GitHub Copilot στον κώδικα του Visual Studio για να σταματήσω την εξαπάτηση.

Μην κάνετε απλώς αντιγραφή και επικόλληση

David Malan, καθηγητής επιστήμης υπολογιστών στο Πανεπιστήμιο του Χάρβαρντ που διδάσκει το CS50, ένα δημοφιλές εισαγωγικό μάθημα επιστήμης υπολογιστών (που μπορεί να παρακολουθηθεί δωρεάν διαδικτυακά (online)), συμφώνησε ότι η τεχνητή νοημοσύνη μπορεί να είναι λίγο πολύ χρήσιμη μερικές φορές. 

Για να αποτρέψουν τους μαθητές να χρησιμοποιήσουν εργαλεία όπως το ChatGPT του OpenAI ή το Bard της Google για να ολοκληρώσουν τις εργασίες τους, οι δάσκαλοι τους πρόσφεραν μια εναλλακτική λύση: μια εικονική λαστιχένια πάπια. Το CS50 duck είναι ένα ρομπότ συνομιλίας κωδικοποίησης που τροφοδοτείται από το GPT-4, αλλά διαθέτει προστατευτικά κιγκλιδώματα που εμποδίζουν τους μαθητές να εξαπάτησης.

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

Το πρόγραμμα εντοπισμού σφαλμάτων CS50 duck αποτελεί φόρο τιμής σε αυτό: το bot έχει σχεδιαστεί για να είναι φιλικό και υποστηρικτικό, απαντά μόνο σε ερωτήματα που σχετίζονται με το μάθημα και δεν παρέχει απαντήσεις σε προβλήματα εργασίας, είπε ο Malan Το μητρώο

«Η πολιτική μας στην αρχή του μαθήματος είναι ότι οι μαθητές δεν επιτρέπεται να χρησιμοποιούν λογισμικό τρίτων όπως το ChatGPT και το Copilot. τείνουν απλώς να είναι πολύ βοηθητικοί, πολύ πρόθυμοι να παρέχουν στους μαθητές λύσεις ξεκάθαρα αντί να τους καθοδηγούν προς αυτές, όπως θα μπορούσε ένας καλός δάσκαλος. Αλλά οι μαθητές επιτρέπεται και ενθαρρύνονται να χρησιμοποιούν το λογισμικό που βασίζεται στην τεχνητή νοημοσύνη του CS50, το οποίο διαθέτει αυτά τα παιδαγωγικά προστατευτικά κιγκλιδώματα», είπε.

Η πάπια CS50 παρουσιάστηκε πέρυσι και τα σχόλια ήταν κυρίως θετικά. Η ύπαρξη ενός εικονικού δάσκαλου σημαίνει ότι οι μαθητές μπορούν να ζητήσουν βοήθεια όποτε θέλουν. Αλλά όπως όλα τα μοντέλα AI, μπορεί να κάνει λάθη και δεν είναι πάντα ακριβές. Οι αρχικές δοκιμές έδειξαν ότι ήταν σε θέση να απαντήσει σωστά περίπου στο 88 τοις εκατό των ερωτήσεων που σχετίζονται με το πρόγραμμα σπουδών. 

Το bot κωδικοποίησης είναι επίσης χρήσιμο για εκπαιδευτές. τους δίνει περισσότερο χρόνο να βοηθήσουν τους μαθητές σε άλλους τομείς πέρα ​​από την εργασία για το σπίτι. Σε μια ερευνητική εργασία [PDF] αναλύοντας τον αντίκτυπο του προγράμματος εντοπισμού σφαλμάτων πάπιας, οι δάσκαλοι στο Χάρβαρντ είπαν ότι το πείραμά τους για τη δημιουργία ενός εικονικού βοηθού κωδικοποίησης AI απέδωσε καρπούς. Πιστεύουν ότι «η γενετική τεχνητή νοημοσύνη [μπορεί] να ενισχύσει τη μάθηση των μαθητών, όχι απλώς να τη διαταράξει» και εξετάζουν τρόπους που η τεχνολογία μπορεί να εφαρμοστεί σε άλλα μαθήματα.

Εξοικονομήστε χρόνο με λιγότερο Google

Για ό,τι αξίζει, το ακαδημαϊκό μου υπόβαθρο είναι στη φυσική και τη επιστημονική δημοσιογραφία, και όχι στην επιστήμη των υπολογιστών. Άρχισα να μαθαίνω πώς να κωδικοποιώ λίγο πριν απογειωθεί η τελευταία γενιά ρομπότ συνομιλίας. Στο παρελθόν προσπαθούσα να κατανοήσω τις έννοιες του λογισμικού ή να διορθώσω σφάλματα διαβάζοντας αναρτήσεις ιστολογίου ή αναζητώντας παραδείγματα παρόμοιου κώδικα σε ιστότοπους όπως το Stack Overflow. Το AI μου επιτρέπει να συντομεύσω αυτήν τη διαδικασία.

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

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

«Νομίζω ότι αν κάποιος ήθελε να μάθει να κωδικοποιεί [χρησιμοποιώντας την τρέχουσα] περικοπή εργαλείων τεχνητής νοημοσύνης, θα πρέπει να το προσεγγίσει με δύο στόχους: Αφιερώστε χρόνο για να μάθει να κωδικοποιεί αρκετά ώστε να γνωρίζει τι δημιουργεί το εργαλείο. [Και] υιοθετήστε το ρόλο του «αναθεωρητή κώδικα» και μελετήστε πώς να εντοπίσετε και να βελτιώσετε τον κακό κώδικα», ο Zed Shaw, προγραμματιστής λογισμικού και συγγραφέας του Μάθετε την Python τον σκληρό τρόπο, είπε στους Το μητρώο

Οι προγραμματιστές θα πρέπει να μπορούν να εντοπίζουν λάθη στον μηχανικό κώδικα και δεν θα πρέπει να εμπιστεύονται πλήρως τα ρομπότ. "Το γεγονός ότι το ChatGPT δίνει λύσεις πιο γρήγορα τυλιγμένες σε καθησυχαστικές φράσεις όπως "νομίζω ότι αυτό θα πρέπει να λύσει το πρόβλημά σας..." το κάνει έτσι απενεργοποιούμε την κριτική μας σκέψη και δεν αμφισβητούμε τις λύσεις του τόσο προσεκτικά όσο θα έπρεπε", είπε ο Charles. Severance, καθηγητής πληροφορικής στο University of Michigan School of Information, ο οποίος έχει κυκλοφόρησε δωρεάν online μαθήματα κωδικοποίησης.

«Πάντα να υποθέτετε ότι το ChatGPT είναι ένας λιγότερο εξειδικευμένος προγραμματιστής από εσάς. Ο μόνος ασφαλής τρόπος χρήσης εργαλείων AI είναι όταν είστε σίγουροι ότι η λύση που παράγει είναι σωστή», πρόσθεσε. 

Πρέπει να ξέρεις τι κάνεις

Για να χρησιμοποιήσετε αποτελεσματικά αυτά τα εργαλεία, πρέπει να κατανοήσετε το πρόβλημά σας και να το εξηγήσετε με σαφήνεια στην προτροπή σας. Η ποιότητα του κωδικού που επιστρέφεται στην έξοδο εξαρτάται από τον τρόπο που πλαισιώνετε τις ερωτήσεις σας στην είσοδο, είπε ο Inbal Shani, επικεφαλής προϊόντων στο GitHub. Το μητρώο.

Οι χρήστες θα πρέπει να αλληλεπιδρούν με GitHub Copilot σαν να μιλούσαν με συνάδελφο, του πρότεινε. «Όσο περισσότερες λεπτομέρειες δίνετε σε αυτόν τον βοηθό που κάθεται δίπλα σας σχετικά με την πρόθεσή σας, πού πηγαίνετε για το πρόβλημα που προσπαθείτε να λύσετε, τόσο καλύτερη απάντηση θα λάβετε επειδή η τεχνητή νοημοσύνη αποκτά περισσότερο πλαίσιο. Ξέρει πώς να κάνει μια πιο λεπτομερή αναζήτηση για να βρει το σωστό κομμάτι κώδικα ή να προτείνει τη σωστή υποδομή δοκιμών για εσάς», είπε. 

Οι γλώσσες προγραμματισμού που χρησιμοποιούμε έχουν ευθυγραμμιστεί περισσότερο με την ανθρώπινη γλώσσα. Τα εργαλεία συνομιλίας είναι απλώς το επόμενο βήμα σε αυτήν την εξέλιξη

Ο Phillip Compeau, επίκουρος καθηγητής στο Πανεπιστήμιο Carnegie Mellon, ο οποίος δημιούργησε το Rosalind πλατφόρμα και Προγραμματισμός για Εραστές σεμινάριο, για άτομα που ενδιαφέρονται για την υπολογιστική βιολογία, συμφωνήθηκε.

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

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

Το να καταλάβετε τι θέλετε να κάνει το πρόγραμμά σας, πώς πρέπει να λειτουργεί και πού πήγε στραβά, είναι ζωτικής σημασίας για την κωδικοποίηση. Οι μαθητές μπορούν να οικοδομήσουν αυτές τις βασικές δεξιότητες με την πάροδο του χρόνου μόνο με συνεπή πρακτική. Δεν μπορείτε να παραλείψετε αυτή τη διαδικασία βασιζόμενοι στην τεχνητή νοημοσύνη, εάν θέλετε να είστε ικανός προγραμματιστής λογισμικού. Αλλά αν το χρησιμοποιήσετε με σύνεση, μπορείτε να βελτιωθείτε γρήγορα και να γίνετε καλός προγραμματιστής – και ίσως να είναι και διασκεδαστικό. ®

Σφραγίδα ώρας:

Περισσότερα από Το μητρώο