06/08/2023
تصویر کچھ وقت پہلے ہونے والے گوگل کوڈنگ کمپیٹیشن کی ہے جس میں انڈیا چھٹے ، بنگلہ دیش انتیسویں اور پاکستان 1336 ویں نمبر پہ آیا تھا تب سوشل میڈیا پہ یہ کافی پھیلی تھی۔
آج ہم دیکھیں گے کہ یہ کوڈنگ کمپیٹیشن کیا ہوتے ہیں ؟
ان کی تیاری کیسے کر سکتے ہیں؟
ان میں شامل کیسے ہو سکتے اور شمولیت کے لیے اہلیت کی بنیاد کیا ہے؟
اور ان میں حصہ کیوں لینا چاہیئے؟
_________________
کوڈنگ کمپیٹیشن کیا ہیں؟
جیسے دنیا بھر میں مختلف کھیلیں کھیلی جاتی ہیں اور ان کے ٹورنامنٹ منعقد ہوتے جہاں مختلف ممالک کی ٹیمیں حصہ لیتی اور مقابلہ کرتی ہیں اسی طرح کوڈرز۔ کے درمیان کوڈنگ پرابلمز کو حل کرنے کیلیے مقابلے ہوتے جن کو کوڈنگ کمپیٹیشن کہا جاتا ہے اور پروگرامنگ کی یہ فیلڈ competitive programming کہلاتی ہے جسے مختصراً سی پی بھی کہا جاتا ہے ۔ یہ مقابلے ٹیکنالوجی کی بڑی کمپنیاں منعقد کرواتی ہیں اور اکثر یہ انہی کے نام سے منسوب ہوتے ہیں جیسے گوگل کوڈنگ کمپیٹیشن وغیرہ۔
سٹیو جابز جو کہ ایپل Apple کمپنی کا بانی تھا نے کہا تھا کہ
" Competitive programming __ It teaches you how to think"
کیونکہ پروگرامنگ میں ہمیں صرف کوڈ ہی نہیں لکھنا ہوتا بلکہ کسی بھی پرابلم کو ٹکڑوں میں توڑ کر انہیں حل کرنا ہوتا اور ان کو لاجیکلی جوڑنا ہوتا ہے تاکہ پرابلم مکمل حل ہو سکے ۔
ان مقابلوں میں حصہ کیوں لینا چاہیئے؟
زیادہ تر بڑی کمپنیاں Google, Facebook, Amazon, Microsoft وغیرہ اپنی ہائیرنگ کیلیے انھی مقابلوں کا استعمال کرتی ہیں ۔ تو اگر کوئی بھی ان کمپنیوں یا ان جیسی کسی اور کمنی کے ساتھ کام کرنا چاہتا ہے تو اسے لازمی ان مقابلوں میں شرکت کرنا چاہیئے اور ان کی تیاری کرنا چاہیئے ، اس سے فرق نہیں پڑتا کہ پروگرامنگ کی دنیا میں کوئی نیا ہے یا پرانا کوئی بھی مناسب وقت اور محنت سے ان کی تیاری کر سکتا ہے
ان مقابلوں میں ایسی پرابلمز حل کرنے کیلیے دی جاتی ہیں جن کا حل انٹرنیٹ پہ پہلے سے موجود نہیں ہوتا پورا کھیل راؤنڈز میں تقسیم ہوتا ہے اور ہر پرابلم حل کرنے کیلیے طے شدہ وقت ہوتا ہے ، جیسے جیسے راؤنڈز آگے جاتے ہیں پرابلمز مشکل سے مشکل تر ہوتی جاتی ہیں ، ان میں پرابلم کو حل کرنے والا ہی نہیں جیتتا ہے بلکہ جیت اس کی ہوتی جس نے سب سے کم وقت میں اسر سب سے شاندار طریقہ سے طرابلم کو حل کیا ہو ۔
_________________
ان مقابلوں کی تیاری کیسے کی جائے؟
ان مقابلوں کی تیاری کیلیے ضروری ہے کہ
آپ کو کسی ایک پروگرامنگ لینگوئج پہ عبور ہو جیسے سی پلس پلس ، جاوا یا پائتھن وغیرہ ۔
الگارتھم اینالسز پہ عبور ہو جس میں Time and space complexity شامل ہیں ۔
ڈیٹا اسٹرکچرز پہ عبور ہو۔
ذیشان خضر
پروگرامنگ ، ڈیٹااسثرکچرز وغیرہ سیکھنے کیلیے اور ان پہ مزید معلوماتی تحریروں کیلیے پیج کو فالو کریں