Μάθε μερικές γενικές τεχνικές επίλυσης προβλημάτων που θα σε βοηθήσουν στον προγραμματισμό.
Όπως αναφέρει το πρώτο άρθρο εδώ, η επίλυση προβλημάτων είναι μια μετα-δεξιότητα.
Διαπιστώνουμε ότι συχνά η σύνταξη ή η δομή μιας γλώσσας προγραμματισμού δεν είναι το πιο δύσκολο κομμάτι στην επίλυση μιας πρόκλησης, το δύσκολο είναι να καταλάβεις τι να γράψεις σε κώδικα ή από πού να ξεκινήσεις.
Το να αναπτύξεις στρατηγικές και ένα σύστημα για να σπάσεις τα προβλήματα σε βήματα που μπορούν να γίνουν κώδικας είναι μια εξαιρετική δεξιότητα για να καλλιεργήσεις.
Παρακάτω υπάρχουν άρθρα, βίντεο και βιβλία από την κοινότητα που μπορούν να σε βοηθήσουν να αναπτύξεις αυτή τη σούπερ δεξιότητα.
- Το Free Code Camp προσφέρει ένα καλό εισαγωγικό άρθρο: How to Think Like a Programmer - Lessons in Problem-Solving.
- Ο Jeremy Howard, ιδρυτής του fast.ai, έχει μια ωραία σύνοψη των τεχνικών επίλυσης προβλημάτων του G. Polya.
- Γραμμένο αρχικά το 1945 ως οδηγός για την αντιμετώπιση σύνθετων μαθηματικών προβλημάτων, το How To Solve It του G. Polya (ολόκληρο το βιβλίο) εξακολουθεί να είναι εξαιρετική συμβουλή για την επίλυση προβλημάτων γενικά.
- Ο Kurtis Pykes, γράφοντας για το Towards Data Science, έχει έναν ωραίο πρακτικό οδηγό για την επίλυση προβλημάτων.
- Αναφέρεται στο άρθρο του Free Code Camp. Το Think Like a Programmer: An Introduction to Creative Problem Solving του V. Anton Spraul είναι μια πιο σύγχρονη και προσανατολισμένη στον προγραμματισμό εκδοχή των ίδιων γενικών μεθόδων που περιγράφει ο Polya για τα μαθηματικά.
- Η Felienne Hermans επικεντρώνεται περισσότερο στο πώς μαθαίνουν οι άνθρωποι την τέχνη του προγραμματισμού και πώς αυτό αντιστοιχεί στη μάθηση γενικότερα.
Έχει γράψει το The Programmer's Brian, με στρατηγικές για να διαβάζεις καλύτερα τον κώδικα, να σκέφτεσαι καθαρά γύρω από τον κώδικα, να γράφεις καλύτερο κώδικα και να γίνεσαι καλύτερος συνεργάτης στον κώδικα.
- Το Algorithmic Thinking (Daniel Zingaro) από τις εκδόσεις No Starch Press και το How to think like a programmer (Paul Vickers) καλύπτουν επίσης την επίλυση προβλημάτων όταν προγραμματίζεις.
- Το Computational Thinking: A beginner's guide to problem-solving and programming (Karl Beecher) και το Computational Thinking for the Modern Problem-Solver (Riley and Hunt) προσφέρουν επίσης στρατηγικές για να σκέφτεσαι τα προβλήματα και να τα αναλύεις σε λύσεις με κώδικα.
- Το From Computing to Computational Thinking (Paul S. Wang) είναι λίγο πιο γενικό και ακαδημαϊκό, αλλά προσφέρει στρατηγικές και δομές επίλυσης προβλημάτων που μπορούν να εφαρμοστούν και πέρα από τον προγραμματισμό, και δεν απαιτεί προηγούμενες γνώσεις προγραμματισμού.
Κάποια από αυτά τα βιβλία μπορείς να τα διαβάσεις και μέσω της βιβλιοθήκης της Association of Computing Machinery (ACM).
Πληροφορίες για τη συνδρομή (επί πληρωμή) είναι διαθέσιμες στο acm(dot)org.