حل المشاكل البرمجية
مفهوم المشاكل البرمجية
المشاكل البرمجية ( Problems Solving ) هي تحديات و تمارين برمجية الهدف منها تطوير قدراتك في التحليل و حل المشاكل البرمجية. لذلك حين تتمرن على حل هذه التحديات فأنت بذلك تكون تطور قدراتك في البرمجة بحد ذاتها.
تحديات المشاكل البرمجية تكون بمستويات مختلفة، هناك تمارين تكون متشابهة و هناك تمارين تكون مختلفة و تجعلك مجبر على التفكير بطرق إبداعية لإجاد حلول لها.
يُعرف حل المشاكل البرمجية بمصطلح آخر هو البرمجة التنافسية ( Competitive programming ).
في هذا المقال سنتحدث عن أهمية حل المشاكل البرمجية و أهم المصادر العربية و الأجنبية المتاحة للتمرن عليها.
أهمية حل المشاكل البرمجية
يعتقد بعض الطلبة أن دراسة الخوارزميات و هياكل البيانات يؤهلهم للدخول في المجال الذي يريدونه، لكن من وجهة نظري الشخصية فإن الخطوة الأفضل قبل أن تغوص بمجال محدد أن تقوم بحل المشاكل البرمجية و هذا ما نقصد به ( Problems Solving ).
حل المشاكل البرمجية يساعدك في تنمية مستواك في التفكير و رفع مستوى ذكائك و زيادة ثقتك بنفسك و زيادة قدرتك ببحثك دائماً عن أفضل الحلول، أبسطها و أسرعها، كما أنه بمجرد فهمهك لهذه المشاكل سيصبح تطوير التطبيقات، المواقع أو أي مجال أو تمرين متعلق بالبرمجة أمر سهل بالنسبة لك.
حل المشاكل البرمجية لا يساعدك فقط في البرمجة و إنما يساعدك بشتى ميادين الحياة على حل المشاكل التي تواجهك.
مدة التحديات
لن تستطيع الإنتهاء من حل المشاكل بين ليلة و ضحاها، بل ستأخذ كغيرها من الأشياء الجديدة الكثير من الوقت حتى تتقنها و لربما أكثر.
سأحدثك عن تجربتي الشخصية فأنا و منذ ثلاث سنوات على التوالي أتابع هذه التحديات و أقوم بحلها، إنتقلت إليها بعدما إنتهيت من دراسة أساسيات لغة بايثون و قد أخذت هذه المرحلة مني 6 أشهر أو أكثر، أروي لك هذه القصة حتى ترى التفاوت في الوقت فأساسيات لغة البرمجة أخدت 6 أشهر مني بينما هذه التحديات إلى الآن ما زلت أمارسها، و للأمانة أنا لم أملل إلى الآن منها لأنها متجددة بإستمرار و غريبة، فدائماً ستصادف أفكار جديدة ، هل تعلم أنني أصبحت من عشاق حل هذه التمارين و أفضلها على أي مجال آخر.
مدة تعلم و تمرس هذه التحديات تختلف من شخص لآخر بحسب إستيعابك و قدرتك على المتابعة فلا تجعل همك الفوز بهذه التحديات فقط بل إعمل على تحفيز دماغك و خوض هذه المتاهة للإستفادة منها. تابع و ثابر و اصبر لتصل في النهاية للإحترافية.
نصيحة: لا تترك البرمجة لوقت طويل لأن هذا سينسيك ما تعلمته في الفترة الماضية، و ستعود لدراسة نفس الأشياء من جديد.
مواقع عربية للتمرن على حل المشاكل البرمجية
- دورة الخوارزميات و هياكل البيانات من موقع هرمش
- قناتي في يوتيوب اضع فيها طريقة حل تحديات موقع LeetCode
مواقع أجنبية للتمرن على حل المشاكل البرمجية
الكاتب
تعليقات 1
أضف تعليق
تقييم المقال
لم تقم بتقييم المقال بعد!
هدف الموقع
هرمش هو موقع تعليمي مجاني يهتم بعلوم الكمبيوتر و يقدم إليك المعرفة بشكل مبسّط و مفصّل, و هو المكان المناسب لأي شخص يطمح بأن يصبح مبرمجاً محترفاً و مبدعاً في العالم الرقمي.
خدمات مفيدة
حقوق النشر
محتوى الموقع يخضع لرخصة (CC BY-NC-ND 4.0) التي لا تسمح باستخدام الشروحات لأغراض تجارية، إجراء تعديل عليها، نشرها في موقع آخر، وضع الشروحات في تطبيق أو في كتاب إلا في حال أخذ موافقة صريحة من إدارة الموقع كما أن المحتوى مسجل بواسطة DMCA و بحال قيامك بمخالفة حقوق النشر سنضطر آسفين لاتخاذ الإجراءات اللازمة.