أفضل 10 مواقع من أجل تعلم البرمجة
إن كنت مبرمج أو جديد في هذا المجال فعليك معرفة أهم المواقع البرمجية التي تتم عليها فعاليات رائعة تجعل منك مبرمجاً عظيماً.
أفضل مواقع لتعلم البرمجة مجانا
إن من أكبر المشاكل التي سوف تجدها في عالم البرمجة، هي كتابة كود (coding challenges) خالي من الأخطاء القواعدية والأخطاء عند التنفيذ، فعليك إيجاد مسائل لحلها ضمن فعاليات حماسية بحيث تحتوي هذه المسائل على أفكار جديدة بالإضافة إلى الألغاز، مما يقوي قدراتك البرمجية والاستعداد الكامل لمقابلات العمل، وتعلم خورازميات جديدة، وفي هذه المقالة سوف نتكلم إن شاء الله على أفضل 10 مواقع للمسابقات البرمجية حيث تحتوي على تحديات كتابة الكود المواقع كالتالي:
موقع TopCoder للمبرمجين
TopCoder هي إحدى المنصات الأصلية للبرمجة التنافسية (competitive programming) من خلال الإنترنت، يؤمن الموقع قائمة من التحديات الخوارزمية Algorithmic Challenges، بحيث يسمح لك إكمالها بنفسك مباشرة من خلال الإنترنت عن طريق محرر الكود (code editor) الذي تعمل عليه في موقعهم يتم تقديم مباريات الجولة الواحدة المشهورة الخاصة بهم في مرات عديدة في كل شهر في وقت يحدد مسبقاً حيث تتنافس ضد الآخرين لحل المشاكل بأقل وقت ممكن واقل كود، المستخدمون ذو التصنيف الرفيع Top Ranked Users هم مبرمجون ذو قدرة عالية على حل المشكل والمشاركة المستمر في التحديات، حيث يجب التذكير على أن المبرمجون ذو التصنيف العالي لديهم مدونتهم الشخصية (Own Blog) بعنوان Algorithms Weekly by Petr Mitrichev حيث يكتب عن مسابقات كتابة الكود (Coding Competitions) والخوارزميات (Algorithms) والرياضيات.
موقع Coderbyte
يؤمن Coderbyte ما يزيد عن 200 من التحديات لكتابة حلها بطريقة مباشرة من خلال الإنترنت وذلك من خلال استخدام واحدة من 10 لغات برمجية.
تبدأ هذه التحديات من السهل على سبيل المثال(العثور على أكبر كلمة في String) إلى الصعبة التي تحتاج إلى تفكير برمجي عالي المستوى على سبيل المثال(طباعة الحد الأقصى لمطابقة عدد العناصر في الرسم البياني (Maximum Cardinality Matching of a Graph)، إيضا يؤمن الموقع مجموعة من الدروس حول الخوارزميات التي يجب على كل مبرمج أن يدرسها(Algorithm Tutorials)، ويتم ذلك من خلال المقاطع الفيديو التمهيدية و دورات، على خلاف HackerRank ومواقع الويب المشابها الأخرى، يسمح لك مشاهدة الحلول التي توصل رؤية الحلول التي توصل إليها المستخدمون الآخرون لأي تحد بخلاف الحلول الرسمية التي نشرها موقع Coderbyte.
موقع Project Euler
موقع CodeChef
CodeChef هو موقع للبرمجة التنافسية (competitive programming) يوجد مقر هذا الموقع في الهند يؤمن ما يزيد مئات من التحديات، والتي يسمح لك كتابة حل المشاكل البرمجية الخاصة به مباشرة من محرر الكتابة الخاص بالموقع ويحتاج إلى الإنترنيت، كما يسمح لك عرض مجموعات من التحديات تقسمها حسب صعوبتها وذلك حسب مستوى مهارتك، وإيضا يملكون عدد كبير من المبرمجين الذين يساهمون في المنتديات الخاصة بالموقع، بالإضافة إلى كتابة الدروس التعليمية.
موقع Exercism.io
Exercism هو موقع للتحديات البرمحية يشمل أكثر من 3100 تحديًا يحتوي 52 لغة برمجة متنوعة، عليك أن تختار اللغة البرمجية التي تحب أن تقوي نفسك بها، لأنك سوف تتعامل مع العديد من التحديات البرمجية بشكل مباشر على حاسوبك الشخصي (Exercism يملك واجهة اوامر Command Line Interface خاصة تستطيع تحميلها منGitHub)، وعلى الرغم من ذلك فإن الأمر في هذا الموقع نقيض المواقع السابقة من حيث التحديات، لأنه ببساطة سوف تتعامل مع مدرب تعليمي(Mentor) بعد كل تحدي تقوم به.
موقع LeetCode
LeetCode هو Online Judge هو موقع مشهور على نطاق واسع جداً يؤمن قائمة تشمل أكثر من 190 تحدي مختلف التي تساعدك في الاستعداد لمقابلات العمل، وتستطيع حل التجديات بشكل مباشر باستخدام إحدى اللغات المتوافرة على الموقع، ولكن لا يمكن استعراض الحلول لمستخدمين آخرين، ويتم تزويدك بإحصائيات لحلول مشاكلك الخاصة ومدى سرعة تشغيل الكود الخاص بك.
يملك الموقع قسم خاص بمقابلات العمل المخصصة للاستعداد لمقابلات العمل.
موقع CodinGame
يكون هذا الموقع نقيض المواقع السابقة قليلاًCodinGame، لأنو بكل بساطة أنت سوف تشارك بشكل فعلي في كتابة التعليمات البرمجية للألعاب التي تلعبها مباشرة عن طريق الإنترنت ، وتستطيع رؤية قائمة الألعاب المعروضة، بإختصار تأتي المشكلة على شكل لعبة، وتستطيع الكتابة بواحدة من اللغات البرمجية التي يكون عددها 20 لغة برمجية.
على الرغم كون هذا الموقع يختلف عن مواقع الويب الأخرى إلا أنه الأكثر شعبية بين البرمجين الذين يعشقون حل التحديات.
في نهاية المقالة اتمنى أن تصبح مبرمجاً عظيماً في يوماً ما.