समस्या हल करने के संसाधन

प्रोग्रामिंग में मदद के लिए समस्या हल करने की कुछ सामान्य तकनीकें सीखिए।


जैसा कि यहाँ का पहला लेख कहता है, समस्या-समाधान एक मेटा-स्किल है। हमने देखा है कि अक्सर किसी चैलेंज को हल करने का सबसे मुश्किल हिस्सा किसी प्रोग्रामिंग भाषा का सिंटैक्स या ढाँचा नहीं होता। सबसे मुश्किल होता है यह तय करना कि क्या कोड करना है या कहाँ से शुरू करना है। समस्याओं को ऐसे छोटे कदमों में बाँटने की रणनीतियाँ और एक तरीका विकसित करना, जिन्हें कोड में बदला जा सके, सीखने लायक एक शानदार कौशल है। नीचे समुदाय द्वारा बताए गए कुछ लेख, वीडियो और किताबें दी गई हैं, जो आपको यह सुपर-स्किल विकसित करने में मदद कर सकती हैं।

  • Free Code Camp पर How to Think Like a Programmer - Lessons in Problem-Solving शीर्षक से एक अच्छा अवलोकन लेख है।
  • fast.ai के संस्थापक Jeremy Howard ने G. Polya's Problem Solving Techniques का एक अच्छा सारांश लिखा है।
  • मूल रूप से 1945 में जटिल गणित की समस्याओं को हल करने के मार्गदर्शन के लिए लिखी गई G. Polya's How To Solve It (पूरी किताब) आज भी सामान्य तौर पर समस्या-समाधान के लिए बेहतरीन सलाह है।
  • Towards Data Science के लिए लिखते हुए Kurtis Pykes ने समस्या-समाधान के लिए एक अच्छा व्यावहारिक ट्यूटोरियल दिया है।
  • Free Code Camp के लेख में उल्लिखित V. Anton Spraul की Think Like a Programmer: An Introduction to Creative Problem Solving, Polya ने गणित के लिए जो सामान्य तरीके बताए हैं, उन्हीं पर एक अधिक आधुनिक और प्रोग्रामिंग-केंद्रित दृष्टिकोण है।
  • Felienne Hermans का ध्यान इस पर अधिक है कि लोग कोडिंग की कला कैसे सीखते हैं और यह सीखना सामान्य रूप से सीखने से कैसे जुड़ता है। उन्होंने The Programmer's Brian नाम की किताब लिखी है, जिसमें कोड को बेहतर ढंग से पढ़ने, कोड के बारे में साफ़-साफ़ सोचने, बेहतर कोड लिखने और कोड में बेहतर सहयोगी बनने की रणनीतियाँ हैं।
  • No Starch Press से छपी Algorithmic Thinking (Daniel Zingaro) और 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 पर उपलब्ध है।