بچوں کو پروگرامنگ کی تعلیم
اس امر سے انکار ممکن نہیں کہ بچوں کو پروگرامنگ سے روشناش کرانا تعلیم کا اہم حصہ ہے۔ بحث اس پر ہوتی ہے کہ اس کا صحیح طریقہ کیا ہے۔ یا سوال کیا جاتا ہے کہ کونسی پروگرامنگ زبان ایسی خصوصیات کی حامل ہے، جو ایسے طلباء کیلئے موزوں ہو جن بچوں کی عمر دس بارہ سال کے لگ بھگ ہو۔ یہ سوال اکثر فورموں پر اٹھایا جاتا ہے۔ "شلیش ڈاٹ" پر بھی کئی دفعہ بحث ہو چکی ہے۔ کچھ لوگ logo کا نام لیتے ہیں۔ کچھ basic کا۔ مائیکروسافٹ کے پجاری "ویزول بیسک" کا۔ کچھ "جاوا" کا ذکر بھی کرتے ہیں۔ بچوں کیلئے خاص زبانیں بنانے کا تجربہ بھی کیا گیا ہے۔ اس سوال کا مجھے بھی سامنا ہؤا۔ میرا خیال تھا کہ سائیلیب scilab اس کے لیے موزوں ہو گی۔ بچے اسے کیلکولیٹر کے طور پر سیکھنا شروع کریں گے، اور آہستہ آہستہ پروگرامنگ کے بنیادی قوائد سے واقف ہو جائیں گے۔ مگر عملی طور پر یہ میری خام خیالی ثابت ہوئی۔ ایک تو سب بچوں کو ریاضی سے اتنا شغف نہیں ہوتا، اور پھر اس میں کیا سوال حل کیا جائے جو چھوٹے بچوں کے کام کا ہو۔ اس معمےکا حل مجھ پر اس وقت واضح ہؤا، جب میں نے یہ جانا کہ بچے کمپوٹر کو ویب براؤزر کے ذریعہ جانتے ہیں۔ اس لیے پروگرامنگ کا انٹرفیس بھی ویب براؤزر ہی ہونا چاہیے۔ "ڈیٹا" لینے کیلئے حٹمل"فارم" کا استعمال کیا جا سکتا ہے۔ فارم میں "ٹیکست باکس"، "ریڈیو بٹن"، input fields وغیرہ استعمال کی جا سکتی ہیں۔ اب پروگرامنگ زبان کا سوال رہ جاتا ہے۔ اس کیلئے میں نے PHP کا انتخاب کیا ہے، جو server side پروگرامنگ کیلئے استعمال ہوتی ہے، اور ایک سکرپٹنگ زبان ہے۔ اس کام کو چلانے کیلئے آپ کو ویب سرور apache اور php کا ماڈیول چاہیے ہوتے ہیں۔ یہ سب چیزیں لینکس پر تو پہلے ہی نصب ہوتی ہیں۔ آپ نے LAMP کا لفظ سنا ہو گا:
LAMP = Linux + Apache + mySQL + PHP/perl/Python
ونڈوز پر بھی آپ تنصیب کر سکتے ہو۔
چلو ایک سادہ سے پروگرام پر نظر ڈالتے ہیں۔ ایک HTML فائل بنا کر اسے محفوظ کر لو:
یہ ایک html فائل ہے، جس میں ایک فارم ہے، "سبمٹ" بٹن کے ساتھ۔ دو خانے ہیں، جس میں نام اور عمر کا اندراج کیا جا سکتا ہے۔ آپ اپنے localhost سرور کے پتے پر اس فائل کو اپنے براؤزر میں کھول سکتے ہو۔ جب submit کا بٹن دبایا جاتا ہے، تو یہ myAct.php فائل کو چلاتا ہے۔ اب ہم اس myAct.php فائل میں اپنا پروگرام لکھتے ہیں:
دیکھو کہ پحپ پروگرام خاص ٹیگز <? ?> کے درمیان لکھا گیا ہے۔ یہ سادہ سا پروگرام، نام اور عمر پرنٹ print کر دیتا ہے، اور عمر کی بنیاد پر ایک فیصلہ کرتا ہے, if کے ذریعہ ۔ متغیر variables کے استعمال کا بھی پتہ چلتا ہے، جو اس پروگرام کو حٹمل فارم سے ملتے ہیں۔
PHP کے ٹیٹوریل ویب پر موجود ہیں۔ آسانی کیلئے یہ: /etc/apache/php.ini میں registers_globals کو on کر لینا بہتر ہے، ورنہ متغیر کو پکڑنا مشکل ہو جاتا ہے۔
اس امر سے انکار ممکن نہیں کہ بچوں کو پروگرامنگ سے روشناش کرانا تعلیم کا اہم حصہ ہے۔ بحث اس پر ہوتی ہے کہ اس کا صحیح طریقہ کیا ہے۔ یا سوال کیا جاتا ہے کہ کونسی پروگرامنگ زبان ایسی خصوصیات کی حامل ہے، جو ایسے طلباء کیلئے موزوں ہو جن بچوں کی عمر دس بارہ سال کے لگ بھگ ہو۔ یہ سوال اکثر فورموں پر اٹھایا جاتا ہے۔ "شلیش ڈاٹ" پر بھی کئی دفعہ بحث ہو چکی ہے۔ کچھ لوگ logo کا نام لیتے ہیں۔ کچھ basic کا۔ مائیکروسافٹ کے پجاری "ویزول بیسک" کا۔ کچھ "جاوا" کا ذکر بھی کرتے ہیں۔ بچوں کیلئے خاص زبانیں بنانے کا تجربہ بھی کیا گیا ہے۔ اس سوال کا مجھے بھی سامنا ہؤا۔ میرا خیال تھا کہ سائیلیب scilab اس کے لیے موزوں ہو گی۔ بچے اسے کیلکولیٹر کے طور پر سیکھنا شروع کریں گے، اور آہستہ آہستہ پروگرامنگ کے بنیادی قوائد سے واقف ہو جائیں گے۔ مگر عملی طور پر یہ میری خام خیالی ثابت ہوئی۔ ایک تو سب بچوں کو ریاضی سے اتنا شغف نہیں ہوتا، اور پھر اس میں کیا سوال حل کیا جائے جو چھوٹے بچوں کے کام کا ہو۔ اس معمےکا حل مجھ پر اس وقت واضح ہؤا، جب میں نے یہ جانا کہ بچے کمپوٹر کو ویب براؤزر کے ذریعہ جانتے ہیں۔ اس لیے پروگرامنگ کا انٹرفیس بھی ویب براؤزر ہی ہونا چاہیے۔ "ڈیٹا" لینے کیلئے حٹمل"فارم" کا استعمال کیا جا سکتا ہے۔ فارم میں "ٹیکست باکس"، "ریڈیو بٹن"، input fields وغیرہ استعمال کی جا سکتی ہیں۔ اب پروگرامنگ زبان کا سوال رہ جاتا ہے۔ اس کیلئے میں نے PHP کا انتخاب کیا ہے، جو server side پروگرامنگ کیلئے استعمال ہوتی ہے، اور ایک سکرپٹنگ زبان ہے۔ اس کام کو چلانے کیلئے آپ کو ویب سرور apache اور php کا ماڈیول چاہیے ہوتے ہیں۔ یہ سب چیزیں لینکس پر تو پہلے ہی نصب ہوتی ہیں۔ آپ نے LAMP کا لفظ سنا ہو گا:
LAMP = Linux + Apache + mySQL + PHP/perl/Python
ونڈوز پر بھی آپ تنصیب کر سکتے ہو۔
چلو ایک سادہ سے پروگرام پر نظر ڈالتے ہیں۔ ایک HTML فائل بنا کر اسے محفوظ کر لو:
کوڈ:
...... HTML file ..........
<h2> Questions for You!</h2>
<form
method="post"
action="myAct.php">
What is your name?
<input type="text"
name="myName"
value="">
How old are you?
<input type="text"
name="myAge"
value="">
<input type="submit">
</form>
یہ ایک html فائل ہے، جس میں ایک فارم ہے، "سبمٹ" بٹن کے ساتھ۔ دو خانے ہیں، جس میں نام اور عمر کا اندراج کیا جا سکتا ہے۔ آپ اپنے localhost سرور کے پتے پر اس فائل کو اپنے براؤزر میں کھول سکتے ہو۔ جب submit کا بٹن دبایا جاتا ہے، تو یہ myAct.php فائل کو چلاتا ہے۔ اب ہم اس myAct.php فائل میں اپنا پروگرام لکھتے ہیں:
کوڈ:
..... myAct.php .....
<h2> Hello me! </h2>
<?
print "Your name is $myName.
";
print "And you are $myAge years old.
";
if ($myAge<13)
{
print "You are a kid!
";
}
else
{
print "You are a teen or an adult.
";
}
?>
دیکھو کہ پحپ پروگرام خاص ٹیگز <? ?> کے درمیان لکھا گیا ہے۔ یہ سادہ سا پروگرام، نام اور عمر پرنٹ print کر دیتا ہے، اور عمر کی بنیاد پر ایک فیصلہ کرتا ہے, if کے ذریعہ ۔ متغیر variables کے استعمال کا بھی پتہ چلتا ہے، جو اس پروگرام کو حٹمل فارم سے ملتے ہیں۔
PHP کے ٹیٹوریل ویب پر موجود ہیں۔ آسانی کیلئے یہ: /etc/apache/php.ini میں registers_globals کو on کر لینا بہتر ہے، ورنہ متغیر کو پکڑنا مشکل ہو جاتا ہے۔