CodeGym /Java Blog /अनियमित /एक खेल के रूप में कोडिंग। प्रतिस्पर्धी प्रोग्रामिंग के लि...
John Squirrels
स्तर 41
San Francisco

एक खेल के रूप में कोडिंग। प्रतिस्पर्धी प्रोग्रामिंग के लिए एक लघु गाइड

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

प्रतिस्पर्धी प्रोग्रामिंग क्या है?

प्रतिस्पर्धी प्रोग्रामिंग एक प्रकार का माइंड स्पोर्ट है जिसमें प्रतिभागियों को प्रोग्रामिंग में अपने कौशल और सीएस विषयों जैसे एल्गोरिदम और डेटा संरचनाओं के ज्ञान का उपयोग करके कोडिंग समस्याओं को हल करने में शामिल किया जाता है।. ऐसी प्रतियोगिताओं के प्रतिभागियों, जिन्हें खेल प्रोग्रामर भी कहा जाता है, को विभिन्न प्रतिबंधों के तहत और प्रदान की गई विशिष्टताओं के अनुरूप कोड लिखने की आवश्यकता होती है। जीतने के लिए, एक खेल प्रोग्रामर को उस कोड के साथ आने की जरूरत है जो प्रदान किए गए कार्य का समाधान होगा। विजेता को कई मानदंडों के आधार पर घोषित किया जाता है जैसे खर्च किया गया समय, अंतिम कोड की गुणवत्ता, निष्पादन समय, कार्यक्रम का आकार इत्यादि। बहुत सारी बड़ी तकनीकी कंपनियां, जैसे कि Google, Facebook, Amazon, Microsoft और अन्य , प्रतिस्पर्धी प्रोग्रामिंग का समर्थन करें और प्रतियोगिताओं के आयोजन में भाग लें, साथ ही प्रतिभाशाली खेल प्रोग्रामरों को काम पर रखें। अंतर्राष्ट्रीय कॉलेजिएट प्रोग्रामिंग प्रतियोगिता (आईसीपीसी), जो 1970 के दशक में उत्पन्न हुई थी, को सबसे पुरानी प्रतिस्पर्धी प्रोग्रामिंग प्रतियोगिता के रूप में जाना जाता है।

प्रतिस्पर्धी प्रोग्रामिंग के लाभ

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

प्रतिस्पर्धी प्रोग्रामिंग प्लेटफॉर्म

ये इंटरनेट पर उपलब्ध कुछ सबसे लोकप्रिय प्रतिस्पर्धी प्रोग्रामिंग प्लेटफॉर्म हैं। कोडशेफ एक प्रतिस्पर्धी प्रोग्रामिंग समुदाय है जिसमें हर महीने सैकड़ों चुनौतियां और कई नई प्रतियोगिताएं होती हैं। कोडवार्स प्रोग्रामिंग चुनौतियों के साथ एक कोडिंग ऑनलाइन समुदाय है। आपको अपनी स्वयं की चुनौतियाँ प्रस्तुत करने की अनुमति देता है, जिसका मूल्यांकन अन्य उपयोगकर्ताओं द्वारा किया जाएगा। सबसे लोकप्रिय प्रतिस्पर्धी प्रोग्रामिंग प्लेटफॉर्म में से एक। यह हर साल नियमित प्रतिस्पर्धी प्रोग्रामिंग मैराथन की मेजबानी करता है और दर्जनों चुनौतियां पेश करता है। HackerEarth के पास अलग-अलग कठिनाई वाली 10,000 से अधिक प्रोग्रामिंग चुनौतियाँ हैं जो सभी के लिए उपलब्ध हैं। कोडफोर्स एक रूसी प्रतिस्पर्धी प्रोग्रामिंग प्लेटफॉर्म है जिसमें सैकड़ों प्रोग्रामिंग चुनौतियां हैं और अक्सर सभी प्रकार की प्रतियोगिताओं की मेजबानी करता है। कंप्यूटर विज्ञान के विभिन्न डोमेन में प्रोग्रामिंग चुनौतियों की पेशकश करता है और वार्षिक कोडप्रिंट और अन्य प्रतिस्पर्धी प्रोग्रामिंग प्रतियोगिता आयोजित करता है।

प्रतिस्पर्धी प्रोग्रामिंग प्रतियोगिताएं

हर साल दर्जनों प्रतिस्पर्धी प्रोग्रामिंग प्रतियोगिताएं आयोजित की जाती हैं। यहाँ कुछ सबसे लोकप्रिय और प्रतिष्ठित हैं।
  1. ICFP प्रोग्रामिंग प्रतियोगिता
1998 से हर साल जून या जुलाई के आसपास एक अंतरराष्ट्रीय प्रोग्रामिंग प्रतियोगिता आयोजित की जाती है।
  1. टॉपकोडर मैराथन मैच
प्रतिस्पर्धी प्रोग्रामिंग समुदाय के बीच काफी नकद पुरस्कारों के साथ लोकप्रिय प्रतियोगिता। टॉपकोडर के मैराथन आमतौर पर लगभग दो सप्ताह तक चलते हैं, जिससे प्रतिभागियों को अपने समाधान सुधारने का मौका मिलता है। प्रत्येक मैच में एक अलग स्कोरिंग तंत्र होता है जो हर समाधान की गुणवत्ता को प्रदर्शित करेगा।
  1. कोडशेफ लॉन्ग चैलेंज
कोडशेफ लॉन्ग चैलेंज एक मासिक प्रतियोगिता है जो 10 दिनों तक चलती है।
  1. फेसबुक हैकर कप
हैकर कप फेसबुक की वार्षिक ओपन प्रोग्रामिंग प्रतियोगिता है। दुनिया भर के प्रतिभागियों के लिए खुला है, इसमें दांव पर काफी पुरस्कारों के साथ कई राउंड शामिल हैं।
  1. Google कोड जाम
Google Code Jam Google द्वारा आयोजित और प्रशासित एक अंतर्राष्ट्रीय प्रोग्रामिंग प्रतियोगिता है। 2003 से प्रतिवर्ष आयोजित किया जाता है।
  1. अमेरिकन कंप्यूटर साइंस लीग (एसीएसएल)
अमेरिकन कंप्यूटर साइंस लीग (ACSL) मिडिल और हाई स्कूल के छात्रों के लिए कंप्यूटर विज्ञान और प्रोग्रामिंग प्रतियोगिता आयोजित करता है।
  1. अंतर्राष्ट्रीय कॉलेजिएट प्रोग्रामिंग प्रतियोगिता (आईसीपीसी)
अंतर्राष्ट्रीय कॉलेजिएट प्रोग्रामिंग प्रतियोगिता कॉलेज के छात्रों के लिए एल्गोरिथम प्रोग्रामिंग प्रतियोगिता है। सबसे पुरानी प्रतिस्पर्धी प्रोग्रामिंग प्रतियोगिताओं में से एक।

युक्तियाँ और सिफारिशें

आइए कुछ युक्तियों और अनुशंसाओं के साथ समाप्त करें जो प्रतिस्पर्धी प्रोग्रामिंग में शामिल होने के इच्छुक होने पर सहायक हो सकती हैं।
  • एक प्रोग्रामिंग भाषा चुनें।
यह काफी स्पष्ट है, लेकिन अभी भी उल्लेख के लायक है। प्रतिस्पर्धी प्रोग्रामिंग में इसका उपयोग करने के लिए आपको एक ऐसी प्रोग्रामिंग भाषा चुनने के साथ शुरुआत करनी चाहिए जिसमें आप सबसे अधिक सहज हों। अधिकांश प्रतिस्पर्धी प्रोग्रामिंग प्रतियोगिताओं में C++, Java, Python सबसे आम और सार्वभौमिक रूप से स्वीकृत हैं।
  • डेटा संरचनाओं और एल्गोरिदम का अच्छा ज्ञान विकसित करें।
प्रतिस्पर्धी प्रोग्रामिंग चुनौतियों को सफलतापूर्वक हल करने के लिए कम से कम डेटा संरचनाओं और एल्गोरिदम की मूल बातें जानना अनिवार्य रूप से महत्वपूर्ण है। इन विषयों पर शिक्षण सामग्री के लिंक के लिए एल्गोरिदम और डेटा संरचनाओं पर हमारे लेख देखें ।
  • प्रोग्रामिंग चुनौतियों के लिए अपनी कोडिंग शैली और दृष्टिकोण खोजें।
अधिकांश चुनौतियाँ जिन्हें प्रतिस्पर्धी प्रोग्रामिंग चुनौतियों के प्रतिभागियों को हल करने की आवश्यकता होती है, उनके एक से अधिक समाधान होते हैं। लक्ष्य इष्टतम समाधान के साथ आना है। इसलिए इन प्रोग्रामिंग चुनौतियों के लिए अपनी अनूठी कोडिंग शैली और दृष्टिकोण विकसित करने पर ध्यान केंद्रित करना समझ में आता है जो आपको समय के संदर्भ में सर्वोत्तम समाधानों को कोड करने और निष्पादन के लिए आपके कोड की ज़रूरतों को पूरा करने की अनुमति देगा।
  • विभिन्न प्रतिस्पर्धी प्रोग्रामिंग वेबसाइटों और प्रतियोगिताओं का प्रयास करें।
भले ही सभी प्रतिस्पर्धी कोडिंग प्रतियोगिताओं और चुनौतियों में आपको एल्गोरिथम समस्याओं को हल करने की आवश्यकता होगी, इन समस्याओं की शैली और प्रतियोगियों के लिए आवश्यकताएं दृष्टिकोण से लेकर कठिनाई और समय-संवेदनशीलता तक कई तरीकों से भिन्न हो सकती हैं। इसलिए सामान्य रूप से प्रतिस्पर्धी प्रोग्रामिंग की बेहतर भावना रखने के लिए कम से कम कई अलग-अलग समस्याओं का प्रयास करने की अनुशंसा की जाती है।
  • प्रोग्रामिंग की समस्याओं को नियमित रूप से हल करते रहें।
लगभग किसी भी चीज में सफल होने के लिए नियमित अभ्यास महत्वपूर्ण है, लेकिन प्रतिस्पर्धी प्रोग्रामिंग में यह विशेष रूप से सच है। कोडिंग समस्याओं के प्रति उचित मानसिकता और दृष्टिकोण के विकास के लिए बहुत सारे नियमित प्रशिक्षण की आवश्यकता होती है। आपको खुद को ऊपर सूचीबद्ध विशेष प्लेटफॉर्म तक सीमित रखने की आवश्यकता नहीं है, खासकर शुरुआत में जब प्रतिस्पर्धी प्रोग्रामिंग समस्याएं बहुत चुनौतीपूर्ण लग सकती हैं। आप अभ्यास करने के लिए 1200 से अधिक जावा कोडिंग कार्यों के साथ CodeGym का उपयोग कर सकते हैं, साथ ही साथ कोडिंग गेम या तकनीकी साक्षात्कार प्रस्तुत करने के प्लेटफॉर्म का भी उपयोग कर सकते हैं ।
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION