22 February, 2009

कम्प्यूटर प्रोग्रामिंग को बच्चों का खेल बनाइये

आज कम्प्यूटर अपने विविध रूपों में सर्वव्याप्त हो गया है। तमाम ऐसी युक्तियाँ हैं जिसमें छिपा-हुआ (इम्बेडेड) कम्प्यूटर है जिसकी हम कल्पना भी नहीं करते। यह कोई अनुमान नहीं बल्कि सुनिश्चित है कि आने वाले दिनों में कम्प्यूटर की व्याप्ति और अधिक ही होने वाली है।

कम्प्यूटर छोटे-छोटे किन्तु लाखों-करोंड़ों कार्यों (इन्स्ट्रक्सन्स) को बहुत तीब्र गति से करता है। ( इस मामले में वह मानव से भिन्न है जो बड़े-बड़े कार्यों को अपेक्षाकृत धीमी गति से करने का आदी है। ) इन्हीं कार्यों को क्रमवद्ध रूप से व्यक्त करने को कम्प्यूटर प्रोग्रामिंग कहते हैं।

आज हर तरह के कार्य के लिये अच्छे-से-अच्छा प्रोग्राम उपलब्ध है तो पूछा जा सकता है कि प्रोग्रामिंग की क्या आवश्यकता है?

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

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

बच्चों को कौन सी प्रोग्रामिंग भाषा सिखायें ?
इस पर बहुत से लोगों ने चिचार किया है और मैं भी संक्षेप में उन्ही के विचारों को अनुमोदित करूँगा। बेसिक (BASIC) में प्रोग्राम करना शीघ्र सीखा जा सकता है क्योंकि इसमें इसमें कुछ भी ऐसा नही आता जो शुरू में ही भ्रम (कान्फ्यूजन) पैदा कर दे। नेट पर इसका सॉफ्टवेयर मुफ्त में उपलब्ध है। दूसरी भाषा लोगो (Logo) है जिसका निर्माण ही बच्चों को प्रोग्रामिंग सिखाने के ध्येय से ही हुआ है। तीसरा प्रोग्राम 'स्क्रैच' (Scratch) है जिसे विश्वप्रसिद्ध प्रौद्योगिकी संस्थान एम् आई टी ने विकसित किया है। यह भी नि:शुल्क उपलब्ध है। यह एक तरह से ग्राफिक्स-आधारित प्रोग्रामिंग है जिससे बच्चा छवियों का एनिमेशन आदि प्रोग्राम कर सकता है। ध्यात्व्य है कि बहुत सरे नये प्रोग्राम अब ब्लाक-आधारित या ग्राफिक्स- अधारित प्रोग्रामिंग की सुविधा वाले आने लगे हैं और भविष्य में टेक्स्ट के रूप में प्रोग्राम लिखना काफी सीमित होने की सम्भावना है।

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

13 comments:

ज्ञानदत्त । GD Pandey said...

अच्छे विषय पर आपने लिखा। पर मेरे जैसे व्यक्ति की आवश्यकता जीवन के इस चरण पर प्रोग्रामिंग में कामचलाऊ अपडेट रहने की है। उस विषय में आपकी क्या सलाह है?
मेरे जैसे व्यक्ति प्रोग्रामिंग में तकनीकी अशिक्षित नहीं, तकनीकी ऑब्सोलीट (पुराने) हैं। :)

हिमांशु said...

कभी भी नहीं सीखा पढ़ा इस कम्प्यूटर प्रोग्रामिंग को. क्या सबको सीखना जरूरी है? मैं तो बस यूं ही बिना कुछ सीखे कम्प्यूटर चलाने की जिद और ब्लोगिंग की जिद से कम्प्यूटर से जुड़ा हूं. मुझे क्या करना चाहिये?

Udan Tashtari said...

ये सही विषय उठाया. बहुत बढ़िया.

इष्ट देव सांकृत्यायन said...

भाई अनुनाद जी

खाली इतने से काम नहीं चलेगा. अब एक-एक भाषा के बारे में समझाइए भी कि कैसे-कैसे क्या-क्या किया जाता है. हम लोगों को छोटी गोल का विद्यार्थी समझिए और शुरू हो जाइए मुंशी जी की तरह. हर रोज़ एक पाठ.

Shastri said...

वाकई में बेसिक एवं लोगो एक दम सीखे जा सकत हैं, खास कर यदि सिखाने वाला बच्चों को तार्किक विधि से समस्या-समाधान का तरीका समझा दे.

आप ने जिस तीसरी भाषा का उल्लेख किया है वह मेरे लिये नई चीज है एवं उसे देखना पडेगा. क्या मालूम इस बहाने इस उमर में एक बार और प्रोग्रामिंग की यादें ताजी हो जायें

सस्नेह -- शास्त्री

Science Bloggers Association said...

बहुत ही महत्वपूर्ण जानकारी प्रदान की है आपने। आभार। आगे भी ऐसी कीमती टिप्स प्रदान करते रहिएगा।

भारतीय नागरिक - Indian Citizen said...

बहुत अच्छा लिखा. अच्छी जानकारी दी.

प्रवीण त्रिवेदी...प्राइमरी का मास्टर said...

अच्छे विषय पर आपने लिखा


होली कैसी हो..ली , जैसी भी हो..ली - हैप्पी होली !!!

होली की शुभकामनाओं सहित!!!

प्राइमरी का मास्टर
फतेहपुर

अखिलेश शुक्ल said...

मानीय महोदय
आपके ब्लाग पर आपके विचारों से अवगत हुआ। क्यों न इन विचारों को आप एक संग्रह के रूप में प्रकाशित कराएं। यदि आप प्रकाशन के लिए हमारी सेवाएं चाहते हैं तो आप निराश नहीं होगें।
अखिलेश शुक्ल
संपादक कथा चक्र
http://katha-chakra.blogspot.com

Anonymous said...

anunadji,
sadar namaskar,
apne blog ke maadhyam se aapne hindi ke liye jo kiya he uski jitni saraahanaa kee jaaye utni kam hogi.
me apke hee shahar me rahtaa hu. peshe se Teevee patrakaar hu.
krapaya aapkaa phone no. dene ki krapa kare.
subodh, 94250-52811

Anonymous said...

anunadji,
indore me shree madhya bharat hindi sahitya samiti dwaaraa 21 march ko hindi bloging par ek kaaryashaalaa ayojit ki gai he.
ise ravi ratlami sambodhit karenge. aap sadar aamantrit he.

राजेश चौधरी said...

बहुत अच्छा लिखा है आपने. आगे भी लिखते रहें इस विषय पे.

Geeta Pal said...

hamein bhi visit karein kuch isi disha me kam kar rahe hain

www.learnbywatch.com
http://learnywatch.blogspot.com