موقع CodeWars لتطوير مهارات البرمجة من خلال التعليم الجماعي

موقع CodeWars لتطوير مهارات البرمجة من خلال التعليم الجماعي

ما هو موقع Code Wars ؟

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

ويُعتبر أسلوب التعلّم بالأمثلة والدروس التطبيقية من أفضل الأساليب لتعلم البرمجة. لكن مُعظم المواقع توفر شرح نظري مع بعض الأمثلة، دون وجود ضمان بأن المُستخدم سوف يقوم بتطبيقها أو وسيلة لتقييم عمل المُستخدم.

والبرمجة هي مهارة مهمة في أسواق العمل الحديثة، خصوصاً وأن هناك نقصاً في المبرمجين المؤهلين في أغلب دول الوطن العربي وربما العالم ولذلك قررنا أن نعرفكم اليوم على أحد أهم المواقع الي تعتمد على مفهوم التعليم التفاعلي وهو موقع Code Wars الذي يعتبر مكاناً يُمكن للمطورين فيه تحقيق إتقان الكود البرمجي من خلال التحدي, "تمرن على Kata لتصل إلى أعلى قدراتك"

كيف أبدأ ؟ ومن أين ؟

وقبل أن تبدأ في عالم البرمجة تذكر أنه يجب معرفة الهدف من تعلمها أوّلاً, لأنها وسيلة لتقديم حلول لمشاكل موجودة عبر الأجهزة والتقنيات التي نستخدمها وسنلاحظ ذلك بعد تطوير الأفكار وتحويلها إلى تطبيق يمكن الاستفادة منه لحل مشكلة للمستخدم.

في موقع Code Wars يمكن لكل شخص إنشاء KATA خاصة به, كل فكرة لديك تعتبر KATA , كما يمكن طلب مساعدة المشتركين الآخرين للحصول على تعليقاتهم ورأيهم بال KATA التي قمت بإنشائها , قد تركز ال KATA على موضوعات علوم الكمبيوتر النموذجية مثل القوائم المرتبطة والأشجار الثنائية أو على الرياضيات أو إثبات نظريات رسمية , يختلف نوع ال KATA حسب نوع البحث المراد القيام به أوالمشكلة المراد حلّها,

وكمثال بسيط على KATA في الرياضيات هو العثور على مجموع الأعداد الطبيعية الأولى .

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

لذا يُمكن للمستخدمين تجربة موقع http://www.codewars.com الذي يوفر منصّة تسمح بتطوير مهارات البرمجة من خلال إنشاء تحديات برمجية بين المُستخدمين، وبالتالي يضمن تحسين مهارات المستخدم من خلال الاطلاع على الشيفرات البرمجية لبقية المُستخدمين، فضلاً عن التحديثات المتنوعة.

لغات البرمجة التي يدعمها موقع Code Wars

لغة البرمجة هي مفردات ومجموعة من القواعد لإرشاد الكمبيوتر أو جهاز الحوسبة لأداء مهام محددة، يُشير مصطلح لغة البرمجة عادةً إلى لغات عالية المستوى، مثل BASIC و C و C ++ و COBOL و Java و FORTRAN و Ada و Pascal.

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

تقع فوق اللغات عالية المستوى لغات تسمى لغات الجيل الرابع (عادةً ما يتم اختصارها بـ 4GL)، وهي تمثل فئة لغات الكمبيوتر الأقرب إلى اللغات البشرية.

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

ومن بين لغات البرمجة الشهيرة والأوسع استخداماً والأكثر انتشاراً والموجودة على موقع Code Wars:

1- جافا سكريبت Javascript

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

2- البايثون Python

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

3- جافا Java

كانت جافا هي لغة البرمجة الحاكمة على مدار نحو العشرين عاماً، وتشكل Javaقاعدة نظام التشغيل Android.

4- سي C

قدمت لغة البرمجة C مساهمة قوية في عالم البرمجة، وكانت هي اللغة الأم لحفنة من اللغات الأخرى، بما في ذلك Java و Objective-C .

حتى هذه الأيام كلما دعت الحاجة إلى إنشاء تطبيقات عالية الأداء تظل لغة البرمجة C هي الخيار الأكثر شعبية، يعتمد نظام التشغيل Linux على لغة البرمجة C.

5- سويفت Swift

تتميز Swift بسلاسة استخدامها، وهي لغة برمجة متعددة الأغراض مفتوحة المصدر تم تطويرها بواسطة شركة Apple Inc. إذا كنت تبحث عن تطوير لتطبيقات iOS أو Mac OS الأصلية، فستكون بحاجة إلى Swift لتطويرها، صُممت Swift لتكون صديقة للمبتدئين، فهي أسرع وأكثر أماناً وأسهل في القراءة والتصحيح.

كيف يمكنني البدء بلغة C++ في موقع Code Wars ؟

تعتبر C++ خيار ممتاز حيث أنها مدخل للغة الجافا ولغات أخرى في حال أردت لاحقاً التخصص في مجال الديسكتوب أو الأندرويد, فإنَّ أفضل الطرق لتعلم البرمجة هي بناء برامج و مشاريع شخصية بسيطة ثم تطويرها على مراحل، وعن طريق حل تمارين برمجية (يمكن البحث عنها عبر جوجل "Programming Exercises" هناك تمارين حسب كل لغة)، يمكنك مثلا البدئ بحل تمارين تنمي تفكيرك البرمجي بشكل كبير من خلال مستويات متسلسلة للأسئلة KATA تضعها أنت باللغة التي تختارها عبر موقع codewars.com فبعد انتهائك من تعلم نقطة جديدة kata والتمرن على كيفية مواجهتها واقعيا فإنّ موقع codewars يمنحك إمكانية نشرها كمرحلة تجريبية مجانية حيث يمكن لمشتركين آخرين ضمن الموقع تجريبها والتصويت عليها وتقديم تعليقات, فإذا تمَّ اعتبارها kata ذات جودة عالية عندها يتم الموافقة عليها والانتقال من مرحلة kata إلى مرحلة beta ويمكن لأي شخص الاستفادة منها لاحقاً, هذا الأمر يجعلك تتقوى في كل جانب جديد من لغة c++ تتعلمه، قد تجد صعوبة في البداية لكن تطبيق هذه الطريقة مفيد وممتع في نفس الوقت ومع الممارسة ستجد الأمر سهل.

ويجب التنويه إلى الملاحظات التالية عند البدء في العمل على موقع codewars :

التوثيق Documentation هو المرجع الرئيسي للغة البرمجة أو التقنية التي ستتعلمها لذا لا يمكن الإستغناء عنه .

طبعا ستحتاج للتطبيق العملي المستمر لكل تعليمة برمجية جديدة تتعلمها وتخطر ببالك من خلال برنامج سطح مكتب سهل الاستخدام والتحكم كبرنامج ++Dev C ويمكنك متابعة فيديو يوضح طريقة تنزيل وتثبيت هذا البرنامج .

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

من ميزات موقع codewars أنّه أياًّ كانت اللغة التي تستخدمها في البرمجة ، يمكنك أن تكون متأكداً تقريباً من أن Codewars يدعمها , حيث تدعم Codewars حالياً 36 لغة برمجة مختلفة ولغات معينة تدعم إصدارات متعددة ، على سبيل المثال : يدعمCodewars Python 2 و Python 3 تحت لغة Python .

نصائح تساعدك على تعلم البرمجة

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

1- معرفة لماذا تريد أن تتعلم البرمجة

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

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

2- اختر لغة البرمجة المناسبة لك

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

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

قد تعتمد اللغة التي تختار أن تبدأ بها على الغرض الخاص بك من تعلم البرمجة. فمثلاً إذا كنت ترغب في كتابة تطبيق iOS فستحتاج إلى تعلم Swift.

وIOS هو نظام تشغيل للهواتف من شركه آبل أطلق عليه في الأصل OS ثم أعيد تسميته في عام 2009 إلى IOS، وهو حالياً مشغل لمعظم أجهزة شركة آبل.

3- أبدأ صغيراً وكن صبوراً

لتعلم البرمجة يجب عليك عدم التعجل في النتائج، بغض النظر عن اللغة أو طريقة التعلم التي تختارها، يجب عليك فقط أن تبدأ، هذا هو كل ما تملك فعله الآن.

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

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

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

وستجد أنك في خلال 3 شهور أو أقل بدأت أن تصبح مبرمجاً...

ولا تنسَ... لا تعمل على KATA تمَّ إنشاؤها مُسبقاً من قِبل شخص ما, بَل قُم بإنشاء KATA خاصة بك وبهذا ستكون لك الحريّة الكاملة في الحصول على نموذج KATA خاص بك .