Με αγάπη από την Stepik: Εκπαιδευτική πλατφόρμα Hyperskill

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

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

Με αγάπη από την Stepik: Εκπαιδευτική πλατφόρμα Hyperskill

Λυρική παρέκβαση

Ας φανταστούμε μια νεαρή κυρία Μάσα. Σήμερα η Μάσα επρόκειτο να πλύνει μερικά φρούτα και να παρακολουθήσει μια ταινία με την ησυχία της, αλλά κακή τύχη: ξαφνικά ανακάλυψε ότι ο νεροχύτης της κουζίνας ήταν βουλωμένος. Δεν είναι ακόμη σαφές τι να γίνει με αυτό. Μπορείτε να αναβάλετε αυτό το θέμα επ' αόριστον, αλλά υπάρχει ελεύθερος χρόνος τώρα, οπότε η Μάσα αποφασίζει να αντιμετωπίσει το πρόβλημα αμέσως. Η κοινή λογική προτείνει δύο επιλογές: α) καλέστε έναν υδραυλικό β) χειριστείτε το μόνοι σας. Η νεαρή κυρία επιλέγει τη δεύτερη επιλογή και αρχίζει να μελετά τις οδηγίες στο YouTube. Ακολουθώντας τη συμβουλή του χρήστη Vasya_the_plumber, η Μάσα κοιτάζει κάτω από το νεροχύτη και βλέπει έναν πλαστικό σωλήνα που αποτελείται από πολλά μέρη. Η κοπέλα ξεβιδώνει προσεκτικά ένα κομμάτι στη βάση του νεροχύτη και δεν βρίσκει τίποτα. Ένα χαμηλότερο κομμάτι σωλήνα αποδεικνύεται ότι είναι σφιχτά φραγμένο με μια άγνωστη ουσία και ακόμη και ένα πιρούνι που βρίσκεται στο τραπέζι δεν μπορεί να αντιμετωπίσει το μπλοκάρισμα. Οι ειδικοί από το Διαδίκτυο δίνουν απογοητευτικές προβλέψεις: το κομμάτι θα πρέπει να αλλάξει. Στο χάρτη, η Μάσα βρίσκει το πλησιέστερο κατάστημα, παίρνει μαζί της το άτυχο κομμάτι σωλήνα και αγοράζει το ίδιο, μόνο καινούργιο. Με τη συμβουλή του πωλητή, η Μάσα αρπάζει επίσης ένα νέο σουρωτήρι για πρόληψη. Η αποστολή ολοκληρώθηκε: ο νεροχύτης λειτουργεί ξανά όπως θα έπρεπε και ο κύριος χαρακτήρας του, εν τω μεταξύ, έμαθε τα εξής:

  • Μπορείτε να ξεβιδώσετε και να σφίξετε τους σωλήνες κάτω από το νεροχύτη μόνοι σας.
  • Το πλησιέστερο κατάστημα υδραυλικών είναι ενάμιση χιλιόμετρο από το διαμέρισμα του Mashina.

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

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

Ποια προσέγγιση λοιπόν είναι καλύτερη; Στην περίπτωση ενός νεροχύτη και ενός φράγματος - το πρώτο, και για αυτούς τους λόγους:

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

Ας αφήσουμε ήσυχη την καημένη τη Μάσα και ας προχωρήσουμε στη μαθησιακή διαδικασία ως τέτοια.

Προγραμματισμός: μαθαίνω ή κάνω;

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

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

«Αλλά περίμενε!», αντιλέγεις, «Ωραίο ακούγεται - πάρε το και κάνε το!» Δεν μπορώ εύκολα να γράψω στον εαυτό μου ένα πρόγραμμα αν δεν έχω προγραμματίσει πριν! Είναι σημαντικό για μένα να καταλάβω πού να γράψω, πώς βασικά να μιλήσω σε μια γλώσσα προγραμματισμού με έναν μεταγλωττιστή. Δεν είναι σαν να βρίσκεις τον αριθμό τηλεφώνου ενός υδραυλικού στο Google».

Υπάρχει και σε αυτό μια πικρή αλήθεια. Μια άγνωστη πτυχή οδηγεί σε μια άλλη, που με τη σειρά της οδηγεί σε μια τρίτη, και σύντομα αυτή η διαδικασία μετατρέπεται σε παράσταση μάγου, που συνεχίζει να βγάζει δεμένα μαντήλια και δεν μπορεί να τα βγάλει από το πάνω καπέλο. Η διαδικασία, για να είμαι ειλικρινής, είναι δυσάρεστη· από το 5ο «μαντήλι» φαίνεται ήδη ότι το βάθος της άγνοιας είναι κοντά στο Mariana Trench. Μια εναλλακτική λύση σε αυτό είναι οι ίδιες διαλέξεις για 10 τύπους μεταβλητών, 3 τύπους βρόχων και 150 δυνητικά χρήσιμες βιβλιοθήκες. Δυστυχώς.

Υπερδεξιότητα: κατασκευάσαμε, κατασκευάσαμε και τελικά κατασκευάσαμε

Σκεφτήκαμε αυτό το πρόβλημα για πολύ καιρό. Η ημερομηνία της τελευταίας ανάρτησης στο blog μας λέει πολλά για το πόσο καιρό σκεφτόμαστε. Μετά από όλες τις συζητήσεις και τις προσπάθειες ενσωμάτωσης της νέας προσέγγισης στο Stepik, καταλήξαμε σε... έναν διαφορετικό ιστότοπο. Ίσως έχετε ήδη ακούσει γι 'αυτό ως μέρος της JetBrains Academy. Το ονομάσαμε Hyperskill, ενσωματωμένο στη μάθηση βάσει έργου, συνδέσαμε μια βάση γνώσεων Java με αυτό και ζητήσαμε την υποστήριξη της ομάδας του EduTools. Και τώρα περισσότερες λεπτομέρειες.

Με αγάπη από την Stepik: Εκπαιδευτική πλατφόρμα Hyperskill

Συγκεκριμένος στόχος. Προσφέρουμε ένα «μενού» έργων, π.χ. προγράμματα που μπορείτε να γράψετε με τη βοήθειά μας. Μεταξύ αυτών είναι το tic-tac-toe, ο προσωπικός βοηθός, το blockchain, η μηχανή αναζήτησης κ.λπ. Τα έργα αποτελούνται από 5-6 στάδια. Το αποτέλεσμα κάθε σταδίου είναι ένα ολοκληρωμένο πρόγραμμα. «Τότε γιατί χρειαζόμαστε τα άλλα στάδια, αν όλα έχουν ήδη λειτουργήσει στο πρώτο;» Ευχαριστώ για την ερώτηση. Με κάθε βήμα το πρόγραμμα γίνεται πιο λειτουργικό ή πιο γρήγορο. Στην αρχή ο κωδικός παίρνει 10 γραμμές, αλλά στο τέλος μπορεί να μην χωράει καν σε 500.

Λίγη θεωρία. Είναι αδύνατο να καθίσεις και να γράψεις ακόμα και το Hello World χωρίς να ξέρεις λέξη για προγραμματισμό. Επομένως, σε κάθε στάδιο του έργου, βλέπετε ποια θεωρητικά βασικά πρέπει να κατακτήσετε και, το πιο σημαντικό, πού να τα αποκτήσετε. Τα βασικά βρίσκονται επίσης στο Hyperskill στην ενότητα "Χάρτης γνώσης". Εάν για το πρώτο στάδιο του έργου δεν απαιτείται από τους μαθητές να διαβάσουν δεδομένα από ένα αρχείο, τότε ενδέχεται να μην μπορούν να συνεχίσουν. Θα το μάθουν μόνοι τους αργότερα, για γενική ανάπτυξη, ή θα το χρειαστούν στο επόμενο στάδιο.

Με αγάπη από την Stepik: Εκπαιδευτική πλατφόρμα Hyperskill

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

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

Με αγάπη από την Stepik: Εκπαιδευτική πλατφόρμα Hyperskill

Εργαλεία. Είναι υπέροχο να γράφετε μικρά κομμάτια κώδικα σε ένα ειδικό παράθυρο στον ιστότοπο, αλλά ο πραγματικός προγραμματισμός ξεκινά με την εργασία στο περιβάλλον ανάπτυξης (Integrated Dανάπτυξη Eπεριβάλλον). Οι έμπειροι προγραμματιστές ξέρουν όχι μόνο πώς να γράφουν κώδικα, αλλά και πώς να σχεδιάζουν μια γραφική διεπαφή, να συναρμολογούν διαφορετικά αρχεία σε ένα έργο, να χρησιμοποιούν πρόσθετα εργαλεία ανάπτυξης και το IDE φροντίζει για ορισμένες από αυτές τις διαδικασίες. Γιατί να μην μάθετε αυτές τις δεξιότητες ενώ μαθαίνετε προγραμματισμό; Εδώ έρχεται να σώσει το JetBrains και μια ειδική έκδοση του IntelliJ IDEA Community Educational με ένα προεγκατεστημένο πρόσθετο EduTools. Σε ένα τέτοιο IDE, μπορείτε να παρακολουθήσετε μαθήματα κατάρτισης, να ελέγξετε τα λυμένα προβλήματα και να δείτε συμβουλές έργου εάν ξεχάσατε κάτι. Μην ανησυχείτε αν αυτή είναι η πρώτη φορά που ακούτε τη λέξη "πρόσθετο" ή "IDE": θα σας πούμε τι είναι και πώς να το εγκαταστήσετε στον υπολογιστή ή το φορητό σας υπολογιστή με ελάχιστη ταλαιπωρία. Κατανοήστε τη θεωρία και, στη συνέχεια, μεταβείτε στο IDE και ολοκληρώστε το επόμενο στάδιο του έργου ακριβώς εκεί.

Προθεσμίες. Δεν υπάρχει κανένα από αυτά! Ποιοι είμαστε εμείς να χτυπάμε στο κεφάλι και να σας πούμε με τι ρυθμό να γράψετε πρόγραμμα; Όταν σας αρέσει να γράφετε κώδικα και θέλετε να τον ολοκληρώσετε, τον τελειώνετε, σήμερα ή αύριο. Κάντε την ανάπτυξη για τη δική σας ευχαρίστηση.

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

Σαφές αποτέλεσμα. Λοιπόν, ολοκληρώσατε το πρώτο προσχέδιο, τι μετά; Απολαύστε τους καρπούς των κόπων σας! Παίξτε tic-tac-toe με τους φίλους σας και καυχηθείτε για την επιτυχία σας ταυτόχρονα. Ανεβάστε το έργο στο GitHub για να το δείξετε σε έναν μελλοντικό εργοδότη, γράψτε μόνοι σας μια περιγραφή και υποδείξτε εκεί τις γνώσεις που εφαρμόσατε. 4-5 σύνθετα έργα, και τώρα, ένα μέτριο χαρτοφυλάκιο για έναν αρχάριο προγραμματιστή είναι έτοιμο.

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

Καλως ΗΡΘΑΤΕ: hi.hyperskill.org Μπείτε, δείτε, δοκιμάστε, προτείνετε, επαινέστε και ασκήστε κριτική. Μαθαίνουμε επίσης να σας διδάσκουμε.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο