أفضل 10 مواقع من أجل تعلم البرمجة Learn programming

أفضل مواقع لتعلم البرمجة للمهندسين

إن كنت مبرمج أو جديد في هذا المجال فعليك معرفة أهم المواقع البرمجية التي تتم عليها فعاليات رائعة تجعل منك مبرمجاً عظيماً.

تعلم البرمجة مجانا عبر المواقع التالية:

إن من أكبر المشاكل التي سوف تجدها في عالم البرمجة، هي كتابة كود(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 وتعلم حل المشاكل:

يؤمن الموقع البرمجي(Project Euler) الأكثير من التحديات خصوصاً على الصعيد البرمجي والرياضيات، تحتوي التحديات غالباً كتابة البرامج الصغيرة لإيجاد صيغة أو معادلة رياضية ذكية لحل التحديات، وعلى سبيل المثال التحدي إيجاد مجموع الأرقام(Sum Of Digits) لجميع الأعداد التي تسبق كل عدد في متتابعة (Sequence)، وفي هذا الموقع عليك أن تعلم عزيزي المبرمج أنه لا يسمح لك الكتابة مباشرة في محرر الموقع، لهذا سوف تحتاج إلى كتابة حل التحديات على حاسوبك الشخصي ثم تقديم الحل للموقع.

تعلم الخوارزميات عبر HackerRank:

يؤمن هذا الموقع HackerRank العديد من التحديات من المجالات المتنوعة على سبيل المثال تحديات الخوارزميات (Algorithms) والرياضيات و لغة الاستعلام الهيكلية(SQL) والبرمجة الوظيفية (Functional Programming) والذكاء الاصطناعي وغير ذلك في مجالات متنوعة، ويسمح لك حل التحديات عبر الإنترنيت مباشرة. 

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



دروس مجانية عبر CodeChef:

CodeChef هو موقع للبرمجة التنافسية (competitive programming) يوجد مقر هذا الموقع في الهند يؤمن ما يزيد  مئات من التحديات، والتي يسمح لك كتابة حل المشاكل البرمجية الخاصة به مباشرة من محرر الكتابة الخاص بالموقع ويحتاج إلى الإنترنيت، كما يسمح لك عرض مجموعات من التحديات تقسمها حسب صعوبتها وذلك حسب مستوى مهارتك، وإيضا يملكون عدد كبير من المبرمجين الذين يساهمون في المنتديات الخاصة بالموقع، بالإضافة إلى كتابة الدروس التعليمية.

تعرف لغات البرمجة من خلال Exercism.io:

Exercism هو موقع للتحديات البرمحية يشمل أكثر من 3100 تحديًا يحتوي 52 لغة برمجة متنوعة، عليك أن تختار اللغة البرمجية التي تحب أن تقوي نفسك بها، لأنك سوف تتعامل مع العديد من التحديات البرمجية بشكل مباشر على حاسوبك الشخصي (Exercism يملك واجهة اوامر Command Line Interface خاصة تستطيع تحميلها منGitHub).

وعلى الرغم من ذلك فإن الأمر في هذا الموقع نقيض المواقع السابقة من حيث التحديات، لأنه ببساطة سوف تتعامل مع مدرب تعليمي(Mentor) بعد كل تحدي تقوم به.


مقابلات العمل وأهم حلولها LeetCode:

LeetCode هو Online Judge هو موقع مشهور على نطاق واسع جداً يؤمن قائمة تشمل أكثر من 190 تحدي مختلف التي تساعدك في الاستعداد لمقابلات العمل، وتستطيع حل التجديات بشكل مباشر باستخدام إحدى اللغات المتوافرة على الموقع، ولكن لا يمكن استعراض الحلول لمستخدمين آخرين، ويتم تزويدك بإحصائيات لحلول مشاكلك الخاصة ومدى سرعة تشغيل الكود الخاص بك.

يملك الموقع قسم خاص بمقايلات العمل المخصصة للاستعداد لمقابلات العمل.


مارس ألعاب البرمجة  CodinGame:

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

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

في نهاية المقالة اتمنى من أن تصبح مبرمجاً عظيماً في يوماً من الإيام.

إرسال تعليق

أحدث أقدم