1. अभ्यास के आधार पर सीखना

अभ्यास के आधार पर जावा सीखना

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

प्रोग्रामिंग एक कौशल है। कोई नहीं कहता, "मुझे पता है कि प्रोग्राम कैसे करना है"। हर प्रोग्रामर कहता है, "मैं प्रोग्राम कर सकता हूँ"। यह हाथों से किया जाने वाला कौशल है, जैसे तैरना या शतरंज खेलना। और आप निरंतर अभ्यास के माध्यम से ही कौशल विकसित कर सकते हैं।

इसलिए पूरा CodeGym कोर्स उत्तरोत्तर कठिन कार्यों का एक क्रम है। आप बहुत आसान, आदिम कार्यों से शुरू करते हैं, और सबसे कठिन और दिलचस्प कार्यों के साथ समाप्त होते हैं। कठिनाई प्रत्येक स्तर के साथ थोड़ी बढ़ जाती है। यही वह रास्ता है जो आपको प्रोग्रामर बनने के आपके लक्ष्य तक ले जाएगा।


2. कार्यों के प्रकार

CodeGym पर ढेर सारे विभिन्न प्रकार के कार्य आपका इंतजार कर रहे हैं। आइए मुख्य सूची दें:

कार्य जहाँ आप एक कार्यक्रम लिखते हैं

पाठ्यक्रम में ये सबसे महत्वपूर्ण कार्य हैं। उनका कठिनाई स्तर व्यापक रूप से भिन्न होता है: सबसे सरल कार्यों से लेकर जिनके बारे में आपको बहुत कुछ सोचना होगा।

इन कार्यों का लक्ष्य एक प्रोग्राम लिखना है जो विशिष्ट शर्तों और आवश्यकताओं को पूरा करता है। अधिकांश कार्य इसी श्रेणी में आते हैं। CodeGym के छात्रों की सुविधा के लिए, हम इन कार्यों को उनके कठिनाई स्तर के अनुसार चिह्नित करते हैं: आसान , मध्यम , कठिन और महाकाव्य

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

परियोजनाओं

सामान्य कार्यों का नकारात्मक पक्ष यह है कि वे छोटे होते हैं। हो गया और भूल गया, जैसा वे कहते हैं। इसलिए, उन्हें अत्यधिक रोचक बनाना शायद ही संभव है। लेकिन एक बड़े कार्यक्रम का परीक्षण करना कठिन है: इसे लागू करने के बहुत सारे तरीके हैं।

यही कारण है कि CodeGym ने प्रोजेक्ट कार्यों को प्रस्तुत किया है - बड़े कार्यों को 5-35 सामान्य उप-कार्यों में विभाजित किया गया है। आप सभी उप-कार्य क्रमिक रूप से करते हैं, और आप एक बड़े कार्यक्रम के साथ समाप्त होते हैं।

स्तर 20 के बाद प्रत्येक स्तर के अंत में, एक बड़ा परियोजना कार्य होता है, जिसे बीस उप-कार्यों में विभाजित किया जाता है। अन्य 6 गेम टास्क भी हैं, जो प्रोजेक्ट भी हैं। और एक ऑनलाइन इंटर्नशिप में स्वीकार किए जाने के लिए एक प्रोजेक्ट टास्क है। पूरे पाठ्यक्रम में कुल 27 परियोजना कार्य हैं।

प्रश्नोत्तरी

लंबे समय से, CodeGym का कोई परीक्षण या क्विज़ नहीं था। CodeGym के निर्माता की राय है कि पास किए गए परीक्षण लोगों में "ज्ञान का भ्रम" पैदा करते हैं। लोग वास्तव में प्रोग्राम करना नहीं जानते हैं, लेकिन वे अन्यथा पूरी तरह से आश्वस्त हैं, क्योंकि उन्होंने परीक्षण पास कर लिए हैं। ऐसे लोग सीखना बंद कर देते हैं, क्योंकि "वे पहले से ही सब कुछ जानते हैं"।

इसके बाद, CodeGym के छात्रों को उनके सीखने में आसानी से अंतराल की पहचान करने की अनुमति देने के लिए क्विज़ जोड़े गए। प्रोग्रामर के लिए यह उपयोगी है कि वे उन चीजों की बारीकियों को जानें जिनके साथ वे अपने पेशे में दैनिक आधार पर काम करते हैं।


3. कार्य की स्थिति

CodeGym पर प्रत्येक कार्य की एक विशेष स्थिति है। कार्यों को हल करते ही स्थिति बदल सकती है।

प्रत्येक CodeGym कार्य एक पाठ से जुड़ा है। प्रारंभ में, आपके पास किसी भी कार्य तक पहुंच नहीं होगी, जिसका अर्थ है कि आप उन्हें हल नहीं कर पाएंगे।

जब आप अगला पाठ खोलते हैं, तो पाठ के सभी कार्य हल करने के लिए उपलब्ध हो जाते हैं, अर्थात उनकी स्थिति "उपलब्ध" में बदल जाती है।

यदि आपने कम से कम एक बार सत्यापन के लिए कोई कार्य सबमिट किया है, तो उसकी स्थिति "उपलब्ध" से "प्रगति में" में बदल जाती है।

अंत में, जब आप सफलतापूर्वक सभी आवश्यकताओं को पूरा कर लेते हैं और सत्यापनकर्ता आपके सबमिशन को स्वीकार कर लेता है, तो कार्य की स्थिति "पूर्ण" में बदल जाती है।

प्रीमियम मेंटर सब्सक्रिप्शन वाले उपयोगकर्ताओं के पास कार्य के लिए अन्य समाधान लिखने का प्रयास करने के लिए 3 और दिन हैं। समय की इस अतिरिक्त विंडो के समाप्त होने के बाद, कार्य "बंद" स्थिति में चला जाता है, और यह स्थिति अब नहीं बदलेगी।


4. आवश्यकताएँ

CodeGym के शुरुआती वर्षों में, जब आपने प्रत्येक कार्य को सत्यापित किया तो आपको एक साधारण परिणाम मिला: हाँ या नहीं। कार्यक्रम ने या तो सभी परीक्षण पास कर लिए या नहीं। सुपर सरल, लेकिन सुपर मददगार नहीं।

जैसे-जैसे लोग सीखते हैं, यह बहुत महत्वपूर्ण है कि वे समझें कि वे क्या गलत कर रहे हैं और इसे सही तरीके से कैसे शुरू करें। तदनुसार, यह सही समझ में आता है कि यदि सर्वर आपके समाधान को स्वीकार नहीं करता है, तो आप पूछेंगे, ठीक है, इसमें गलत क्या है?

इस प्रश्न का उत्तर पाने के लिए, आपको किसी ऐसे व्यक्ति की आवश्यकता है जो आपके समाधान में गोता लगा सके, इसका विश्लेषण कर सके और आपको बता सके कि इसमें क्या गलत है। इसमें लंबा समय लगेगा और यह महंगा होगा। तत्काल कार्य सत्यापन की सुंदरता यह है कि आप 2 बजे अध्ययन करने के लिए बैठ सकते हैं और यह सब किसी अन्य समय की तरह ही काम करेगा।

इसलिए हमने CodeGym पर सभी कार्यों को फिर से लिखा है । अब प्रत्येक कार्य में न केवल कार्य की शर्तें हैं, बल्कि 5-10 आवश्यकताओं की एक सूची भी है जो शर्तों को पूरा करती हैं। सबसे महत्वपूर्ण बात यह है कि प्रत्येक आवश्यकता को अलग से सत्यापित किया जाता है।

इसका मतलब यह है कि जब आप आज सत्यापन के लिए कोई कार्य सबमिट करते हैं, तो आपको एक विस्तारित प्रतिक्रिया मिलेगी: प्रत्येक कार्य आवश्यकता के आगे आपको एक विशेष आइकन दिखाई देगा जो दर्शाता है कि आपका कार्यक्रम इस आवश्यकता को पूरा करता है या नहीं। उदाहरण:

आवश्यकताएं

यह दृष्टिकोण जीवन को बहुत सरल करता है क्योंकि आप उन कार्यों पर काम करते हैं जिनके लिए आपको कई कक्षाएं या विधियों को लिखने की आवश्यकता होती है। आप हमेशा यह देख पाएंगे कि आपने कौन सी विधियों या कक्षाओं को सही लिखा है और कौन सी नहीं।


5. सिफारिशें

क्या किसी तरह कार्यों को और भी बेहतर बनाना संभव है? क्या यह बहुत अच्छा नहीं होगा यदि, प्रत्येक जाँच के बाद, आपको बताया जाए कि आपके कार्यक्रम में वास्तव में क्या गलत है और इसे ठीक करने के बारे में संकेत मिले? हाँ, यह अच्छा होगा! अच्छा अंदाजा लगाए? हम CodeGym 🙂 पर बस यही करते हैं

हम प्रत्येक कार्य आवश्यकता की जाँच करके दर्जनों सामान्य गलतियाँ पकड़ते हैं। यदि आपका प्रोग्राम कोई गलती करता है जिसके बारे में सत्यापनकर्ता को पता है, तो यह एक सिफारिश करता है - एक संकेत कि आप अपने समाधान को कैसे ठीक कर सकते हैं ताकि यह सभी आवश्यकताओं को पूरा कर सके।

इसके बारे में सोचो। अब CodeGym पर लगभग 1200 कार्य हैं, जिनमें कुल लगभग 10,000 आवश्यकताएं हैं। और प्रत्येक आवश्यकता से जुड़ी कई सिफारिशें हैं। कुछ आवश्यकताओं में उनमें से दर्जनों हैं। CodeGym का सत्यापनकर्ता उपयोगकर्ता समाधानों के लिए 50,000 से अधिक सुझाव देने के लिए तैयार है।

इसके अलावा, यह सब तब होता है जब आपका समाधान मान्य होता है, जो ज्यादातर मामलों में एक सेकंड से भी कम समय लेता है। कोई व्यक्ति ऐसा नहीं कर सकता था। यह एक वास्तविक आभासी संरक्षक है।

सिफारिशों

6. समुदाय

CodeGym संपूर्ण अभ्यास पर केंद्रित है , जो पूरी सीखने की प्रक्रिया का 80% से अधिक हिस्सा है । हमने सीखने को एक बड़ी, आकर्षक खोज (वास्तव में खोजों की एक श्रृंखला) में बदल दिया।

लेकिन हर कोई अलग होता है: कुछ लोग जल्दी सीखते हैं, जबकि अन्य धीरे-धीरे सीखते हैं। कुछ लोगों को नई सामग्री आसान लगती है, जबकि कुछ को यह अधिक कठिन लगती है। लेकिन हमारा काम हमारे प्रत्येक छात्र के लिए फिनिश लाइन पर पहुंचना है। कम से कम हम इसके लिए प्रयास कर रहे हैं।

इस दुनिया में प्रोग्रामर केवल कुछ मिलियन लोग नहीं हैं जो विभिन्न भाषाओं में कोड लिखते हैं और अपने खाली समय में स्टार्टअप बनाते हैं। वे एक वैश्विक नेटवर्क बनाते हैं, लगातार अपने ज्ञान को दूसरों के साथ साझा करते हैं, सवालों के जवाब देने के लिए तैयार रहते हैं और जटिल विषयों को समझने में आपकी मदद करते हैं।

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

CodeGym में, हम मानते हैं कि छात्रों के बीच ज्ञान का आदान-प्रदान अत्यंत मूल्यवान है। जैसे-जैसे प्रोग्रामर दूसरों की मदद करते हैं, वैसे-वैसे वे खुद बढ़ते जाते हैं । और किसी चीज़ को स्वयं समझने का इससे अच्छा तरीका किसी और को समझाने का कोई तरीका नहीं है। इसलिए हमने अपनी वेबसाइट पर विशेष खंड बनाए हैं जो हमारे सभी छात्रों को अपने ज्ञान को साझा करने और एक दूसरे को सीखने में मदद करने का अवसर देने के लिए डिज़ाइन किए गए हैं।

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


7. कार्यों के बारे में प्रश्न

आवश्यकताएं , अनुशंसाएं , और वर्चुअल परामर्शदाता बहुत अच्छे हैं लेकिन क्या होगा अगर सत्यापनकर्ता अभी भी आपके समाधान को स्वीकार नहीं करेगा और आप सुनिश्चित नहीं हैं कि समस्या क्या है?

इस मामले में अभी भी एक रास्ता बचा है। सहायता अनुभाग से मिलें । वेबसाइट के इस खंड में, CodeGym के छात्र कार्यों के बारे में प्रश्न पूछ सकते हैं, एक दूसरे के समाधान तलाश सकते हैं, और सलाह और सुझाव भी दे सकते हैं। पूर्ण समाधान पोस्ट करने की अनुमति नहीं है!

यह बहुत सरल और बुनियादी लगता है, लेकिन यह वास्तव में काफी परिष्कृत है।

सबसे पहले, प्रत्येक प्रश्न में एक संबद्ध कार्य हो सकता है । इसका मतलब यह है कि यदि आप किसी विशिष्ट कार्य के बारे में प्रश्नों में रुचि रखते हैं, तो सभी प्रश्नों को हल करने का कोई मतलब नहीं है। आप केवल उस कार्य से संबंधित प्रश्नों को आसानी से देखने के लिए फ़िल्टर का उपयोग कर सकते हैं जिसमें आपकी रुचि है। खोज बार में बस कार्य का नाम दर्ज करें:

कार्यों के बारे में प्रश्न

दूसरा, यदि आप किसी कार्य को हल करते समय "सामुदायिक सहायता" बटन पर क्लिक करते हैं, तो आपको तुरंत सहायता अनुभाग में ले जाया जाएगा, जहाँ आप केवल उस कार्य के बारे में प्रश्न देखेंगे जिस पर आप काम कर रहे हैं। यदि आपका समाधान कार्य सत्यापन में विफल रहता है, तो प्रश्नों को सहायक तरीके से क्रमबद्ध किया जाता है: शीर्ष प्रश्न उन असंतुष्ट आवश्यकताओं के बारे में होंगे जिनके कारण आपका समाधान विफल हो गया।

सहायता बटन

तीसरा, IntelliJ IDEA प्लगइन समान कार्यक्षमता प्रदान करता है। आप "सहायता" बटन पर क्लिक कर सकते हैं या कुंजी संयोजन Ctrl+Alt+W दबा सकते हैं, जो तुरंत आपके ब्राउज़र में सहायता अनुभाग खोल देगा। और निश्चित रूप से, फ़िल्टर केवल उस कार्य के बारे में प्रश्न प्रदर्शित करेगा जिसे आप IntelliJ IDEA में हल कर रहे हैं ।

IntelliJ आईडिया मदद

8. एक प्रश्न बनाना

यदि आपको सहायता अनुभाग में अपनी त्रुटि का अच्छा विश्लेषण नहीं मिलता है, तो आप हमेशा अपना स्वयं का प्रश्न बना सकते हैं। यह करना काफी आसान है - आपको केवल "प्रश्न पूछें" बटन पर क्लिक करने और आवश्यक फ़ील्ड भरने की आवश्यकता है:

प्रश्न बनाना

स्टैकओवरफ़्लो, कोड रेंच, आदि जैसी कई अन्य सेवाओं के विपरीत, CodeGym के लिए आपको प्रश्न के शीर्षक में सभी महत्वपूर्ण जानकारी रटने की आवश्यकता नहीं है। आप जैसे चाहें अपना प्रश्न लिखें।

और वैसे, आपको अपने कोड को WebIDE या IntelliJ IDEA से कॉपी करके अपने प्रश्न में जोड़ने की आवश्यकता नहीं है। जब आप किसी कार्य के बारे में कोई प्रश्न बनाते हैं, तो विभिन्न कार्य आवश्यकताओं की स्थितियों के साथ आपके समाधान का कोड स्वचालित रूप से उसमें जुड़ जाता है , अर्थात आपका समाधान वर्तमान में किन आवश्यकताओं को पूरा करता है और कौन सी नहीं।

प्रश्न बनाना 2

इसका मतलब यह है कि अन्य CodeGym छात्र तुरंत पूछने वाले के समाधान के बारे में सभी प्रासंगिक जानकारी देखते हैं, जिससे अच्छी सलाह देना बहुत आसान हो जाता है।


9. समाधान कोड

कई साइटों पर, कोड के बारे में एक प्रश्न बनाते समय, आपको या तो प्रोग्राम फ़ाइलों के साथ संग्रह को प्रश्न में संलग्न करना होगा, या इन सभी फ़ाइलों को प्रश्न के पाठ में ही जोड़ना होगा। परिणाम एक बड़ी गड़बड़ी है कि लोग या तो अनिच्छुक हैं या खोदने में असमर्थ हैं।

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

  • उस कार्य से लिंक करें जिसे पूछने वाला हल कर रहा है
  • कार्य की स्थिति इसलिए दूसरों को कहीं भी उनका शिकार करने की आवश्यकता नहीं है
  • समाधान कोड — इसमें कई फ़ाइलें शामिल हो सकती हैं
  • प्रत्येक कार्य आवश्यकता की स्थिति, अर्थात वर्तमान में क्या काम करता है और क्या नहीं।
  • प्रश्न का पाठ: यह आमतौर पर काफी स्पष्ट है - मेरा समाधान काम नहीं करता है, और मुझे यकीन नहीं है कि क्यों।

CodeGym इस जानकारी को एक विशेष विजेट का उपयोग करके प्रदर्शित करता है जो WebIDE विजेट के समान है । आखिरकार, यह पहले से ही उस सारी जानकारी को प्रदर्शित करने के लिए डिज़ाइन किया गया है। ठीक है, शायद प्रश्न के अपवाद के साथ ही।

समाधान कोड

वास्तव में, हमने केवल आपके लिए अन्य उपयोगकर्ताओं के समाधानों का अध्ययन करना सुविधाजनक बनाने के लिए एक विशेष विजेट लिखा है । और अन्य उपयोगकर्ताओं के लिए आपके द्वारा पूछे गए प्रश्नों में आपके समाधान की जांच करना आसान और सुखद बनाने के लिए।