Ismerj meg néhány általános problémamegoldási technikát, amelyek segítenek a programozásban.
Ahogy az itt olvasható első cikk is írja, a problémamegoldás metakészség.
Gyakran tapasztaljuk, hogy egy kihívás megoldásánál nem a programozási nyelv szintaxisa vagy szerkezete a legnehezebb rész, hanem annak kitalálása, mit is kell megírni, illetve hol kezdjük el.
Stratégiák és egy rendszer kialakítása, amellyel a problémákat kódolható lépésekre bonthatod, remek készség, amit érdemes fejlesztened.
Alább néhány közösségből származó cikk, videó és könyv következik, amelyek segíthetnek ezt a szuperkészséget fejleszteni.
- A Free Code Camp egy jó áttekintő cikket kínál: How to Think Like a Programmer - Lessons in Problem-Solving.
- Jeremy Howard, a fast.ai alapítója remek összefoglalót készített G. Polya's Problem Solving Techniques címmel.
- Bár eredetileg 1945-ben írták bonyolult matematikai feladatok megoldásához útmutatóként, G. Polya's How To Solve It (a teljes könyv) a mai napig kiváló tanácsokkal szolgál a problémamegoldáshoz általában.
- Kurtis Pykes a Towards Data Science oldalon egy remek gyakorlati útmutatót írt a problémamegoldáshoz.
- A Free Code Camp cikkében is említett V. Anton Spraul Think Like a Programmer: An Introduction to Creative Problem Solving című könyve modernebb, programozásra összpontosító változata ugyanazoknak az általános módszereknek, amelyeket Polya a matematikához felvázolt.
-
Felienne Hermans inkább arra összpontosít, hogyan sajátítják el az emberek a kódolás művészetét, és ez hogyan kapcsolódik a tanuláshoz általában.
Ő írta a The Programmer's Brian című könyvet, amelyben stratégiákat kínál a kód jobb olvasásához, a kód világos átgondolásához, jobb kód írásához és a hatékonyabb kód-kollaborációhoz.
- Az Algorithmic Thinking (Daniel Zingaro) a No Starch Press gondozásában és a How to think like a programmer (Paul Vickers) szintén a kódolás közbeni problémamegoldást tárgyalja.
- A Computational Thinking: A beginner's guide to problem-solving and programming (Karl Beecher) és a Computational Thinking for the Modern Problem-Solver (Riley and Hunt) szintén kínál stratégiákat a problémák átgondolásához és kódolható megoldásokra bontásához.
- A From Computing to Computational Thinking (Paul S. Wang) kicsit általánosabb és tudományosabb, de olyan problémamegoldási stratégiákat és struktúrákat kínál, amelyek a kódoláson túl is hasznosak, és nem igényelnek előzetes programozási ismereteket.
Néhány könyv elolvasható az Association of Computing Machinery (ACM) könyvtárán keresztül is.
A tagságról (fizetős) információk az acm(dot)org oldalon találhatók.