"हॅलो, नीरज, माझ्या मित्रा (पुनरावृत्तीबद्दल माफ कर!) तू कदाचित ही म्हण ऐकली असशील: 'तुम्ही प्रशिक्षणात जितका जास्त घाम गाळाल, तेवढे तुम्ही युद्धात कमी रक्तरंजित व्हाल', हो ना?"

"खरेच आहे हे, शिक्षण बऱ्याचदा इतकं सोपं नसतं! तू एका नवीन व्यवसायावर एक प्रोग्रॅमर म्हणून प्रभुत्व मिळवत आहेस, आणि, अशी खूपच शक्यता आहे की, तू तुझ्या कामाचे क्षेत्र खूप मोठ्या प्रमाणात बदलत आहेस."

"कोडजिममध्ये भरपूर सरावाचा अंतर्भाव आहे. संपूर्ण शिकण्याच्या प्रक्रियेचा 80% जास्त भाग सरावाचा आहे."

"आम्ही त्याचा एक मोठा, मनोरंजक शोध बनवला आहे (खरेतर शोधांची एक मालिका), पण प्रत्येकजण वेगळा असतो: काहीजण लवकर शिकतात, इतर थोडे सावकाश शिकतात. काहीजण नवीन गोष्टींवर सहजतेने प्रभुत्व मिळवतात, तर तेच इतरांसाठी जास्त अवघड असते. मात्र, आमचे काम आहे आमच्या प्रत्येक विद्यार्थ्याला अंतिम रेषेपार नेणे."

"पण, सर, जर मला पुढची टास्क काही केल्या समजली नाही, किंवा जर मला पुढच्या विषयाचे स्पष्टीकरण समजले नाही, अगदी तो माझ्या जीवनमरणाचा प्रश्न असेल तरी?"

"उपाय अगदी सोपा आहे: समुदाय. समुदायात तुझ्यासारखे विद्यार्थी, पदवीधारक, शिक्षक, आणि व्यावसायिक डेव्हलपर्स आहेत...

"प्रोग्रॅमर्स म्हणजे विविध भाषांमध्ये कोड लिहिणारे आणि फावल्या वेळात स्टार्ट अप उघडणारे केवळ काही लाख लोक नाहीत. एकमेकांशी सतत आपल्या ज्ञानाची देवाणघेवाण करणारे त्यांचे एक जागतिक नेटवर्क आहे. प्रश्नांची उत्तरे द्यायला आणि इतरांना किचकट विषय समजावा यासाठी मदत करायला ते तयार असतात."

"प्रोग्रॅमर्सना एकमेकांकडून शिकणे गरजेचे असल्यामुळेच जगातील सर्वांत मोठा डेव्हलपर्सचा समुदाय असलेली, StackOverflow वेबसाईट, सुरू झाली. संकल्पना सोपी आहे: तू एक प्रश्न विचारतोस आणि जगातील कोणताही प्रोग्रॅमर त्याचे उत्तर देऊ शकतो. सोयीचे आहे, हो ना?:)"

"कोडजिममध्ये, आम्हाला असे वाटते की विद्यार्थ्यांनी ज्ञानाची देवाणघेवाण करणे खूप मौल्यवान आहे. इतरांना मदत करून, प्रोग्रॅमरचा व्यक्तिश: विकास होतो (शेवटी, एखादी गोष्ट समजून घेण्यासाठी, दुसऱ्याला ती समजावून सांगण्यासारखा चांगला मार्ग नाही)."

म्हणूनच आमच्या सर्व विद्यार्थ्यांना ज्ञानाची देवाणघेवाण करण्याची आणि एकमेकांना शिकण्याच्या प्रक्रियेत मदत करण्याची संधी देण्यासाठी आम्ही खास विभाग तयार केले आहेत.

"मग, जर तू एखाद्या टास्कवर अडकलास तर तू काय करशील? इंटरनेटवर पूर्ण केलेले सोल्युशन शोधणे ही चांगली कल्पना नाही. जर तुला एखादे मिळालेच, तर त्या शोधासाठी तुला श्रेय मिळेल. पण, तरीसुद्धा तुझ्या आकलनात कमतरता राहील आणि भविष्यात या गोष्टीचा तुला नक्कीच सामना करावा लागेल. माझ्यावर विश्वास ठेव."

"सक्रियपणे मदत विभाग वापरायला सुरुवात करणे, अधिक चांगले आहे."

"तो वापरायला खरेच सोपा आहे. टास्कच्या समोरच्या 'Help' बटणावर क्लिक कर:"

"जर तुला एका विशिष्ट पातळीवरची एखादी विशिष्ट टास्क शोधायची असेल तर फक्त त्या टास्कचे नाव सर्च बारमध्ये टाक."

"किंवा, ड्रॉपडाऊन यादीतून तुला आवश्यक असलेला शोध आणि पातळी निवड."

"जर तू "Resolved' फिल्टर निवडलास, तर तुला कोडजिम समुदायाने आधीच उत्तरे दिलेले प्रश्न दिसतील."

"फक्त 'Ask a question' बटणावर क्लिक कर, टास्कची लिंक जोड, आणि तुझी समस्या स्पष्ट कर."

"टीप: मदत विभागातील उत्तरात संपूर्ण कोड देण्याची परवानगी नाही. या विभागाचा उद्देश वापरकर्त्यांना एकमेकांना सल्ले देता येणे हा आहे, त्यामुळे त्यांना योग्य उत्तर स्वतःचे स्वतः शोधता येईल. एक असं की, तुझ्या शिक्षणात कोणतीही कमतरता राहणार नाही; आणि दुसरं म्हणजे, तू स्वत:वर खुश असशील: तू टास्क सोडून देण्याऐवजी किंवा संपूर्ण सोल्युशन शोधण्यासाठी गुगल करण्याऐवजी टास्क पूर्ण केलीस. याचा फायदाच आहे! :)"

"आणि तुला कोडजिमवर जसा अनुभव मिळत जाईल, तसा मदत विभागाबद्दल विसरू नकोस! मी वर सांगितल्याप्रमाणे, एखादी गोष्ट समजून घेण्यासाठी दुसऱ्याला ती समजावून सांगण्यासारखा चांगला मार्ग नाही. तुला जशी इतरांनी मदत केली तशी तू कोडजिमच्या विद्यार्थ्यांना मदत केलीस तर त्यांना आनंद होईल. फक्त 'New' फिल्टर निवड, आणि तुझ्या नर्ड मित्रांनी विचारलेल्या प्रश्नांची उत्तरे देण्याचा प्रयत्न कर. ते कृतज्ञ असतील, आणि तुला पुन्हा एकदा विषयात सखोल उडी मारता येईल आणि दुसऱ्या कोणाचा तरी कोड समजून घेता येईल (आणि दुसऱ्या कोणाचा तरी कोड समजून घेणे हे प्रोग्रॅमर्ससाठी महत्त्वाचे कौशल्य आहे!).

पण कोडजिम फक्त शिकण्यासाठी नाही! आपण आपल्या सहकारी प्रोग्रॅमर्सशीसुद्धा संवाद साधतो. (नवशिके आणि तज्ज्ञ दोघांशीही)"

"सामान्यपणे, लोक समाज माध्यमांवर समविचारी लोकांशी जोडले जाण्यासाठी ग्रुप तयार करतात. आम्हाला असे वाटले की ही एक चांगली कल्पना आहे, त्यामुळे आमच्या साईटवरसुद्धा ग्रुप्स आहेत".

"तू बघू शकतोस त्याप्रमाणे, वेगवेगळ्या प्रकारचे ग्रुप्स आहेत. आयटीमधल्या विविध आवडींवर आधारित ग्रुप्स आहेत (उदाहरणार्थ, फ्रंट एंड डेव्हलपर्स आणि टेस्टर्सचे ग्रुप आहेत)."

"आणि आमच्या वेबसाईटच्या तीन मुख्य ग्रुप्समध्ये नक्की सहभागी हो!

CodeGym ग्रुपमध्ये, आम्ही वेबसाईट, स्पर्धा, आणि जाहिराती याबद्दलच्या ताज्या बातम्या प्रकाशित करतो. वेबसाईटचे सर्व नवीन अपडेट्स आणि बदल आधी तिथे दिसतात."

"Random ग्रुपमध्ये, आम्ही सामान्यपणे आयटीबद्दलचे रंजक लेख प्रसिद्ध करतो, त्यातील अनेक लेख आमचे विद्यार्थी आणि पदवीधारकांनी लिहिलेले असतात! इथे नवीन तंत्रज्ञाने बघून, पुस्तकांची परीक्षणे वाचून, काम कसे मिळवायचे याबद्दलचे सल्ले बघून, आयटीमधील विनोदांचा आनंद घेऊन आणि इतर अनेक गोष्टींद्वारे तू तुझी क्षितिजे अधिक रुंदावू शकतोस. :)"

"एक Leaderboard विभागसुद्धा आहे."

"सर्व टास्क्स यशस्वीपणे पूर्ण कर, आणि एके दिवशी तू सर्व विद्यार्थ्यांमधला सर्वोत्तम विद्यार्थी ठरशील! :)"

"Java Developer ग्रुपमध्ये, तुला जावाबद्दलचे रंजक लेख, अतिरिक्त प्रशिक्षण सामग्री, तसेच भाषेबद्दलच्या बातम्या दिसतील."

"आणि इतरही अनेक ग्रुप्स आहेत. कोडजिम ही नवीन लेखकांसाठी सर्वोत्तम जागा आहे! एखादा लेख लिहिणे म्हणजे एखाद्या विषयावरचे आपले ज्ञान विचारपूर्वक व्यवस्थित मांडण्याचा एक चांगला मार्ग आहे."

"ठीक आहे, छान. सराव महत्त्वाचा आहे. पण सिद्धांताची (थेअरी) काय भूमिका असते?"

"अर्थातच, थेअरीसुद्धा अतिशय महत्त्वाची असते. जर भौतिकशास्त्रज्ञांनी त्यांचे सैद्धांतिक ज्ञान वापरले नसते आणि त्याऐवजी नुसते प्रयोग केले असते, तर मजा आली असती, पण ते फारसे उपयुक्त ठरले नसते! प्रोग्रॅमिंगसुद्धा याला अपवाद नाही. कोडजिममध्ये, आम्ही प्राथमिकत: सरावावर भर देतो, त्यामुळे तुम्हाला शक्य तितक्या लवकर प्रगती करता येते. मात्र, तुम्ही माहितीच्या इतर स्रोतांकडून, प्राथमिकत: पुस्तकांकडून ज्ञान मिळवू शकता.(आणि तुम्ही ते तसे मिळवावेत, अशी आम्ही शिफारस करतो.)”

"प्रत्येकजण वेगळा असतो: काही लोक फक्त कोडजिमवरचा एक छोटा धडा वाचतात आणि त्यांना तो ताबडतोब समजतो; पण काहींना इतर स्रोतांमधून माहिती गोळा करणे, त्याचा सारांश लिहिणे, आणि मग निष्कर्ष काढणे अधिक सोयीचे वाटते."

"इथे जावा प्रोग्रॅमिंगची काही सर्वांत चांगली पुस्तके दिलेली आहेत, कोडजिमवरच्या तुमच्या अॅक्टीव्हीटीजबरोबर तुम्ही या पुस्तकांचा अभ्याससुद्धा करू शकता. यातील प्रत्येक पुस्तकाने आपली योग्यता बरीच पूर्वी सिद्ध केलेली आहे आणि त्यामुळे तुमचा वेळ आणि पैसे वाया जाणार नाहीत."

  1. "Kathy Sierra and Bert Bates, Head First Java"

    "नवशिक्यांसाठी जावावरचे नक्कीच सर्वोत्तम पुस्तक! हेड-फर्स्ट मालिकेत अनेक प्रोग्रॅमिंग भाषांबद्दलची डझनावारी पुस्तके आहेत. विषय मांडण्याची या लेखकांची एक वैशिष्ट्यपूर्ण पद्धत आहे, त्यामुळे पुस्तके जलद वाचता येतात आणि सोपी वाटतात. त्याशिवाय, तू कोड लिहू शकतोस आणि पुस्तकातच टास्क्स करू शकतोस!"

    कोडजिमवर तुझी पातळी कोणतीही असली, अगदी तू शून्य पातळीवर असलास तरीही तू पुस्तक वाचायला सुरू करू शकतोस. :)"


  2. "Herbert Schildt: Java: The Complete Reference"

    "नवशिक्यांसाठी हे पुस्तकसुद्धा चांगले आहे. आधीचे पुस्तक आणि हे पुस्तक यात विषय मांडण्याच्या पद्धतीमध्ये फरक आहे: इथे विषय अधिक सखोलपणे आणि सातत्यपूर्ण पद्धतीने मांडला आहे(अनेक लोक अशा 'खेळाचे नियम' पद्धतीच्या मांडणीला प्राधान्य देतात). त्याच्या निश्चित फायद्यांपैकी एक तथ्य असे आहे की यात विषय अतिशय छोट्या तपशीलापर्यंत मांडला आहे, काहीवेळा, वारंवार मांडला आहे."


  3. "Bruce Eckel, Thinking in Java"

    "हे जावा प्रोग्रॅमर्सचे बायबल आहे. आणि यात अतिशयोक्ती नाही: प्रत्येक जावा डेव्हलपरने ते वाचले पाहिजे. ते अतिशय मोठे आहे आणि त्याचे एक कारण आहे. त्याला हे नाव अकारण देण्यात आलेले नाही: यात फक्त भाषेच्या विविध विषयांचाच समावेश नाही, तर त्यात जावाचे तत्वज्ञान- त्याची विचारसरणीसुद्धास्पष्ट केलेली आहे; भाषेच्या कर्त्यांनी कधीकधी काही गोष्टी त्यांच्या मनाप्रमाणे, इतर भाषांपेक्षा वेगळ्या पद्धतीने का केल्या, हे दिलेले आहे.

    "हे अगदी नवशिक्या लोकांसाठी नाही, पण तू कोडजिमवर 20 व्या पातळीपर्यंत पोचलास की याचा अभ्यास करायला सुरू करू शकतोस."

    "ही काही जावाची आवश्यक पुस्तके तू वाचायला हवीस (अशी अनेक पुस्तके आहेत). पुस्तके वाचून, भाषा शिकण्याव्यतिरिक्त, तुझे प्रोग्रॅमिंगबद्दलचे सामान्य आकलनसुद्धा वाढेल. त्यासाठी ही सर्वोत्तम पुस्तके आहेत:"


  4. "Charles Petzold, Code: The Hidden Language of Computer Hardware and Software"

    "या पुस्तकाचे अमेझॉनवरील रेटिंग(4.7/5) आणि इतर प्रशंसा असलेली परीक्षणे त्याची उपयुक्तता स्पष्ट करतात."

    "जे लोक माध्यमिक शाळेतल्या संगणकशास्त्राच्या वर्गात काय शिकलो, ते कधीच विसरून गेले आहेत, किंवा जे कधी संगणकशास्त्र हा विषय शिकलेच नाहीत, त्यांच्यासाठी हे अतिशय चांगले पुस्तक आहे. त्यामध्ये सामान्य माणसाच्या परिभाषेत, संगणक आणि कोड कसे काम करतात, याबद्दलच्या महत्त्वाच्या गोष्टी सांगितलेल्या आहेत. उदाहरणार्थ, प्रोग्रॅमरने लिहिलेला कोड संगणक कसा एक्झिक्युट करतो? आणि संगणकाला कोडचा मजकूर, म्हणजे संगणकाला लोक काय करायला सांगत आहेत, ते कसे कळते?"

    "आधीच अभिजात बनलेल्या या पुस्तकात या प्रश्नांची उत्तरे आहेत. कोणतेही विशेष शिक्षण न घेतलेल्या आणि प्रोग्रॅमिंग शिकणाऱ्या लोकांचा वेग वाढवण्यासाठी मदत करण्याचे काम हे पुस्तक अतिशय उत्तम रीतीने करते."


  5. "Aditya Bhargava, Grokking Algorithms".

    "अल्गोरिदम्स आणि डेटा स्ट्रक्चर्स अतिशय महत्त्वाची आणि आवश्यक आहेत. प्रोग्रॅमरच्या कामातील महत्त्वाच्या भागाचे ते प्रतिनिधीत्व करतात, आणि प्रोग्रॅमर्सनी त्यांचा वापर प्रभावीपणे केला पाहिजे! उदाहरणार्थ: हजारो यादृच्छिक संख्यांची क्रमवारी आपण कशी लावतो?"

    "प्रत्यक्षात, आपण ते अनेक प्रकारे करू शकतो! पण, ते सर्व मार्ग सारखेच प्रभावी नाहीत. अल्गोरिदम्स आणि डेटा स्ट्रक्चर्स यावर अनेक पुस्तके आणि अभ्यासक्रम आहेत, पण प्रोग्रॅमिंग शिकायला नुकतीच सुरुवात केलेल्या लोकांसाठी भार्गवांचे पुस्तक नक्कीच सगळ्यात चांगले आहे. त्यातली भाषा सोपी आहे, त्यात चित्रांसह तपशीलवार स्पष्टीकरणे आहेत आणि हे पुस्तक फार मोठे नाही. आपल्याला सुरुवात करण्यासाठी जे आवश्यक आहे, ते यात आहे!"

"पुस्तके वाचणे, टास्क्स पूर्ण करणे, आणि समुदायात सहभागी होणे; प्रोग्रॅमर होण्यासाठी ही परिपूर्ण कृती आहे!"