Column

سافٹ وئیر انجینئرنگ اور کمپیوٹر سائنس

علیشبا بگٹی

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

جواب دیں

Back to top button