17 تحديات البرمجة لشحذ تفكيرك النقدي

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

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

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

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

Edabit

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

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

هاكر رانك

هاكر رانك هي شركة ناشئة تركز على توفير تحديات الترميز للأفراد والمؤسسات على حدٍ سواء. اعتمادًا على التحدي ، غالبًا ما يتم إعطاؤك إرشادات لمشروع يجب إكماله ، ويعود الأمر إليك في كيفية إكماله.

حاليًا ، يمكن للمطورين استخدام Java و Python و JavaScript و PHP و C ++ و SQL لحل التحديات المقدمة.

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

كتب House of Codes قطعة مثيرة تصورها تم العثور على أفضل 50 تحديًا في تصنيف Hacker Rank. إذا كان لديك فضول لذلك ، فهي تستحق القراءة ، مع الكثير من الأمثلة والمواد.

المبرمج

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

تتمثل إحدى مزايا استخدام هذه المنصة في أنها تعمل مع بعض العلامات التجارية الرائدة في مجال البرمجيات. على سبيل المثال ، Google ، LogMeIn ، HBO ، PWC ، وغيرها الكثير. إذا كنت ترغب في الحصول على وظيفة في مثل هذه الشركات ، فتأكد من أن Coderbyte يمكن أن يمنحك التحديات المطلوبة لاختبار مهاراتك.

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

  5000+ أسماء كاهوت مضحكة

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

التشفير

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

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

إذا كنت تقصد ممارسة لغة جديدة ، فإن Codewars هو موقع استثنائي لإضافته إلى إشاراتك المرجعية.

فيما يلي بعض اللغات المدعومة:

  • كلوجور
  • الصدأ
  • سويفت
  • بايثون
  • هاسكل
  • صدَفَة
  • جافا سكريبت
  • بي أتش بي
  • كوتلن
  • سكالا

وهناك الكثير من اللغات الأخرى في برنامج BETA ، ولكن مع وجود اختناقات محتملة.

بشكل أساسي ، تريد Edabit توفير منصة يمكنها سد الفجوة بين المبتدئين والمبرمجين المتقدمين. يمكنك التحقق من خريطة الطريق لرؤية قائمة الميزات الكاملة.

لعبة الترميز

الألعاب كمنصات تعليمية ليست شيئًا جديدًا تمامًا ، ولكن يبدو أن هناك الكثير من اللاعبين في هذا المجال الآن. CodinGame هي مجرد واحدة من العديد من المنصات التي توفر تحديات البرمجة من خلال تجربة ألعاب. بدلاً من كتابة تعليمات برمجية فارغة ، فأنت تبني بيئة لعب بدلاً من ذلك. تؤثر جميع الشفرات التي تكتبها ، من بعض النواحي ، على الطريقة التي تسير بها “اللعبة”.

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

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

هاكر إيرث

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

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

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

مبرمج

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

على جانب التحديات ، لدى Programmr مجموعة مخصصة من التحديات لـ Java و C ++ و PHP و C # و Ruby و Python و iOS. تتضمن كل مجموعة أكثر من 100 تحدي ، والتي يمكن تصنيفها حسب الشعبية (بناءً على تصويت المستخدمين) وعوامل أخرى.

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

  كيفية تثبيت وحدات الطرف الثالث على Webmin

قطار الترميز

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

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

لا تحافظ على النوع الذي تستند إليه تحدياته P5.js و يعالج – حلان شائعان يستخدمان في التصميم الفني والجرافيكي.

تحديات ولفرام

Wolfram هي واحدة من أشهر الشركات في العالم التي تعمل تحت فرع علوم الكمبيوتر. لقد ترك نظامهم الأساسي الكثير من الكلام بسبب إمكانياته.

على الرغم من أن تركيزنا لا ينصب على Wolfram Alpha ، إلا أنه تم تقديم حدود جديدة في أوائل عام 2018 – تحديات ولفرام.

هناك الكثير من الأمثلة على التحديات التي يمكن للمرء أن يتخيلها والتي تتضمن إيجاد “الحل الأقل تكلفة” ، أو “الأفضل”. وهو إعداد مشابه لمهام التعلم الآلي النموذجية: ابحث عن وظيفة (على سبيل المثال تعتمد على شبكة عصبية) تؤدي بشكل أفضل في تصنيف مجموعة اختبار معينة ، وما إلى ذلك.

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

LeetCode

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

توفر المنصة تعليمًا حديثًا وتحديات معقدة ولوحة تحكم رائعة لإنجاز كل ذلك.

هناك أيضًا مقالات ولوحات مناقشة وجوانب مجتمعية أخرى لتشجيع تجربة سلسة. لقد تخرج العديد من مستخدمي LeetCode للعمل في شركات مثل Uber و Amazon و Stripe وغيرها.

الرموز

الرموز لجميع المبرمجين المتشددين والمتفانين هناك. فكر في مهندسي البرمجيات والمختصين بالذكاء الاصطناعي وعشاق الذكاء الاصطناعي ومدمني التعلم الآلي! كمنصة للمبرمجين المتقدمين ، تشتهر Codeforces بلوحة المتصدرين سيئة السمعة والروح التنافسية.

والبدء أسهل مما تعتقد.

التمرين

إنه لأمر رائع أن ترى المبادرات وراء العديد من منصات تحدي البرمجة.

و التمرين ليست استثناء. كاترينا أوين ، المؤسس ، تقول إن هدفها هو “مساعدة الناس على تعلم ما يكفي من الترميز [using Exercism] حتى يتمكنوا من العثور على وظيفة في مجال التطوير. “.

في وقت كتابة هذا المقال ، كان هناك أكثر من 2600 تمرين بـ 48 لغة – وكلها مجانية! هل قصدت أن تعلم لغة Kotlin، او ربما كن أكثر توجهاً في Vim؟ الآن هي فرصتك لتعلم بعض المهارات الجديدة من خلال تحديات شيقة!

كودر

بقدر ما قد يكون مفاجئًا للبعض منكم ، لا يزال هناك ترميز يحدث في تطوير الواجهة الأمامية أيضًا!

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

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

فليكس بوكس ​​فروجي

بالحديث عن الواجهة الأمامية ، كيف هو فهمك لـ Flexbox؟ من الجيد دائمًا الحصول على القليل من الذاكرة لتجديد نشاطك وإبقائك على علم!

  طريقة تركيب فيدورا سينامون

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

حديقة الشبكة هي لعبة مشابهة جدا. الاختلاف الوحيد هو أنك تعمل مع وظيفة الشبكة وليس Flex.

البيبايتس

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

في هذه الأيام ، يتم إجراء الكثير من التعلم الآلي وإنشاء مجموعات البيانات حصريًا باستخدام بايثون – وهذا ليس بالأمر الهين!

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

CodeCombat

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

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

تاينكر

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

ولا تخطئ أيضًا ، فإن Tynker تتكيف مع المعايير الحديثة أكثر مما تعتقد. إذا كان لديك أطفال يتسللون إلى سن المراهقة ، فيمكنك السماح لهم بكتابة حلول باستخدام Python أو JavaScript بدلاً من استخدام Blocks وحدها.

الكلمات الختامية: تحدى نفسك!

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

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

قد ترغب أيضًا في التفكير في DataCamp لتعلم علوم البيانات ، والتي تتضمن تحديات ومشاريع الترميز.

بعد ذلك ، ماذا عن العثور على كيفية إضافة التعليقات بلغات البرمجة الشائعة؟