الفرق بين )هندسة البرمجيات-علوم الحاسب-هندسة حاسب(
أعلم أن الكثير يود معرفة الفرق بين تخصاصات الحاسب الآلي و يود معرفة الكثير عنها لذلك أحببت أن أنقل لكم هذا الموضوع من أجل أن يسهل و ييسر على الكثير ..
الفرق بين )هندسة برمجيات - علوم حاسب - هندسة حاسب (
لعله من المحير للبعض معرفة الفروق بين التخصصات الأساسية الثلاث في مجال الحاسب: هندسة الحاسب و علوم الحاسب و هندسة البرمجيات.
و لتسهيل الأمر على البعض و خاصة على المقبلين على الجامعة، كتبت هذا المقال البسيط الذي يسرد تعريفاً لكل تخصص مع إيضاح الفرق بينه و بين الأخريين.
أولا: هندسة الحاسب )Computer Engineering(
تتعامل مع تصميم و تطوير و تشغيل أنظمة التشغيل للأجهزة الرقمية عامة. و الأجهزة الرقمية هي أي جهاز مكون معالج )processor( و ذاكرة )memory( و دائرة كهربائية )electric circuit( ، مثل الكمبيوتر المنزلي أو الجوال ، أو حتى أجهزة ثانوية مثل كرت الشاشة و الشبكة المرتبط بجهاز الكمبيوتر المنزلي.
الفرق الأساسي بين هندسة الحاسب وبين هندسة البرمجيات و علوم الحاسب أنها تركز على حل المشكلات ببرمجة الهاردوير )digital hardware(.
ثانيا: علوم الحاسب )Computer Science(
تركز على فهم و تصميم و تطوير البرامج. كما تهتم بالبيانات )data( و بنيتها )data structures(وطرق تخزينها و نقلها و على طرق الحساب )algorithms( و طرق البرمجة و مفاهيم الشبكات و الاتصال و نقل المعلومات.
مجال علوم الحاسب غير متخصص و مركّز كهندسة البرمجيات أو هندسة الحاسب فهي مجموعة من العلوم المتخصصة بالحاسب في مجالاتٍ عدة. لذلك هي تتيح مجال أوسع للطالب لبناء تطبيقات في مجالات مختلفة.
ثالثا: هندسة البرمجيات )Software Engineering(
تتعامل مع بناء و صيانة البرامج و أنظمتها. والبرامج هنا هي البرامج الكبيرة أو الضخمة كبرامج إدارة الشركات و المصانع أو أنظمة التشغيل. هندسة البرمجيات أكثر طبيقية و تخصصاً من علوم الحاسب فهي “هندسة” أي تتضمن جمع المعلومات و تحليلها و إيجاد الحلول و تصميمها بطرق علمية ثم البرمجة و إنتاج البرنامج ثم صيانته و تطويره أكثر و أكثر. مع الأخذ في الاعتبار في جميع المراحل السابقة بالتكلفة الإجمالية للبرنامج و ما يلحقه من تطويرات و تغييرات. كما تركز في أمن البرنامج )security( و قوة الاعتماد عليه )reliability(. فهي تركز على عميلة بناء برامج ذات جودة عالية جدا )high quality programs( ، من بداية الفكرة إلى المنتج نهائي.
بالإضافة إلى الفرق السابق بين علوم الحاسب و هندسة البرمجيات:
قيل أن”العالِم يبني لكي يتعلم، أما المهندس فإنه يتعلم لكي يبني