17 Προκλήσεις κωδικοποίησης για να οξύνετε την κριτική σας σκέψη

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

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

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

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

Edabit

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

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

HackerRank

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

Επί του παρόντος, οι προγραμματιστές μπορούν να χρησιμοποιούν Java, Python, JavaScript, PHP, C++ και SQL για να λύσουν τις παρεχόμενες προκλήσεις.

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

Το House of Codes έγραψε ένα συναρπαστικό κομμάτι που απεικονίζει οι κορυφαίες 50 προκλήσεις που βρέθηκαν στο Hacker Rank. Αν έχετε την περιέργεια για αυτό, αξίζει να το διαβάσετε, με πολλά παραδείγματα και υλικό.

Coderbyte

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

Ένα από τα προνόμια της χρήσης αυτής της πλατφόρμας είναι ότι συνεργάζεται με μερικές από τις κορυφαίες μάρκες λογισμικού. Π.χ. Google, LogMeIn, HBO, PWC και πολλά άλλα. Εάν επιθυμείτε ποτέ να βρείτε μια δουλειά σε τέτοιες εταιρείες, τότε να είστε σίγουροι ότι η Coderbyte μπορεί να σας προσφέρει τις απαιτούμενες προκλήσεις για να δοκιμάσετε τις δεξιότητές σας.

  Πώς να καταργήσετε το Family Link χωρίς άδεια γονέα

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

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

Codewars

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

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

Εάν θέλετε να εξασκήσετε μια νέα γλώσσα, τότε το Codewars είναι ένας εξαιρετικός ιστότοπος για να προσθέσετε στους σελιδοδείκτες σας.

Ακολουθούν μερικές από τις υποστηριζόμενες γλώσσες:

  • Clojure
  • Σκουριά
  • Ταχύς
  • Πύθων
  • Haskell
  • Κέλυφος
  • JavaScript
  • PHP
  • Κότλιν
  • Σκάλα

Και πολλές άλλες γλώσσες είναι στο πρόγραμμα BETA, διαθέσιμες αλλά με πιθανά σημεία συμφόρησης.

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

CodinGame

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

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

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

HackerEarth

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

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

Και πώς είναι δυνατόν; Λοιπόν, κυρίως επειδή η πραγματική φασαρία του HackerEarth είναι να παρέχει λύσεις πρόσληψης σε κορυφαίες εταιρείες τεχνολογίας. Αν θέλεις να θεωρείσαι ο καλύτερος, πρέπει να κάνεις παρέα με τους καλύτερους. Είναι μια κατάσταση win-win για εσάς.

Προγραμματιστής

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

Από την πλευρά των προκλήσεων, το Programmr έχει ένα προσαρμοσμένο σύνολο προκλήσεων για Java, C++, PHP, C#, Ruby, Python και iOS. Κάθε σετ περιλαμβάνει 100+ προκλήσεις, οι οποίες μπορούν να ταξινομηθούν κατά δημοτικότητα (με βάση τις ψήφους των χρηστών) και άλλους παράγοντες.

  Πώς να αποκτήσετε προσαρμοσμένα μεγέθη πινέλου στο MS Paint

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

Το τρένο κωδικοποίησης

Ο Daniel Shiffman είναι ένας αυτοδημιούργητος στρατός ενός ατόμου, που δημιουργεί και παράγει εξαιρετικό υλικό στον προγραμματισμό. Το τρένο κωδικοποίησης είναι η προσωπική πλατφόρμα YouTube του Daniels, όπου μοιράστηκε συναρπαστικά και χρήσιμα βίντεο για την αντιμετώπιση προβλημάτων που σχετίζονται με τον προγραμματισμό.

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

Διατηρήστε το είδος στο οποίο βασίζονται οι προκλήσεις του P5.js και Επεξεργασία — δύο δημοφιλείς λύσεις που χρησιμοποιούνται στην τέχνη και τη γραφιστική.

Wolfram Challenges

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

Αν και η εστίασή μας δεν είναι στο Wolfram Alpha, ένα νέο σύνορο που εισήχθη στις αρχές του 2018 — Wolfram Challenges.

Υπάρχουν πολλά παραδείγματα Προκλήσεων που μπορεί κανείς να φανταστεί και περιλαμβάνει την εύρεση «της λύσης με το χαμηλότερο κόστος» ή της «καλύτερης εφαρμογής». Και είναι μια παρόμοια ρύθμιση με τυπικές εργασίες μηχανικής μάθησης: βρείτε μια λειτουργία (ας πούμε με βάση ένα νευρωνικό δίκτυο) που αποδίδει καλύτερα στην ταξινόμηση ενός συγκεκριμένου συνόλου δοκιμών κ.λπ.

Σε σύγκριση με άλλους ιστότοπους/πλατφόρμες σε αυτήν τη συλλογή, το Wolfram καλύπτει μια ευρεία περιοχή προκλήσεων και όχι μόνο την κωδικοποίηση. Συνολικά, αν θέλετε να οξύνετε την κριτική σας σκέψη — αυτή θα είναι η πλατφόρμα για να το κάνετε!

LeetCode

LeetCode είναι ένα προϊόν, που σημαίνει ότι δεν είναι απλώς ένας ιστότοπος που φιλοξενεί τυχαίες προκλήσεις. Αντίθετα, το LeetCode είναι ένας τρόπος να προετοιμαστείτε για μελλοντικές δυνατότητες.

Η πλατφόρμα παρέχει σύγχρονη μάθηση, περίπλοκες προκλήσεις και ένα εξαιρετικό ταμπλό για να τα κάνετε όλα.

Υπάρχουν επίσης άρθρα, πίνακες συζητήσεων και άλλες πτυχές της κοινότητας που ενθαρρύνουν μια απρόσκοπτη εμπειρία. Πολλοί χρήστες του LeetCode έχουν «αποφοιτήσει» για να εργαστούν σε εταιρείες όπως η Uber, η Amazon, η Stripe και άλλες.

Codeforces

Codeforces είναι για όλους τους σκληροπυρηνικούς και αποκλειστικούς κωδικοποιητές εκεί έξω. Σκεφτείτε μηχανικούς λογισμικού, διεισδυτές, λάτρεις της τεχνητής νοημοσύνης και λάτρεις της μηχανικής μάθησης! Ως πλατφόρμα για προχωρημένους προγραμματιστές, η Codeforces είναι γνωστή για το διαβόητο leaderboard και το ανταγωνιστικό της πνεύμα.

Και το να ξεκινήσετε είναι πιο εύκολο από όσο νομίζετε.

Άσκηση

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

Και Άσκηση δεν αποτελεί εξαίρεση. Η Katrina Owen, η ιδρύτρια, λέει ότι στόχος της είναι να «βοηθήσει τους ανθρώπους να μάθουν αρκετή κωδικοποίηση [using Exercism] ώστε να βρουν δουλειά στην ανάπτυξη.».

Τη στιγμή που γράφουμε αυτό το άρθρο, υπάρχουν περισσότερες από 2.600 ασκήσεις σε 48 γλώσσες — όλες δωρεάν! Έχετε σκοπό να μάθε Κότλινη μηπως προσανατολιστείτε περισσότερο στο Vim? Τώρα είναι η ευκαιρία σας να μάθετε μερικές νέες δεξιότητες μέσα από ενδιαφέρουσες προκλήσεις!

Κωδικός

Όσο περίεργο κι αν είναι για κάποιους από εσάς, εξακολουθεί να συμβαίνει κωδικοποίηση στην ανάπτυξη του front-end!

Οι προκλήσεις εδώ συγκεντρώνονται κυρίως από τους χρήστες. Π.χ., κάποιος μπορεί να δημοσιεύσει μια «Κάρτα σχεδιασμού υλικού» και να σας προκαλέσει να τη βελτιώσετε ή να δημιουργήσετε μια παρόμοια παραλλαγή.

  Μπορούν πραγματικά οι αρχές επιβολής του νόμου να εντοπίσουν κάποιον με μια διεύθυνση IP;

Το αποτέλεσμα είναι η ικανότητά σας να κάνετε κάποιες δημιουργικές ιδέες. Και είναι ωραίο να βλέπουμε πώς οι άλλοι αντιμετωπίζουν παρόμοια προβλήματα σε πραγματικό χρόνο επίσης. Μπορείτε πάντα να επαναχρησιμοποιήσετε τον κώδικα που υποβάλλεται από άλλους στα έργα σας.

Flexbox Froggy

Μιλώντας για το front-end, πώς έρχεται η κατανόηση του Flexbox; Είναι πάντα ωραίο να παίρνετε λίγη ανανέωση μνήμης για να κρατάτε τον εαυτό σας ευκρινή και επίκαιρο!

Flexbox Froggy είναι ένα ωραίο μικρό παιχνίδι που σας μεταφέρει σε 28 βήματα διαφορετικών χρήσεων και ευθυγραμμίσεων του Flexbox. Ίσως είναι λιγότερο πρόκληση παρά υπενθύμιση, αλλά μπορείτε να κάνετε όλα τα επίπεδα χωρίς να αναζητήσετε απαντήσεις;

Grid Garden είναι ένα πολύ παρόμοιο παιχνίδι? η μόνη διαφορά είναι ότι εργάζεστε με τη συνάρτηση Grid και όχι με το Flex.

PyBites

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

Αυτές τις μέρες, πολλή μηχανική εκμάθηση και δημιουργία συνόλων δεδομένων γίνεται αποκλειστικά με Πύθων — και αυτό δεν είναι μικρό κατόρθωμα!

PyBites σας ενημερώνει για τα τελευταία γεγονότα. Άρθρα, προκλήσεις κωδικοποίησης και άλλα κρίσιμα στοιχεία που θα σας βοηθήσουν να ακονίσετε το μυαλό σας. Κάθε πρόκληση περιλαμβάνει μια συνέχεια ως ανασκόπηση, όπου μπορείτε να συγκρίνετε τον κώδικά σας και να εξερευνήσετε τον σωστό τρόπο επίλυσης ενός προβλήματος.

CodeCombat

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

Υπάρχουν εργαλεία, υλικά και άλλοι πόροι ειδικά προσαρμοσμένοι για αυτόν τον σκοπό. Και είναι επίσης πολύ διασκεδαστικό. Τα παιχνίδια CodeCombat που δημιουργείτε είναι ενδιαφέροντα αλλά και οπτικά εντυπωσιακά. Και τα παιχνίδια είναι ήδη τόσο δημοφιλή στα παιδιά. Δίνοντας στα παιδιά την πρόκληση να αναπτύξουν το εικονικό τους περιβάλλον μπορεί να τα εμπνεύσει να δημιουργήσουν κάτι εκπληκτικό στο μέλλον!

Tynker

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

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

Κλείνοντας: Προκαλέστε τον εαυτό σας!

Συνολικά, υπάρχουν πιθανώς 10.000 μοναδικές προκλήσεις κώδικα σε όλους τους ιστότοπους και τις πλατφόρμες που παραθέσαμε. Είναι αδύνατο να τα ξεπεράσεις όλα έτσι.

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

Μπορεί επίσης να θέλετε να εξετάσετε το DataCamp για να μάθετε την επιστήμη των δεδομένων, η οποία περιλαμβάνει προκλήσεις και έργα κωδικοποίησης.

Στη συνέχεια, τι θα λέγατε να βρείτε πώς να προσθέτετε σχόλια σε δημοφιλείς γλώσσες προγραμματισμού;