بسم الله الرحمان الرحيم.
تطرقنا في الجزء الأول من " طريقك نحو تعلم لغات البرمجة " لشرح المفاهيم و التعريفات المتعلقة ببدأ تعلم أساس لغات البرمجة ، أما اليوم نعرض خطوات عملية لتعلم لغات البرمجة ، وقائمة تشرح أفضل المواقع العالمية لتعلم البرمجة من الصفر إلى الاحتراف.
خمس خطوات عملية و بالترتيب ، فكل خطوة تنتقل بك من مرحلة إلى الأخرى حيث أن كل مرحلة تعتمد على سابقتها.
1- في البداية اقرأ قوانين هذه اللغة أو ما يعرف بالـ syntax
ليس من المهم أن تعرف كل قوانينها، وبالتأكيد ليس مطلوب أن تحفظهم كلهم . فقط اجعل هذه القوانين مألوفة لك بالشكل الذي يمّكنك من تمييز هذه اللغة عند النظر إليها.
من المهم معرفة القواعد الاساسية للبرمجة باستخدام هذه اللغة وهي أمور ثابتة في معظم لغات البرمجة. مثل معرفة كيفية التعامل مع الأرقام (integers)، التعامل مع المتسلسلات أو التعامل مع النصوص (strings) والتعامل مع المتواليات (arrays). وقواعد الاشتراط مثل (if else) وغيرها من أساسيات لغات البرمجة.
تذكر لا تحفظها ولا تحاول معرفتها كلها… فقط اجعلها مألوفة إلى عينك
2- ابحث عن مشروع مفتوح المصدر مكتوب بهذه اللغة
بالطبع ستجد المئات من المشاريع المكتوبة بهذه اللغة على موقع البرمجيات مفتوحة المصدر الشهير github وغيره من مواقع استضافة البرمجيات مفتوحة المصدر، اختر المشروع الذي يناسب اهتماماتك أو مشروع قريب في الفكرة إلى شيء تريد إنجازه.
واحرص على أن يكون مشروع صغير غير معقد. من الأفضل أن تبدأ بمشروع لإنجاز المهام (Todo List). هذه النوعية من المشاريع لها مفهوم بسيط يسهل فهمه للجميع وفي نفس الوقت تكون صغيرة الحجم.
هنا لا تحاول فهم كل شيء، فقط ابدأ مشروع جديد في محررك المفضل. وافتح نافذتين جنبًا إلى جنب، إحداهما تحتوي على المشروع المنتهي الذي اخترته من github والأخر هو مشروعك الجديد الذي لا يحتوي على أي شيء.
3- ابدأ بكتابة المشروع حرفيًا من جديد
ابدأ بكتابة كل سطر من المشروع المفتوح المصدر إلى مشروعك الجديد. لاحظ هنا أنني ذكرت الكتابة وليس النقل (مثل النسخ واللصق). قم بتقسيم مشروعك بنفس الهيكيلية للمشروع الذي اخترته. واكتب كل سطر فيه كما هو.
المهم في هذه المرحلة أن يعمل مشروعك بنفس الطريقة التي يعمل بها المشروع الذي اخترته. لا أكثر ولا أقل. ليس مهم الآن أن تفهم كل شيء. فقط احرص على الحصول على نفس النتيجة و مطابقتها للمشروع النهائي.
هذا يساعدك على تتبع أكثر الدوال المستخدمة في هذه اللغة. و معرفة أفضل الطرق لاستخدامها (best practices). كما أنه يساعدك على فهم تسلسل الكود في هذه اللغة (work flow) والهيكلية الصحيحة لتقسيم مشاريعك (project architecture).
4- ابدأ بالتعديل على الأجزاء التي لم تفهمها جيدًا أثناء كتابة المشروع
الآن في هذه المرحلة ينبغي أن تكون مرتاح أكثر لإستخدام هذه اللغة، لقد كتبت مشروع كامل بها، ولكنك ما زلت لا تفهم بعض الأجزاء، فقط كتبتها ولم تعيرها الاهتمام.
ابدأ بالرجوع لهذه الأجزاء وابدأ بتغييرها أو باللعب بالعناصر المكونة لها، وانتبه للمخرجات والنتائج، و ما أثر هذا التغيير على طبيعة عمل المشروع . وما هي الأجزاء الأخرى التي تأثرت بهذا التغيير أيضًا.
إذا حددت الأجزاء التي تأثرت بهذا التغيير، ستستطيع تكوين فكرة عن وظيفة هذا الجزء من المشروع وكيف يؤثر علي طبيعة عمله.
أثناء ذلك استعن بمواقع البحث و الموقع الشهير للمبرمجين (stackoverflow.com) في إيجاد حلول أو شرح أعمق للأجزاء التي ما زلت لا تفهمها أو لا تعلم أهميتها.
5- الآن اعد كتابة المشروع من البداية وليكن هدفك الآن أن يعمل بلا أخطاء
والآن ابدأ مشروع جديد، ستكتبه أنت بدون الاستعانة بالمشروع القديم. ستقوم بالتخطيط لهيكلة المشروع وكتابة الكود من البداية.
لن تكون بمفردك كليًا، ما زال معك محرك البحث و موقع stackoverflow لتخطي العقبات التي ستواجهها.
حاول هذه المرة أن تنوع في طريقة حل المشكلة وأن تجعل المشروع يعمل كسابقه ولكن هذه المرة بكود مختلف، أو بطريقتك الخاصة بك.
عندما تنتهي من كتابة المشروع ولكن بمفردك هذه المرة. ستستطيع كتابة أي فكرة تريد إنجازها بهذه اللغة. ولن تجد نفسك متردد كثيرًا إذا واجهتك مشاكل. فأنت الآن ملم بالمعلومات الأساسية وجميع عناصر إنشاء مشروع من البداية للنهاية.
تم بناء هذا الموقع لأولئك الذين يرغبون في تعلم البرمجة بغض النظر عن مكان تواجدهم. يوفر لك دورات طويلة لمدة 12 ساعة، يمكنك طبعا وقفها والبدء من جديد ،تحديد أهداف واقعية، مثل إنشاء التطبيقات للهواتف الذكيةأو الألعاب أو المواقع على شبكة الإنترنت. إذا كنت تتابع وتطبق هذه الدروس فبالتأكيد ستستطيع بناء تطبيق خاص بك أو حتى موقع متكامل .
codecademy
من محاضرة صغيرة في شكل ألعاب الجافا سكريبت كودكاديمي استطاع بناء نظام متكامل وان يكون الموقع الرائد في مجال تعليم البرمجة والتطوير بمختلف لغاتها وتقنياتها .تستطيع التسجيل عبر الإنترنت مجانا والحصول على دروس خصوصية في إنشاء موقع. بما فيها تعلم HTML،CSS، وجافا سكريبت، jQuery، روبي، أو تعلم كيفية استخدام API للتطبيق الخاص بك. الموقع سهل الاستخدام ولن تشعر معه بالملل.
codehs
يقدم لك دروس في البرمجة على شكل مقاطع فيديو قصيرة ، مع الأمثلة والتمارين التي تجعل عملية التعلم مثيرة للاهتمام وسهلة حتى للمبتدئين. الموقع مصمم وفق مناهج دراسية التي تساعدك على المضي قدما في دراسة جافا سكريبت، HTML، والرسومات، والرسوم المتحركة وهيكلة البيانات، وغيرها من المهارات.كما يوفر كذلك الموقع ميزة جميلة وهي المساعدة في الدروس .حتى إذا واجهتك مشكلة، يمكنك ان تجد المساعدة.
codeschool
يستخدم هذا الموقع سلسلة من أشرطة الفيديو ولقطات للشاشة،ومجموعة من المهام بهدف مساعدتك على تعلم كيفيةالبرمجة من خلال متصفحك فقط. سوف تكون قادر على التفاعل مع الأكواد والتعليمات البرمجية في عملية التعلم . وتنقسم الدورات إلى أجزاء في لغة روبي، وجافا سكريبت، HTMLو CSS،IOS، GITوغيرها.
teamtreehouse
الموقع سوف يساعدك على تعلم كيفية إنشاء المواقع والتطبيقات من خلال كتابة الأكواد البرمجية الخاصة بك. وتضمن قاعدة بيانات الموقع أكثر من 1000 مقطع فيديو التي تم إنشاؤها من قبل خبراء في مجال تصميم مواقع الإنترنت والبرمجة والأعمال. مكتبة متجددة بانتظام.
dash
الموقع يستخدم أسلوب التعلم ضمن تنفيد مشروع لمساعدتك على فهم CSS، HTML و JavaScript. داش ،هو موقع لدراسة البرمجة أثناء إنشاء المشاريع الخاصة بك. سوف ترى كيف يعمل الكود البرمجي وكيف يتم إنشاؤه في إطار خاص.
khanacademy
من المواقع الشهيرة جدا والمعروفة عالميا ، الموقع مليء بالدروس في جميع المجالات ، لكن ما يهمنا في هذه التدوينة هي البرمجة ، إذ يستخدم الموقع سلسلة من الدروس خطوة بخطوة لمساعدتك على تعلم البرمجة من الصفر الى مستويات متقدمة . هنا سوف تجد لغة جافا سكريبت وProcessingJS ، والذي يستخدم ليعلمك كتابة البرامج الخاصة بك.
madewithcode
هذا الموقع يندرج ضمن المواقع التي تضمن لك التسلية والتعلم في نفس الوقت ، المشروع برعاية جوجل وهو في الحقيقة مشروع انشىء بهدف تشجيع النساء على تعلم البرمجة ، ويضم الموقع عدة مشاريع التي يمكنك تنفيذها باستخدام لغة البرمجة البصرية Blockly التي اطلقتها جوجل منذ مدة .
mothercoders
هو كذلك من البرماج المصممة خصيصا للامهات اللاتي يرغبن في توسيع فهمهم لتكنولوجيا المعلومات ،والتعلم من طرف المتخصصين في هذا القطاع. يتضمن المنهج دروسا في CSS، HTML، UX وتصميم مواقع الإنترنت.انصحك به إذا كنت مبتدىء.
skillcrush
تم انشاء هذا الموقع من أجل مساعدتك على بناء مهارات في البرمجة للوصول إلى مستوى متقدم، ونتيجة لذلك أصبح هذا الموقعمن أكثر المواقع شبعية في هذا المجال .إذ يقدم دروس مقسمة إلى : مصمم ويب، مطور ويب، مطور مستقل للووردبريس. ويمكنك البدء مع فترة تجريبية مدتها عشرة أيام لمعرفة أي من هذه الفئات تتوافق معها.
udacity
يقدم برنامج udacity من جامعة ستانفورد بعض دورات الكمبيوتر التمهيدية المتاحة على الإنترنت، بما في ذلك مقدمة لعلوم الكمبيوتر. وهذا برنامج منظم يأخذك نحو ثلاثة أشهر، لتعلم المفاهيم الأساسية للمعلومات أثناء إنشاء النسخ الخاصة بك من التطبيقات الشعبية.طبعا هناك عدة دورات أخرى مجانية في الموقع .
CodeCombat
إذا كنت تريد أن تبدأ تعلم البرمجة، فأنصحك الا تتردد في تجربة هذا الموقع الرائع! لعبة الرسوم المتحركة ء هو وسيلة رائعة لبدء التعلم الذي يضم دورات وبرامج منظمة واسعة النطاق. هذه اللعبة سوف تساعدك على فهم أساسيات البرمجة والوصول إلى برنامج تعليمي كبير وخطير في هذا المجال.
شاهد أيضا: طريقك نحو تعلم لغات البرمجة ( الجزء الأول )
تطرقنا في الجزء الأول من " طريقك نحو تعلم لغات البرمجة " لشرح المفاهيم و التعريفات المتعلقة ببدأ تعلم أساس لغات البرمجة ، أما اليوم نعرض خطوات عملية لتعلم لغات البرمجة ، وقائمة تشرح أفضل المواقع العالمية لتعلم البرمجة من الصفر إلى الاحتراف.
خطوات عملية لتعلم لغات البرمجة
هذه الطريقة مناسبة لأي شخص يحب أن يتعلم لغة برمجة جديدة سواء كان مبرمج أو حتى شخص لم يتعرض للبرمجة من قبل. وهي موجهة أكثر للأشخاص الذين يريدون تعلم لغة برمجة جديدة لهدف معين مثل إنشاء مشروع أو شركة ناشئة . فتعلم البرمجة لإنشاء مشروع يسهل من العملية ويعتبر دافع ذاتي لإكمال عملية التعلم .
1- في البداية اقرأ قوانين هذه اللغة أو ما يعرف بالـ syntax
ليس من المهم أن تعرف كل قوانينها، وبالتأكيد ليس مطلوب أن تحفظهم كلهم . فقط اجعل هذه القوانين مألوفة لك بالشكل الذي يمّكنك من تمييز هذه اللغة عند النظر إليها.
من المهم معرفة القواعد الاساسية للبرمجة باستخدام هذه اللغة وهي أمور ثابتة في معظم لغات البرمجة. مثل معرفة كيفية التعامل مع الأرقام (integers)، التعامل مع المتسلسلات أو التعامل مع النصوص (strings) والتعامل مع المتواليات (arrays). وقواعد الاشتراط مثل (if else) وغيرها من أساسيات لغات البرمجة.
تذكر لا تحفظها ولا تحاول معرفتها كلها… فقط اجعلها مألوفة إلى عينك
2- ابحث عن مشروع مفتوح المصدر مكتوب بهذه اللغة
بالطبع ستجد المئات من المشاريع المكتوبة بهذه اللغة على موقع البرمجيات مفتوحة المصدر الشهير github وغيره من مواقع استضافة البرمجيات مفتوحة المصدر، اختر المشروع الذي يناسب اهتماماتك أو مشروع قريب في الفكرة إلى شيء تريد إنجازه.
واحرص على أن يكون مشروع صغير غير معقد. من الأفضل أن تبدأ بمشروع لإنجاز المهام (Todo List). هذه النوعية من المشاريع لها مفهوم بسيط يسهل فهمه للجميع وفي نفس الوقت تكون صغيرة الحجم.
هنا لا تحاول فهم كل شيء، فقط ابدأ مشروع جديد في محررك المفضل. وافتح نافذتين جنبًا إلى جنب، إحداهما تحتوي على المشروع المنتهي الذي اخترته من github والأخر هو مشروعك الجديد الذي لا يحتوي على أي شيء.
3- ابدأ بكتابة المشروع حرفيًا من جديد
ابدأ بكتابة كل سطر من المشروع المفتوح المصدر إلى مشروعك الجديد. لاحظ هنا أنني ذكرت الكتابة وليس النقل (مثل النسخ واللصق). قم بتقسيم مشروعك بنفس الهيكيلية للمشروع الذي اخترته. واكتب كل سطر فيه كما هو.
المهم في هذه المرحلة أن يعمل مشروعك بنفس الطريقة التي يعمل بها المشروع الذي اخترته. لا أكثر ولا أقل. ليس مهم الآن أن تفهم كل شيء. فقط احرص على الحصول على نفس النتيجة و مطابقتها للمشروع النهائي.
هذا يساعدك على تتبع أكثر الدوال المستخدمة في هذه اللغة. و معرفة أفضل الطرق لاستخدامها (best practices). كما أنه يساعدك على فهم تسلسل الكود في هذه اللغة (work flow) والهيكلية الصحيحة لتقسيم مشاريعك (project architecture).
4- ابدأ بالتعديل على الأجزاء التي لم تفهمها جيدًا أثناء كتابة المشروع
الآن في هذه المرحلة ينبغي أن تكون مرتاح أكثر لإستخدام هذه اللغة، لقد كتبت مشروع كامل بها، ولكنك ما زلت لا تفهم بعض الأجزاء، فقط كتبتها ولم تعيرها الاهتمام.
ابدأ بالرجوع لهذه الأجزاء وابدأ بتغييرها أو باللعب بالعناصر المكونة لها، وانتبه للمخرجات والنتائج، و ما أثر هذا التغيير على طبيعة عمل المشروع . وما هي الأجزاء الأخرى التي تأثرت بهذا التغيير أيضًا.
إذا حددت الأجزاء التي تأثرت بهذا التغيير، ستستطيع تكوين فكرة عن وظيفة هذا الجزء من المشروع وكيف يؤثر علي طبيعة عمله.
أثناء ذلك استعن بمواقع البحث و الموقع الشهير للمبرمجين (stackoverflow.com) في إيجاد حلول أو شرح أعمق للأجزاء التي ما زلت لا تفهمها أو لا تعلم أهميتها.
5- الآن اعد كتابة المشروع من البداية وليكن هدفك الآن أن يعمل بلا أخطاء
والآن ابدأ مشروع جديد، ستكتبه أنت بدون الاستعانة بالمشروع القديم. ستقوم بالتخطيط لهيكلة المشروع وكتابة الكود من البداية.
لن تكون بمفردك كليًا، ما زال معك محرك البحث و موقع stackoverflow لتخطي العقبات التي ستواجهها.
حاول هذه المرة أن تنوع في طريقة حل المشكلة وأن تجعل المشروع يعمل كسابقه ولكن هذه المرة بكود مختلف، أو بطريقتك الخاصة بك.
عندما تنتهي من كتابة المشروع ولكن بمفردك هذه المرة. ستستطيع كتابة أي فكرة تريد إنجازها بهذه اللغة. ولن تجد نفسك متردد كثيرًا إذا واجهتك مشاكل. فأنت الآن ملم بالمعلومات الأساسية وجميع عناصر إنشاء مشروع من البداية للنهاية.
الخطوات من إعداد الأخ محمد عبد العليم من مصر
قائمة بأفضل المواقع لتعلم البرمجة من الصفر إلى الاحتراف :
هذه قائمة بأفضل المواقع العالمية التعليمية الخاصة بالبرمجة والمميز فيها أنها تحوي دروس و شروحات بعدة اساليب ومن إعداد خبراء في المجال وذلك لكافة المستويات للمبتدئين و المحترفين .
تم بناء هذا الموقع لأولئك الذين يرغبون في تعلم البرمجة بغض النظر عن مكان تواجدهم. يوفر لك دورات طويلة لمدة 12 ساعة، يمكنك طبعا وقفها والبدء من جديد ،تحديد أهداف واقعية، مثل إنشاء التطبيقات للهواتف الذكيةأو الألعاب أو المواقع على شبكة الإنترنت. إذا كنت تتابع وتطبق هذه الدروس فبالتأكيد ستستطيع بناء تطبيق خاص بك أو حتى موقع متكامل .
codecademy
codehs
يقدم لك دروس في البرمجة على شكل مقاطع فيديو قصيرة ، مع الأمثلة والتمارين التي تجعل عملية التعلم مثيرة للاهتمام وسهلة حتى للمبتدئين. الموقع مصمم وفق مناهج دراسية التي تساعدك على المضي قدما في دراسة جافا سكريبت، HTML، والرسومات، والرسوم المتحركة وهيكلة البيانات، وغيرها من المهارات.كما يوفر كذلك الموقع ميزة جميلة وهي المساعدة في الدروس .حتى إذا واجهتك مشكلة، يمكنك ان تجد المساعدة.
codeschool
teamtreehouse
dash
khanacademy
madewithcode
mothercoders
skillcrush
udacity
CodeCombat
إذا كنت تريد أن تبدأ تعلم البرمجة، فأنصحك الا تتردد في تجربة هذا الموقع الرائع! لعبة الرسوم المتحركة ء هو وسيلة رائعة لبدء التعلم الذي يضم دورات وبرامج منظمة واسعة النطاق. هذه اللعبة سوف تساعدك على فهم أساسيات البرمجة والوصول إلى برنامج تعليمي كبير وخطير في هذا المجال.
شاهد أيضا: طريقك نحو تعلم لغات البرمجة ( الجزء الأول )