أهم المفاهيم في علوم الحاسوب

التي يحتاجها كل مبتدئ

عندما تقرر دخول عالم البرمجة وعلوم الحاسوب، غالبًا ما يكون تركيزك على كتابة الأكواد، ولذلك فسرعان ما تصطدم بمصطلحات تبدو معقدة ومخيفة، مثل الخوارزميات وهياكل البيانات والمنطق البرمجي، فهذه المصطلحات تجعل المجال يبدو وكأنه مخصص للعباقرة فقط.

لكن في الحقيقة ليست هذه المفاهيم إلا أفكارًا منطقية نتعامل معها في حياتنا اليومية دون أن ندرك. لذلك سنبسط في هذا المقال أهم المفاهيم الأساسية التي يحتاجها كل مبرمج.

المفاهيم الأساسية في علوم الحاسوب

الخوارزميات

في كل مرة تتبع فيها عملية مكونة من خطوات فأنت تتبع خوارزمية، حيث يمكن التفكير بها كوصفة أو طريقة لتنفيذ مهمة معينة، فمثلًا إذا أردت أن تعد الشاي فإنك تملأ الإبريق بالماء، ثم تضعه على النار، وعندما يغلي الماء تضيف السكر والشاي. أنت في هذه الحالة اتبعت خوارزمية حيث نفذت مجموعة من الخطوات للحصول على نتيجة معينة.

فالخوارزمية هي مجموعة من التعليمات الواضحة والمتسلسلة لحل مشكلة أو إنجاز مهمة معينة، وهي تتمتع بخصائص محددة أهمها أنها واضحة، ومنتهية، حيث يجب أن يكون عدد خطواتها محدودًا. والخوارزمية مستقلة عن لغة البرمجة، فهي مجرد فكرة أو طريقة لحل المشكلة، ويمكن ترجمتها واستخدامها في أي لغة برمجة تمامًا كما يمكن طهي نفس الوصفة في مطابخ مختلفة.

هياكل البيانات

لنفترض أن لديك كومة من الكتب الملقاة على أرضية غرفتك. إذا أردت العثور على كتاب معين، فستكون المهمة صعبة، بعكس عندما تكون الكتب منظمة في رفوف أو خزانة، فالتنظيم يجعل الوصول إلى أي كتاب أسهل.

هذا ما يعنيه مصطلح هياكل البيانات، فهو ليس البيانات نفسها مثل الكتب في المثال السابق، إنما يعني طريقة معينة لتنظيم البيانات في البرنامج، والهدف هو تخزين البيانات بطريقة تقلل من التعقيد، الأمر الذي يسمح بالتعامل معها بسهولة.

المنطق البرمجي

عندما تستيقظ من نومك، فإنك تفكر، هل اليوم هو يوم عمل؟ فإذا كان يوم عمل، فإنك تذهب إلى مكتبك، وإلا فإنك تبقى في المنزل. طريقة التفكير هذه التي استخدمت بها "إذا" و"إلا" هي المنطق البرمجي، فإذا أدخل المستخدم كلمة مرور صحيحة، يسمح البرنامج له بالدخول، وإلا فيظهر له رسالة خطأ.

المتغيرات

تحتاج البرامج إلى تذكر المعلومات أثناء عملها، والمتغيرات هي الطريقة التي نستخدمها لتحقيق ذلك. يمكن التفكير في المتغير كصندوق عليه ملصق باسم واضح، مثل النقاط أو عدد الأرواح. يمكن أن نضع داخل الصندوق أو المتغير قيمة مثل 0 أو 3.

وسبب تسميته بالمتغير هو أن القيمة الموجودة بداخله يمكن أن تتغير باستمرار أثناء تشغيل البرنامج، فمثلًا في لعبة، قد يبدأ متغير النقاط بالقيمة 0، وعندما تلتقط الشخصية قطعة نقدية، نفتح الصندوق ونغير قيمته إلى 10، فالمتغير ببساطة هو حاوية بيانات مؤقتة لها اسم، نستخدمها لحفظ وتحديث القيم.

قواعد البيانات

قاعدة البيانات هي مجموعة منظمة من المعلومات المترابطة مع بعضها، تُستخدم برمجيات متخصصة للتعامل معها تعرف باسم أنظمة إدارة قواعد البيانات، حيث تعمل كجسر بين البيانات والبرنامج. والنوع الأكثر شيوعًا منها هو قواعد البيانات العلاقية التي تخزن البيانات في جداول تشبه جداول Excel، ويكون كل جدول مكون من صفوف وأعمدة.

على سبيل المثال يستخدم تطبيق جهات الاتصال في هاتفك قاعدة بيانات تخزن قائمة جهات الاتصال في جدول، حيث يتكون الجدول من عمودين، الأول عنوانه الاسم والآخر عنوانه الرقم، وكل صف يتضمن اسم شخص في عمود الاسم ورقم الشخص في عمود الرقم.

واجهة برمجة التطبيقات API

عندما تكون في مطعم، فإنك لا تذهب مباشرة إلى المطبخ لتطلب طعامك، بل هناك وسيط بينك وبينه هو النادل، حيث تقدم طلبك للنادل الذي يأخذه ويوصله إلى المطبخ، ويعود إليك بالطبق جاهزًا. يمثل النادل في هذا المثال الـ API، فهي مجموعة من القواعد التي تمكن اثنين من مكونات البرامج المختلفة من التواصل مع بعضهما.

وكمثال تقني عندما تفتح تطبيق الطقس في هاتفك، فإن التطبيق نفسه لا يتضمن معلومات الطقس، إنما يحضرها من نظام الأرصاد الجوية، حيث يرسل طلبًا إلى واجهة برمجة التطبيقات الخاصة بالنظام، ليرد النظام بإرسال حالة الطقس.

لماذا تعتبر هذه المفاهيم حجر الأساس؟

قد تتساءل لماذا أحتاج إلى معرفة هذه المفاهيم بينما يمكنني فقط تعلم كتابة الكود، والجواب أن معرفة هذه المفاهيم هي ما يميز المبرمج المحترف عن الهاوي، إذ تساعدك على:

  • كتابة كود فعال: تساعدك على تحديد الخوارزمية وهيكل البيانات الأنسب، مما يجعل برامجك أحسن أداءً.
  • حل المشكلات: تعلمك التفكير بطريقة منظمة وتقسيم المشاكل الكبيرة إلى صغيرة قابلة للحل.
  • تنظيم الكود: تجعل برنامجك أكثر قابلية للصيانة والتطوير على المدى الطويل، خاصة عند العمل في فريق.

فهم هذه المصطلحات يزيل الرهبة ويسهل رحلتك في البرمجة. لتطبيقها عمليًا وبناء أساس متين لسوق العمل، انخرط في دورة منظمة، مثل دورة CS50 على edx أو دورة علوم الحاسوب من أكاديمية حسوب، إذ سيساعدك ذلك على بناء أساس معرفي صلب لدخول سوق العمل بقوة.

ابدأ رحلتك البرمجية اليوم!

اكتشف خارطة الطريق التي ترشدك خطوة بخطوة لتعلّم البرمجة بثقة، من الأساسيات حتى تصل لمرحلة الاحتراف.

مسار برمجي

جميع الحقوق محفوظة © مسار برمجي