أريد أن أتعلم البرمجة ولكني لا أعرف من أين أبدأ

الهدف من هذا المقال هو جعل تعلم البرمجة في متناول أي شخص.

أسئلة مكررة :

كمعلم ، يُطلب مني باستمرار ما يلي:

“ما هي لغة البرمجة التي يجب أن أتعلمها إذا كنت جديدًا؟”
“ما هي لغة البرمجة الأكثر طلبا على الوظائف؟”
“ما هي لغة البرمجة الأكثر شعبية؟”

لغات البرمجة الأكثر إستخداما :

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

كيفية اختيار لغة البرمجة :

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

إذا كنت قد حاولت في السابق تعلم البرمجة (أو أي مجال STEM) في المدرسة، وجربت أفضل ما لديك، لكنك فشلت – لم تكن أنت المشكلة. أستاذ جيد في أي موضوع تراكمي يرعى بعناية المناهج الدراسية. شريطة أن يكون كل طالب قد قام بإعداد الشروط المسبقة والوفاء بها بشكلٍ كافٍ ، يجب أن تكون التوقعات الخاصة بمعرفة الطلاب السابقة واضحة. أستاذ جيد يفهم التوقعات ولا يفترض أي معرفة خارج هذا المجال. يجب أن تدرس أي شيء خارج التوقعات. يتم ترتيب كل موضوع في المنهج بالتسلسل ، مع مراعاة المواضيع الأخرى.

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

بعض النصائح التي عليك إتباعها :

قبل أن تبدأ في تعلم كيفية البرمجة ، من المهم التفكير في النقطة التي أشرت إليها أعلاه: كل شيء في علوم الكمبيوتر تراكمي.

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

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

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

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

إذا لم يشرح البرنامج التعليمي (أو الكتاب) الذي تستخدمه الموضوع بشكل كافٍ ، فسيتعين عليك العثور على موارد أخرى تناسبك. ليس هناك عذر للتخلي لمجرد أن تغطية البرنامج التعليمي لموضوع ما لا يناسبك. يمكنك العثور على أي شيء تود تعلمه مجانًا على YouTube. اكتشف ما الذي تبحث عنه (على سبيل المثال ، [الموضوع] في [لغة البرمجة] + أي كلمات رئيسية أخرى مفيدة).

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

الكثير من المواضيع لن تكون منطقية في المرة الأولى. لذلك ، الامتناع عن الأفكار السلبية الذاتية.

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

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

1 – أساسيات علوم الحاسوب :

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

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

2 – المنطق المقترح (اختياري) :

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

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

يمكنك معرفة المنطق الإفتراضي من هذا البرنامج التعليمي على YouTube: المفاهيم الأساسية في منطق الاقتراح.

3 – برمجة جافا :

بعد أن تتعلم أساسيات علوم الكمبيوتر ، ستكون جاهزًا لتعلم لغة البرمجة.

لقد وضعت الكثير من التفكير والجهد في تصميم مسار مناسب للجميع ، بغض النظر عن خلفيتهم. لقد اخترت Java لمسار التعلم هذا لأن Java هي اللغة الأكثر خبرة فيها.

تعد Java واحدة من أكثر لغات البرمجة طلبًا. تم تصنيفها كلغة برمجة موجهة للكائنات (ستعرف ما يعنيه هذا لاحقًا) وتستخدم لصنع تطبيقات سطح المكتب والويب والجوال.

إذا كنت تفضل التعلم من كتاب ، فإنني أوصي بما يلي: Head First Java.

إذا كنت تبحث عن فيديو تعليمي ، فنوصيك بمشاهدة مقاطع الفيديو رقم 1-19 و 31 و 33 و 88 و 93 في البرنامج التعليمي جافا على YouTube بواسطة Derek Banas: Java Video Tutorial.

سيوجهك أول فيديو في البرنامج التعليمي على YouTube لتنزيل برنامج كمبيوتر يسمى Eclipse. الكسوف هو بيئة التطوير المتكاملة (IDE). يمكنك التفكير في IDE كمصطلح خيالي لمحرر الكلمات الذي تم إعداده للمبرمجين.

إنه مجرد تطبيق كمبيوتر يوفر محرر نصوصًا للبرمجة ، إلى جانب أدوات أخرى لتشغيل برامجك. إليك الرابط الخاص بمقطع فيديو Derek Banas على YouTube حول كيفية تنزيل Eclipse: Install Eclipse for Java.

4 – الخوارزميات وهياكل البيانات :

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

بنية البيانات هي وسيلة لتنظيم البيانات في الذاكرة.

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

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

ملاحظة: الدورة باهظة الثمن ولكنها ضرورية. تمكنت من الاتصال بالمدرب ، وقد قدمت بسخاء رمز الكوبون الذي يقلل التكلفة من 50 دولارًا إلى 10 دولارات. سيتم تطبيق رمز القسيمة تلقائيًا عند النقر فوق الارتباط.

أوصي باستخدام البرنامج التعليمي التالي جنبًا إلى جنب مع البرنامج التعليمي Udemy: VisuAlgo. VisuAlgo هو مورد مجاني يُظهر صورًا لكيفية تغيير القيم المدخلة في خوارزمية أثناء تنفيذها.

5 – تطوير أندرويد :

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

إليك أفضل فيديو تعليمي مجاني لبدء تعلم Android: Udacity-Android Development للمبتدئين.
بعد إكمال دورة Udacity أعلاه ، لديك خياران يمكنك الذهاب من هناك إلى هناك. يجب أن يكون هناك امتداد للدورة أعلاه التي يتم تدريسها من قبل نفس المجموعة من موظفي Google. يجب أن تصبح المحاضرات الإضافية مرئية بمجرد اجتياز الدورة التدريبية (إذا لم تتمكن من العثور عليها ، فابحث عنها في Udacity). هذا خيار جيد ، خاصة أنه مجاني.

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

موارد مفيدة :

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

هناك الكثير من المواقع التعليمية حيث يمكنك العثور على دروس البرمجة. بعض المفضلة هي Codecademy و Udemy و Udacity و Team Treehouse و Khan Academy.

Leave a Reply

error: Content is protected !!