حل التحديات البرمجية بيدربك تفهم المطلوب وتقسمه لخطوات وتراجع الحالات اللي ممكن تكسر الحل لكن اختيار الموقع المناسب مهم علشان متبدأش بمسائل أصعب من مستواك وتفتكر إن المشكلة فيك

في المقال ده هنشوف مواقع بتخدم أهداف مختلفة من التدريب على أساسيات اللغة لحد المسابقات والتحضير لمقابلات الشغل وبعدها هنعمل خطة بسيطة تستفيد بيها من التدريب

ال Exercism للتدريب على لغة معينة

لو اتعلمت أساسيات لغة وعاوز تستخدمها في تمارين متدرجة فال Exercism اختيار مناسب فيه مسارات للغات مختلفة وتمارين واختبارات ومساعدة من المجتمع

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

Exercism

ال Codewars للتحديات القصيرة ومقارنة الحلول

التمارين فيه اسمها Kata وبتتقسم لمستويات لو لسه بتبدأ دور على المستوى 8 kyu وبعده 7 kyu بدل ما تختار تحدي عشوائي

بعد ما تحل راجع حلول غيرك واسأل نفسك ليه اختاروا الطريقة دي متنسخش أقصر حل لمجرد إنه سطر واحد حاول تقدر تشرحه وتعرف سلوكه مع المدخلات المختلفة

Codewars

ال HackerRank للتدريب حسب الموضوع

الموقع فيه أقسام تدريب لمهارات زي حل المشكلات و SQL ولغات برمجة مختلفة وده مفيد لو عاوز تتمرن على موضوع بعينه بدل التنقل بين مواضيع كتير

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

HackerRank

ال LeetCode للخوارزميات والاستعداد للمقابلات

مناسب لما تكون مرتاح مع أساسيات اللغة وعاوز تتدرب على مسائل مرتبطة بهياكل البيانات والخوارزميات ابدأ بالمسائل السهلة في موضوع محدد زي Arrays أو Strings

اختيار كلمة Easy مش معناه إن المسألة سهلة لكل الناس لو فيها مفهوم لسه متعلمتوش ارجع افهمه الأول ومتستخدمش عدد المسائل اللي حليتها كمقياس وحيد لاستعدادك للشغل

LeetCode

ال Codeforces للمسابقات والتدرج في الصعوبة

الموقع معروف بالمسابقات وفيه أرشيف مسائل تقدر تختار منه حسب التصنيف والموضوع ابدأ بتصنيفات منخفضة وارفع المستوى بالتدريج

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

Codeforces

ال AtCoder للمسابقات المنظمة

تقدر تبدأ بمسابقات AtCoder Beginner Contest وترجع لأرشيف المسابقات السابقة للتدريب ابدأ بالمسائل الأولى ومتعتبرش إن كل مسائل مسابقة المبتدئين بنفس السهولة

حل مجموعة صغيرة وراجع شرح الحل لما تحتاجه وبعدها اقفل الشرح واكتب الفكرة بنفسك علشان تتأكد إنك فهمتها

AtCoder

ال Project Euler للمسائل الرياضية

لو بتحب الجمع بين الرياضيات والبرمجة فالموقع فيه مسائل بتحتاج تفكير رياضي مع تنفيذ بالكود بعض المسائل ينفع تجرب فيها حلا مباشرا لكن مع كبر الأرقام هتحتاج فكرة أفضل

ده اختيار مناسب لتوسيع طريقة تفكيرك لكنه مش بديل عن بناء تطبيقات فيها واجهات وقواعد بيانات وتجربة مستخدم

Project Euler

ال CodinGame للتعلم من خلال ألعاب وتحديات

الموقع بيقدم ألغاز وتحديات في شكل تفاعلي لو التمرين النصي التقليدي بيزهقك ممكن الأسلوب ده يشجعك تكمل وتلاحظ أثر الكود اللي كتبته

راجع اللغات المتاحة في التحدي ومتخليش الشكل الممتع يشغلك عن فهم المدخلات والقيود المطلوبة للحل

CodinGame

ال CoderHub لو بتدور على تحديات بالعربي

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

CoderHub

تتدرب إزاي من غير ما تشتت نفسك

اختار موقع واحد وخصص وقتا منتظما بدل فتح حساب في كل المواقع مرة واحدة اكتب المدخلات والمخرجات المتوقعة وجرب مثال صغير على الورق وبعدها ابدأ بالكود

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

خلي مع التدريب مشروع صغير تطبق فيه اللي اتعلمته لأن حل المسائل بيقوي مهارات مهمة لكن بناء المشروع بيعلمك تنظيم الملفات والتعامل مع الأخطاء واستخدام أدوات الشغل