ما هل ال problem solving مهارة حل المشكلات و ما اهميتها؟

هناك مقولة مشهورة تقول “وظيفة المبرمج الاساسية هي حل المشكلات”و من منظور اخر فنحن على مدار يومنا نوجه العديد من المشكلات بعضها يكون سهل و يمكن حله و الاخر يعد اعقد بكثير و سواء كانت المشكلة سهلة ام صعبة فلن تستطيع حلها الا اذا امتلكت مهارة حل المشكلات أو الـ Problem Solving قبل كل شئ Skills و هي مهارة تجعلك قادر على ايجاد الحل المناسب في الوقت المناسب.

قبل أي شئ فان أكاديمية نوفيل هي اول موقع عربي و الوحيد المتخص بالـ problem solving
و يمكنك ان تجد الكثير من التحديات البرمجية باللغة العربية التي تم اعدادها باحترافية عالية
للدخول الى قسم حل المشكلات البرمجية في نوفيل اضغط هنا

ما هي مهارة حل المشكلات الـ Problem Solving Skills ؟

البعض يشعر بالاحباط عند مواجهة اي مشكلة , اما الاشخاص الذين يتمتعوا بمهارة حل المشكلات الـ Problem Solving Skills لديهم القدرة على الوصول لافضل حل في اسرع وقت ممكن لتفادي اكبر خسارة ممكنة , و لكن كيف امتلك تلك المهارة؟

كيف تتم حل المشكلات؟

لكي تستطيع حل اي مشكلة يجب ان تتبع خوارزميات سليمة و مرتبة كالتالي:

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

اهمية مهارة حل المشكلات Problem Solving Skills

قبل كل شئ اذا نظرنا الى سوق العمل بشكل عام سنجد انه لا توجد شركة او مؤسسة ليس لديها مشاكل
سواء كانت شركة صغيرة او حتى شركة عملاقة فالمشاكل مستمرة ما دومنا احياء مما يجعل من الاشخاص المتمتعين بمهارة حل المشكلات دور كبير في سوق العمل.

ما هي علاقة حل المشكلات بالبرمجة؟

مهارة حل المشكلات الـ Problem solving Skills واحدة من اهم المهارات البرمجية, إن لم تكن أهم مهارة في مجال الـ Computer science حيث ان هذا المجال معتمد في الاساس على حل المشكلات
فنحن عندما واجهتنا مشكلة في الماضي وهي الرسائل المشفرة التي كان من الصعب فك تشفيرها قمنا من خلال البرمجة بحل تلك المشكلة و فك التشفير
ايضاً عندما واجهتنا مشكلة في حركة المرور و قلة السيارات الاجرة قمنا ببرمجة تطبيقات مثل اوبر و غيرها لمساعدة البشر و تسهيل حياتهم و غيرها الكثير ف وظيفة المبرمج في الاساس هي ايجاد حل لاي مشكلة تواجهه

كيف يستفيد المبرمج من تعلمه لل Problem solving

لنتفق سوياً ان الـ Problem solving في الاساس هي مجموعة من الاختبارات
في الغالب تكون بتوقيت محدد يقوم الطالب فيه بحل جميع الاسئلة التي تكون عبارة عن مشكلات حقيقية بلغة برمجة معينة
اذاً بعد ان فهمنا ذلك ماذا يستفاد المبرمج من الـ Problem solving ؟

  • هيكون عندك مهارة فى حل المشكلات و المهارة دى كفيلة انها تشغل فى أى شركة فى العالم كما ذكرنا , و للعلم عن الشروع في التقدم لشغل اي وظيفة فيجب ان تعلم ان كل الـ interviews في الشركات حالياً تدور اسئلتها حول قدرة المتقدم للوظيفة على حل المشكلات من عدمها فاذا تبين ان لديه هذه المهارة تكون نسبة قبولة مرتفعة جداً.
  • هيكون عندك خبرة كبيرة في الـ Algorithms و الـ Data structures .
  • هتزيد سرعة كتابتك للكود لانك هتكون متعود على اختبارات حل المشكلات التي في العادة تكون بوقت محدد.
  • هتزيد خبرتك في البرمجة و في اللغة التي تختبر نفسك بها باستمرار.

كيف ابدء في الـ Problem solving ؟

سأفترض انك شخص تعلمت لغة برمجة معينة و تريد ان تبدْء في الـ Problem solving لهذه اللغة لكي تتمكن منها و يكون لديك القدرة على حل اي مشكلة برمجية تواجهك بتلك اللغة
يالطبع يمكنك ان تبدء في الـ Problem solving بتلك اللغات على سبيل المثال لا الحصر :

C++ , python , Java , Javascript , Go , Kotlin , ز لفة C والعديد من اللغات الأخرى..

ولكن أنصحك بـ ++C لأنها الأفضل من ناحية السرعة في التنفيذ والأكثر شيوعاً وستجد الكثير من الشروحات بهذه اللغة اما اذا كنت قد تعلمت لغة اخرى فلا بأس.

في النهاية يوجد الكثير من المواقع التي توفر اختبارات problem solving كثيرة (للأسف اغلبها باللغة الانجليزية) :

Codeforces , Topcoder , Atcoder , HackerEarth

و بالنسبة للمواقع العربية فيوجد موقع Nouvil .

اترك ردّاً