Stepik سے محبت کے ساتھ: Hyperskill تعلیمی پلیٹ فارم

میں آپ سے اس بارے میں بات کرنا چاہتا ہوں کہ ہم پلمبنگ کو اس کے بارے میں مقالے لکھنے سے زیادہ کیوں ٹھیک کرتے ہیں، پروگرامنگ سکھانے کے مختلف طریقوں کے بارے میں، اور ہم ان میں سے ایک کو اپنی نئی پروڈکٹ Hyperskill میں کیسے لاگو کرنے کی کوشش کر رہے ہیں۔

اگر آپ کو طویل تعارف پسند نہیں ہے، تو پروگرامنگ کے بارے میں سیدھے پیراگراف پر جائیں۔ لیکن یہ کم مزہ آئے گا۔

Stepik سے محبت کے ساتھ: Hyperskill تعلیمی پلیٹ فارم

گیت بازی

آئیے ایک مخصوص نوجوان خاتون ماشا کا تصور کریں۔ آج ماشا کچھ پھل دھونے اور سکون سے فلم دیکھنے جا رہی تھی، لیکن بدقسمتی: اچانک اسے معلوم ہوا کہ کچن کا سنک بھرا ہوا ہے۔ ابھی تک یہ واضح نہیں ہے کہ اس کا کیا کرنا ہے۔ آپ اس مسئلے کو غیر معینہ مدت کے لیے ملتوی کر سکتے ہیں، لیکن اب فارغ وقت ہے، اس لیے ماشا فوراً اس مسئلے سے نمٹنے کا فیصلہ کرتی ہے۔ عقل دو آپشنز تجویز کرتی ہے: a) پلمبر کو کال کریں ب) اسے خود ہینڈل کریں۔ نوجوان خاتون دوسرے آپشن کا انتخاب کرتی ہے اور یوٹیوب پر دی گئی ہدایات کا مطالعہ کرنے لگتی ہے۔ صارف Vasya_the_plumber کے مشورے پر عمل کرتے ہوئے، ماشا سنک کے نیچے دیکھتی ہے اور اسے کئی حصوں پر مشتمل پلاسٹک کا پائپ نظر آتا ہے۔ لڑکی احتیاط سے سنک کی بنیاد پر ایک ٹکڑا کھولتی ہے اور اسے کچھ نہیں ملا۔ پائپ کا ایک نچلا ٹکڑا کسی نامعلوم مادے سے مضبوطی سے بھرا ہوا ہے، اور یہاں تک کہ میز پر پایا جانے والا کانٹا بھی رکاوٹ کا مقابلہ نہیں کر سکتا۔ انٹرنیٹ کے ماہرین نے مایوس کن پیش گوئیاں کی ہیں: حصہ تبدیل کرنا پڑے گا۔ نقشے پر، ماشا قریب ترین اسٹور تلاش کرتی ہے، اپنے ساتھ پائپ کا بدقسمت ٹکڑا لے جاتی ہے اور وہی خریدتی ہے، صرف نیا۔ بیچنے والے کے مشورے پر، ماشا روک تھام کے لیے ایک نیا سٹرینر بھی پکڑتی ہے۔ جستجو مکمل ہو گئی ہے: سنک اسی طرح کام کرتا ہے جیسا کہ اسے دوبارہ کرنا چاہیے، اور اس دوران اس کے مرکزی کردار نے درج ذیل باتیں سیکھیں:

  • آپ خود ہی سنک کے نیچے پائپوں کو کھول اور سخت کر سکتے ہیں۔
  • قریب ترین پلمبنگ اسٹور مشینا کے اپارٹمنٹ سے ڈیڑھ کلومیٹر کے فاصلے پر ہے۔

غالباً، ماشا نے یہ بھی نہیں دیکھا کہ اس نے کتنی نئی چیزیں سیکھی ہیں اور سیکھی ہیں، کیونکہ وہ مستقبل میں اپنے آرام کے بارے میں فکر مند تھی، اور ساتھ ہی ساتھ فلم دیکھ رہی تھی اور اپنا سیب دھو رہی تھی۔ اگلی بار اسی طرح کا مسئلہ پیدا ہو جائے تو لڑکی اسے کئی گنا زیادہ تیزی سے حل کر لے گی۔ درحقیقت، ماشا نے صرف دنیا کو اس کی معمول کی حالت میں نہیں لوٹایا۔ وہ تعلیم حاصل کی inductively، یعنی خاص صورتوں میں، اور مشق پر مبنییعنی چیزوں کو تفصیل سے اور پیشگی مطالعہ کرنے کے بجائے ان کو کرنے سے۔

ہر چیز مختلف طریقے سے نکل سکتی تھی۔ فرض کریں کہ ماشا شام کو کرسی پر بیٹھی ہے اور اچانک اسے احساس ہوا کہ وہ سنک میں بند ہونے کے لیے ذہنی اور جسمانی طور پر تیار نہیں ہے۔ وہ تیزی سے ایک پلمبر اکیڈمی میں داخلہ لے لیتی ہے، سنک کی اقسام، پائپ اور ممکنہ کنکشن، پلمبنگ کے مسائل کی درجہ بندی اور ان کے ممکنہ حل کا مطالعہ کرتی ہے۔ ماشا کو رات کو نیند نہیں آتی، اصطلاحات اور نام یاد کرتے ہیں۔ شاید وہ نظریاتی پائپ سائنس پر پی ایچ ڈی کا مقالہ بھی لکھ رہی ہے، جہاں وہ ربڑ کے گسکیٹ پر بحث کرتی ہے۔ آخر کار، سرٹیفکیٹ حاصل کرنے کے بعد، ماشا بڑے اعتماد کے ساتھ باورچی خانے کے ارد گرد نظر ڈالتی ہے کہ اب سنک کا معمولی سا مسئلہ بھی انگلی کی جھٹک سے حل ہو جائے گا۔ اس منظر میں، لڑکی نے مطالعہ کیا کٹوتی سے، عام سے مخصوص کی طرف بڑھتے ہوئے، اور اس پر زیادہ توجہ مرکوز کی گئی۔ نظریہ.

تو کون سا نقطہ نظر بہترین ہے؟ ایک سنک اور ایک بند کی صورت میں - سب سے پہلے، اور ان وجوہات کی بناء پر:

  1. اگر صرف ایک کام کرنے والا سنک اہم ہے، تو صرف یہ جاننا کافی ہے کہ اس مخصوص علاقے سے کیا تعلق ہے۔ جب ماشا کو احساس ہو گا کہ اس کے پاس علم کی کمی ہے، تو وہ یقینی طور پر مزید سیکھنے کا راستہ تلاش کرے گی۔
  2. انسائیکلوپیڈک علم کو حقیقی صورت حال میں فعال نہیں کیا جاسکتا ہے کیونکہ عادت تیار نہیں ہوئی ہے۔ اعمال کی ترتیب کو جاننے کے لیے، ان کے بارے میں پڑھنا نہیں، بلکہ ان کو انجام دینا سمجھ میں آتا ہے۔

آئیے غریب ماشا کو اکیلا چھوڑ دیں اور اسی طرح سیکھنے کے عمل کی طرف بڑھیں۔

پروگرامنگ: سیکھیں یا کریں؟

ہم یہ سوچنے کے عادی ہیں کہ کسی غیر مانوس شعبے میں ترقی کرنے اور ماہر بننے کے لیے ہمیں پہلے یونیورسٹی جانا ہوگا یا کم از کم کورسز میں داخلہ لینا ہوگا۔ ہم باقاعدگی سے سنتے ہیں کہ وہ ہمیں کیا کہتے ہیں اور کام انجام دیتے ہیں۔ جب ہمارے ہاتھ میں مائشٹھیت ڈپلومہ یا سرٹیفکیٹ ہوتا ہے، تو ہم فوری طور پر کھو جاتے ہیں، کیونکہ ہم ابھی تک یہ نہیں سمجھتے کہ ہمیں اتنی معلومات کی ضرورت کیوں ہے اور خاص طور پر اس کا اطلاق کیسے کیا جائے۔ اگر آپ کا اگلا منصوبہ سائنسی مقالے لکھنے اور ان کے ساتھ کانفرنسوں میں جانے کا ہے تو اس میں کوئی حرج نہیں ہے۔ دوسری صورت میں، یہ مہارت کے لئے کوشش کرنے کے قابل ہے، یعنی، مخصوص چیزوں کو دوبارہ کرنا اور کرنا، طویل عرصے تک یاد رکھنے کے لئے کوشش کرنا اور غلطیاں کرنا بہتر ہے کہ کیا نہ کرنا بہتر ہے۔

ان علاقوں میں سے ایک جہاں ایک "سخت ہاتھ" یا "ہیرے کی آنکھ" ایک وسیع نقطہ نظر کے ساتھ ہاتھ میں چلتی ہے پروگرامنگ ہے۔ اگر آپ تجربہ کار ڈویلپرز سے بات کریں تو آپ کو ایسی بہادر کہانیاں سننے کو ملیں گی جن میں ایک شخص نے چھوٹی عمر سے ہی ریاضی/طبیعیات/تدریس کا مطالعہ کیا اور پھر تھک کر بیک اینڈ پر چلا گیا۔ اعلیٰ تعلیم کے بغیر پروگرامرز بھی ہوں گے! سب سے پہلے، ایک ڈویلپر میں جس چیز کی قدر کی جاتی ہے وہ سرٹیفکیٹ یا ڈپلومہ نہیں ہے، بلکہ تحریری پروگراموں، اسکرپٹس اور ویب سائٹس کی مقدار اور معیار ہے۔

"لیکن انتظار کرو!"، آپ اعتراض کرتے ہیں، "خوبصورت لگتا ہے - اسے لے لو اور کرو!" اگر میں نے پہلے پروگرام نہیں کیا ہے تو میں آسانی سے اپنے آپ کو ایک پروگرام نہیں لکھ سکتا! میرے لیے یہ سمجھنا ضروری ہے کہ کہاں لکھنا ہے، کمپائلر کے ساتھ پروگرامنگ لینگویج میں بنیادی طور پر کیسے بات کرنی ہے۔ یہ گوگل پر کسی پلمبر کا فون نمبر تلاش کرنے جیسا نہیں ہے۔"

اس میں بھی ایک تلخ حقیقت ہے۔ ایک ناواقف پہلو دوسرے کی طرف لے جاتا ہے جس کے نتیجے میں تیسرے کی طرف جاتا ہے اور جلد ہی یہ عمل جادوگروں کے شو میں بدل جاتا ہے جو بندھے ہوئے رومال کو باہر نکالتا رہتا ہے اور انہیں اوپر کی ٹوپی سے باہر نہیں نکال سکتا۔ یہ عمل، ایمانداری سے، ناخوشگوار ہے؛ 5ویں "رومال" سے یہ پہلے ہی لگتا ہے کہ جہالت کی گہرائی ماریانا ٹرینچ کے قریب ہے۔ اس کا متبادل 10 قسم کے متغیرات، 3 قسم کے لوپس اور 150 ممکنہ طور پر مفید لائبریریوں کے بارے میں وہی لیکچر ہیں۔ افسوس کی بات ہے۔

ہائپر سکل: ہم نے بنایا، بنایا اور آخر کار بنایا

ہم نے کافی دیر تک اس مسئلے کے بارے میں سوچا۔ ہمارے بلاگ پر آخری پوسٹ کی تاریخ اس بارے میں جلدیں بولتی ہے کہ ہم کتنے عرصے سے سوچ رہے ہیں۔ تمام مباحثوں اور Stepik پر نئے نقطہ نظر کو مربوط کرنے کی کوششوں کے بعد، ہم نے... ایک مختلف سائٹ کے ساتھ اختتام کیا۔ آپ نے جیٹ برینز اکیڈمی کے حصے کے طور پر اس کے بارے میں پہلے ہی سنا ہوگا۔ ہم نے اسے Hyperskill کہا، پراجیکٹ پر مبنی سیکھنے میں بنایا گیا، جاوا کے علم کی بنیاد کو اس سے منسلک کیا، اور EduTools ٹیم کے تعاون کو شامل کیا۔ اور اب مزید تفصیلات۔

Stepik سے محبت کے ساتھ: Hyperskill تعلیمی پلیٹ فارم

مخصوص مقصد۔ ہم پروجیکٹس کا ایک "مینو" پیش کرتے ہیں، یعنی پروگرام جو آپ ہماری مدد سے لکھ سکتے ہیں۔ ان میں Tic-tac-toe، پرسنل اسسٹنٹ، بلاک چین، سرچ انجن وغیرہ شامل ہیں۔ منصوبے 5-6 مراحل پر مشتمل ہوتے ہیں۔ ہر مرحلے کا نتیجہ ایک مکمل پروگرام ہے۔ "پھر ہمیں دوسرے مراحل کی ضرورت کیوں ہے اگر سب کچھ پہلے ہی کام کر چکا ہے؟" سوال کے لیے شکریہ۔ ہر قدم کے ساتھ پروگرام زیادہ فعال یا تیز تر ہو جاتا ہے۔ پہلے کوڈ میں 10 لائنیں لگتی ہیں، لیکن آخر میں یہ 500 میں بھی فٹ نہیں ہو سکتا۔

تھوڑا سا نظریہ۔ پروگرامنگ کے بارے میں ایک لفظ جانے بغیر بیٹھ کر ہیلو ورلڈ لکھنا بھی ناممکن ہے۔ لہذا، پروجیکٹ کے ہر مرحلے پر، آپ دیکھتے ہیں کہ آپ کو کن نظریاتی بنیادی باتوں پر عبور حاصل کرنا ہے اور، سب سے اہم بات، انہیں کہاں سے حاصل کرنا ہے۔ بنیادی باتیں "نالج میپ" سیکشن میں Hyperskill پر بھی موجود ہیں۔ اگر پروجیکٹ کے پہلے مرحلے کے لیے طلباء کو فائل سے ڈیٹا پڑھنے کی ضرورت نہیں ہے، تو وہ جاری رکھنے کے قابل نہیں ہوسکتے ہیں۔ وہ اسے بعد میں خود سیکھیں گے، عام ترقی کے لیے، یا انہیں اگلے مرحلے میں اس کی ضرورت ہوگی۔

Stepik سے محبت کے ساتھ: Hyperskill تعلیمی پلیٹ فارم

علم کا نقشہ۔ یہ آپ کو دکھاتا ہے کہ آپ نے پہلے سے کون سے عنوانات کا مطالعہ کیا ہے اور ان کا ایک دوسرے سے کیا تعلق ہے۔ کوئی بھی پیارا ٹاپ کھولیں۔ آپ اس کے ذریعے چھیڑ چھاڑ کر سکتے ہیں، لیکن ہم تجویز کرتے ہیں کہ آپ چھوٹے کاموں کو مکمل کریں تاکہ یہ یقینی بنایا جا سکے کہ معلومات آپ کے دماغ میں فٹ بیٹھتی ہے۔ سب سے پہلے، پلیٹ فارم آپ کو ٹیسٹ دے گا، جس کے بعد یہ آپ کو پروگرامنگ کے کچھ کام دے گا۔ اگر کوڈ مرتب کرتا ہے اور ٹیسٹ پاس کرتا ہے، تو اس کا حوالہ حل کے ساتھ موازنہ کریں، بعض اوقات یہ اس کو لاگو کرنے کا زیادہ بہترین طریقہ تلاش کرنے میں مدد کرتا ہے۔ یا اس بات کو یقینی بنائیں کہ آپ کا حل پہلے سے ہی بہترین ہے۔

اضافی کچھ نہیں۔ ہم "سبز" صارفین اور تجربہ کار ڈویلپرز دونوں کا انتظار کر رہے ہیں۔ اگر آپ پہلے ہی پروگرام لکھ چکے ہیں تو اس سے کوئی فرق نہیں پڑتا، ہم آپ کو 2+2 شامل کرنے یا لائن کو دوبارہ تبدیل کرنے پر مجبور نہیں کریں گے۔ فوری طور پر مطلوبہ سطح تک پہنچنے کے لیے، رجسٹر کرتے وقت، اس بات کی نشاندہی کریں کہ آپ پہلے سے کس چیز سے واقف ہیں اور ایک زیادہ مشکل پروجیکٹ کا انتخاب کریں۔ اپنے آپ کو بہت زیادہ سمجھنے سے نہ گھبرائیں: اگر کچھ ہوتا ہے تو، آپ ہمیشہ علم کے نقشے میں بھولے ہوئے موضوع پر واپس جا سکتے ہیں۔

Stepik سے محبت کے ساتھ: Hyperskill تعلیمی پلیٹ فارم

اوزار. سائٹ پر ایک خاص ونڈو میں کوڈ کے چھوٹے چھوٹے ٹکڑے لکھنا بہت اچھا ہے، لیکن حقیقی پروگرامنگ کا آغاز ترقیاتی ماحول میں کام کرنے سے ہوتا ہے (Iانٹیگریٹڈ Dلفافہ Eماحول)۔ تجربہ کار پروگرامرز نہ صرف کوڈ لکھنا جانتے ہیں، بلکہ یہ بھی جانتے ہیں کہ گرافیکل انٹرفیس کیسے ڈیزائن کیا جائے، مختلف فائلوں کو پروجیکٹ میں کیسے جمع کیا جائے، اضافی ترقیاتی ٹولز کا استعمال کیا جائے، اور IDE ان میں سے کچھ پروسیسز کا خیال رکھتا ہے۔ پروگرامنگ سیکھنے کے دوران یہ ہنر کیوں نہیں سیکھتے؟ یہ وہ جگہ ہے جہاں JetBrains بچاؤ کے لیے آتا ہے اور پہلے سے انسٹال کردہ EduTools پلگ ان کے ساتھ IntelliJ IDEA Community Educational کا ایک خاص ورژن۔ اس طرح کے IDE میں، آپ تربیتی کورسز لے سکتے ہیں، حل شدہ مسائل کی جانچ کر سکتے ہیں، اور اگر آپ کچھ بھول گئے ہیں تو پروجیکٹ کی تجاویز دیکھ سکتے ہیں۔ پریشان نہ ہوں اگر آپ پہلی بار لفظ "پلگ ان" یا "IDE" سن رہے ہیں: ہم آپ کو بتائیں گے کہ یہ کیا ہے اور اسے کم سے کم تکلیف کے ساتھ اپنے کمپیوٹر یا لیپ ٹاپ پر کیسے انسٹال کرنا ہے۔ تھیوری کو سمجھیں، اور پھر IDE پر جائیں اور پروجیکٹ کا اگلا مرحلہ وہیں مکمل کریں۔

ڈیڈ لائنز ان میں سے کوئی نہیں ہے! ہم کون ہوتے ہیں سر پر دستک دینے والے اور بتانے والے کس رفتار سے پروگرام لکھیں۔ جب آپ کوڈ لکھنے سے لطف اندوز ہوتے ہیں اور اسے ختم کرنا چاہتے ہیں، تو آپ اسے آج یا کل ختم کرتے ہیں۔ اپنی خوشی کے لیے ترقی کرو۔

غلطیاں۔ ہر کوئی ان کو تسلیم کرتا ہے، تو آپ اس منصوبے کے مراحل میں سے ایک پر کرتے ہیں، اور پھر اس مرحلے کو خود کار طریقے سے ٹیسٹ پاس نہیں کریں گے. ٹھیک ہے، آپ کو خود ہی معلوم کرنا پڑے گا کہ کیا غلط ہوا ہے۔ ہم آپ کو بتا سکتے ہیں کہ غلطی کہاں ہے، لیکن کیا یہ آپ کو کوڈ کو احتیاط سے لکھنے کا طریقہ سکھائے گا؟ IDEA سے تجاویز پڑھیں یا بگس کے بارے میں ایک نظریاتی موضوع، اور جب پروگرام آخر کار کام کرتا ہے، تو ڈوپامائن کا رش آنے میں زیادہ دیر نہیں لگے گی۔

واضح نتیجہ۔ تو، آپ نے پہلا مسودہ مکمل کر لیا ہے، اس کے بعد کیا ہوگا؟ اپنی محنت کے ثمرات سے لطف اٹھائیں! اپنے دوستوں کے ساتھ ٹک ٹیک ٹو کھیلیں اور ایک ہی وقت میں اپنی کامیابی پر فخر کریں۔ مستقبل کے آجر کو دکھانے کے لیے پروجیکٹ کو GitHub پر اپ لوڈ کریں، خود ایک تفصیل لکھیں، اور وہاں اس علم کی نشاندہی کریں جس کا آپ نے اطلاق کیا ہے۔ 4-5 پیچیدہ پروجیکٹس، اور اب، ابتدائی ڈویلپر کے لیے ایک معمولی پورٹ فولیو تیار ہے۔

ترقی کا موقع۔ فرض کریں کہ آپ Hyperskill کو دیکھتے ہیں اور وہاں آپ کو کوئی اہم موضوع یا مفید پروجیکٹ نظر نہیں آتا۔ ہمیں اس کے بارے میں بتائیں! اگر آپ کا پس منظر علمی نقشے سے زیادہ وسیع اور امیر ہے تو ہمیں فارم میں لکھیں۔ تعاون کریں. ہماری ٹیم آپ کے ساتھ ہماری اپنی تجاویز اور چالیں شیئر کرے گی، لہذا ہمیں آپ کے علم کو مفید مواد میں تبدیل کرنے میں آپ کی مدد کرنے میں خوشی ہوگی جو مختلف عمروں اور سطحوں کے صارفین کے لیے قابل فہم ہے۔ شاید ہم ادائیگی بھی کریں گے، لیکن یہ یقینی نہیں ہے۔

خوش آمدید: hi.hyperskill.org اندر آئیں، دیکھیں، کوشش کریں، تجویز کریں، تعریف کریں اور تنقید کریں۔ ہم آپ کو سکھانا بھی سیکھ رہے ہیں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں