الإعلانات
البرمجة الصعب. الأشخاص الوحيدون الذين يقولون خلاف ذلك هم أولئك الذين لديهم سنوات من الخبرة في الترميز تحت أحزمتهم. لا بأس أن تغمر نفسك! هناك قطعة أرض للتعلم وربما تنسى الأشياء بأسرع ما تتعلمها. صدقني: هذا طبيعي.
ولكن لمجرد أن الأمر طبيعي لا يعني أنه ليس محبطًا. والحق يقال، تعلم كيفية البرمجة كيف تتعلم البرمجة بدون كل ضغوطربما قررت متابعة البرمجة ، سواء لمهنة أو مجرد هواية. رائعة! لكن ربما بدأت تشعر بالإرهاق. ليس عظيما جدا. فيما يلي مساعدة لتسهيل رحلتك. اقرأ أكثر يمكن أن يكون مرهقًا للغاية إذا لم تتعامل معه بالعقلية والسلوك الصحيحين.
تريد أن تتعلم تلك اللغة أو المكتبة أو إطار العمل الجديد في أسرع وقت ممكن ، أليس كذلك؟ هذا مفهوم. لحسن الحظ ، هناك عدد قليل من النصائح التي يمكن أن تساعدك على الاحتفاظ بشكل أفضل بجميع معلومات البرمجة الثقيلة التي تستمر في الطيران في أذن واحدة وتخرج من الأخرى مباشرة.
لا مزيد من الجلسات كرام
لا أحد يريد سماعه ، لكن الحشر هو أسوأ طريقة لتعلم كيفية البرمجة. إذا كنت مثلي ، فإن الحشر هو لك طريقة العمل في جميع أنحاء المدرسة والجامعة. إنها الطريقة الوحيدة التي تعرف بها كيف تدرس.
لكن تعلم من أخطائي: كلما حاولت الحشو ، قل ما تتذكره. هذا صحيح إلى حد كبير بالنسبة لأي موضوع قائم على المعرفة ، ولكنه صحيح بشكل خاص عندما يتعلق الأمر بالبرمجة.
يأتي أساس هذا الادعاء من دراسة عام 2008 من جامعة كاليفورنيا ، سان دييغو:
"يؤدي الطلاب أداءً أفضل عندما يفصلون بين جلسات الدراسة بدلاً من محاولتهم حشر كل شيء في رؤوسهم أثناء جلسة واحدة."
لماذا ا؟ على الأرجح بسبب تأثير الموضع التسلسلي:
"تأثير الموضع التسلسلي هو ميل الشخص إلى تذكر العناصر الأولى والأخيرة في سلسلة بشكل أفضل ، والعناصر الوسطى أسوأ."
بمعنى آخر: في أي جلسة دراسة معينة ، من المرجح أن تحتفظ بالمعلومات التي تعلمتها بالقرب منك بداية الجلسة ونهايتها ومن المرجح أن تنسى المعلومات من منتصف الجلسة حصة.
تريد تعظيم عدد البدايات والنهايات. هذا هو السبب في أنه من الأفضل أن يكون لديك عدة جلسات قصيرة بدلاً من بضع جلسات طويلة عندما يتعلق الأمر بتعلم واستيعاب المواد الجديدة.
في المرة القادمة التي تجلس فيها لتعلم البرمجة ، خذها موضوعًا واحدًا في كل مرة وخذ استراحة قصيرة بين كل موضوع. (فقط تأكد من منع تحول فترات الراحة الخاصة بك إلى مماطلة!)
مراجعة ، مراجعة ، مراجعة
سبب آخر ، لماذا يتناقض الحشو مع الاحتفاظ بالمعرفة على المدى الطويل هو أن الذاكرة تتلاشى بمرور الوقت. هذا ليس صحيحًا دائمًا - أنا متأكد من أننا جميعًا لدينا بعض ذكريات الطفولة التي لن تختفي أبدًا - ولكن يبدو أنها الحالة العامة للذكريات التي لا ترتبط بالعواطف.
هناك بعض الجدل حول ما إذا كانت الذاكرة نفسها تتحلل بسبب الوقت (نظرية الاضمحلال) أو يتم دفعها للخارج واستبدالها بذكريات جديدة بمرور الوقت (نظرية التداخل). بغض النظر عن النظرية التي تشترك فيها ، فإن النتيجة هي أن الذكريات القديمة من المرجح أن تتلاشى.
هذا هو المكان الذي تدخل فيه المراجعة.
فكر في الأمر مثل المشي في غابة من الذكريات. في كل مرة تريد الوصول إلى ذاكرة ، عليك ذلك تتبع المسار العصبي من أجل العثور عليه. في كل مرة تقوم فيها بتتبع تلك الذاكرة ، يتم حفر المسار أكثر قليلاً - تمامًا كما يتشكل مسار ترابي بشكل طبيعي عندما يسير الأشخاص في نفس المسار مرارًا وتكرارًا. إذا توقفت عن السير في المسار ، فقد يتلاشى وينتهي الأمر بفقدان الذاكرة في مكان ما في الغابة.
وبغض النظر عن علم نفس البوب ، فإليك الخلاصة: عندما يتعلق الأمر بالبرمجة ، لا يكفي أن تتعلم موضوعًا مرة أو مرتين فقط. عليك أن تعيد النظر فيه عشرات أو حتى مئات المرات. كل مراجعة تحفر هذا الموضوع في عقلك بشكل أعمق قليلاً.
أعلم مدى صعوبة هذا الأمر إذا كنت من هواة الحشو بشكل طبيعي ، ولكنك ستندهش من مدى السرعة التي تبدأ بها في الاحتفاظ بالمواد بمجرد بذل جهد لمراجعتها بانتظام.
استخدم عدة موارد مختلفة
أصعب جانب من جوانب البرمجة - على الأقل للمبرمجين الجدد - هو الاتساع الهائل في التفاصيل والفروق الدقيقة التي يجب استيعابها. حتى يحدث هذا الاستيعاب ، ستكون في حالة دائمة من حكة الرأس.
اعتمادًا على اللغة ، ستحتاج إلى حفظ مئات القواعد النحوية (مثل الكلمات الرئيسية والفواصل المنقوطة والمسافات البيضاء). بعض اللغات أكثر صرامة ، والبعض الآخر أقل من ذلك ، والبعض الآخر لديه أساليب فريدة خاصة به في بناء الجملة لا يتم استخدامها في أي مكان آخر. قد يكون كل هذا مربكًا إذا لم تكن لديك خبرة سابقة في الترميز.
ناهيك عن جميع المعلومات المفاهيمية التي تتجاوز اللغات الفردية. يمكن لموضوعات مثل البرمجة الموجهة للكائنات وأنظمة مكونات الكيانات وأنماط المراقب أن تجعل رأسك تدور في المرة الأولى التي تحاول فيها تعلمها.
لقد قمت بمشاركة هذا الرسم التوضيحي من قبل ، ولكن من الأهمية بمكان أن نكرره:
لنفترض أن أحدهم أظهر لك صورة لتمثال. قد يوفر لك صورة كافية لتكوين فكرة مناسبة عن التمثال ، لكنك لن تحصل على الصورة كاملة. ستفقد الصورة المكبرة التفاصيل المعقدة بينما تفقد الصورة المكبرة الإحساس بالمنظور. ومع ذلك ، مع الصور الإضافية التي تم التقاطها من زوايا أخرى ، يمكنك حقًا البدء في رؤية ملف امتلاء التمثال في الملمس ، في الحجم ، بالتفصيل ، من الأمام إلى الخلف ، ومن الجانب إلى الجانب ، و من اعلى لاسفل."
يمكن أن يكون تعلم البرمجة تعسفيًا بشكل مدهش. قد يثني الجميع على المورد أ باعتباره أفضل طريقة لتعلم اللغة X ، ولكن ربما لا يكون ذلك منطقيًا بالنسبة لك. ربما يكره الجميع المورد "ب" لكنك تلقي نظرة واحدة وهذا منطقي تمامًا! أما بالنسبة لشخص آخر ، فربما يكون خارج النطاق عند دراسة الموارد أ و ب لكنهم يستفيدون بشكل كبير من المصدر ج.
هذا هو السبب في أنه من المهم جدًا بالنسبة لك أن تكون على استعداد لاستهلاك جميع أنواع الموارد الموجودة هناك. كل شخص يتعلم بطريقة مختلفة. إذا كنت تواجه مشكلة في موضوع معين ، فابحث عن مصدر آخر. ربما يكون هذا أكثر ملاءمة لك. ربما لا.
حتى إذا كنت تعتقد أنك تفهم موضوعات معينة ، فمن الممكن أن يكون هناك المزيد للتعرف عليها. من الممكن أيضًا أن يقوم تفسير شخص آخر بترسيخ المفهوم في عقلك للأبد. أنت لا تعرف أبدًا ، فلماذا لا تستهلك أكبر قدر ممكن من الموارد؟
لاحظ أن الألعاب يمكن أن تكون موردًا مفيدًا للغاية! تحقق من هذه ألعاب ترميز ممتعة وتعليمية أفضل 9 ألعاب برمجة لبناء مهارات البرمجة الخاصة بكتساعدك ألعاب البرمجة على التعلم بشكل أسرع من خلال التدريب العملي والخبرة. بالإضافة إلى ذلك ، إنها طريقة ممتعة لاختبار مهارات البرمجة الخاصة بك! اقرأ أكثر .
علم المفاهيم كما تتعلمها
هناك مفهوم جميل في البرمجة يسمى تصحيح أخطاء بطة المطاط أغرب مبادئ البرمجة التي لم تسمع بها من قبلستعلمك المبادئ التالية أن تكون حكيماً في التعليمات البرمجية الخاصة بك. بعضها غريب ، والكثير منها مضحك ، لكنها كلها عملية وأهمية بنفس القدر. يأخذوا حذرهم! اقرأ أكثر ، الذي يصف تقنية شرح الكود ، سطراً بسطر ، إلى بطة مطاطية غير حية. يتم استخدامه عندما يتم كسر جزء معين من التعليمات البرمجية ، ولكن لا يوجد سبب واضح لذلك.
الغريب أن معظم المبرمجين لديهم "Eureka!" لحظة في منتصف شرح الكود حيث يرون فجأة مكان حدوث الخطأ في منطق الترميز. يؤدي النطق إلى منطقة مختلفة من الدماغ ، مما يجبرك على رؤية المشكلة من زاوية جديدة.
يمكن أيضًا استخدام هذا المفهوم لمساعدتك في تعلم مواد جديدة. ربما تكون قد صادفت هذا الاقتباس الشائع الذي يُنسب غالبًا إلى ألبرت أينشتاين:
"إذا كنت لا تستطيع شرح ذلك ببساطة ، فأنت لا تفهمه جيدًا بما فيه الكفاية."
باستثناء بعض المجالات التي تتعامل مع المعرفة النظرية المتقدمة ، فإن هذا القول صحيح. كلما فهمت موضوعًا أكثر ، كنت أفضل تجهيزًا لشرحه بطريقة تجعل الشخص الذي ليس لديه معرفة بالموضوع المذكور يفهمه.
وعكس هذا صحيح أيضًا. أثناء محاولتك تدريس موضوع ما ، ستصادف مفاهيم معينة لا يبدو أنك تستطيع شرحها بطريقة واضحة. هذه ليست فقط طريقة رائعة لتشخيص نقاط الضعف في معرفتك ، فالعملية الفعلية لإيجاد التفسير المناسب يمكن أن تساعد في ترسيخ المفهوم في عقلك.
إنه يسمى التعلم عن طريق التدريس وهو في الأساس تطور في تصحيح أخطاء البط المطاطي.
الآن ، أنا لا أقول أنه يجب عليك ذلك في الواقع تعليم الآخرين بدلاً من ذلك ، كل موضوع برمجة جديد تتعلمه ، حاول تعليمه لبطة مطاطية (أو صديق غير مرئي). قد يبدو الأمر سخيفًا في البداية ، ولكن قد تجده مثمرًا بشكل لا يصدق عندما يتعلق الأمر بالاحتفاظ بالذاكرة.
الممارسة المتعمدة تجعل الكمال
إن فكرة الموهبة هي هراء كامل. لا أحد يخرج من الرحم كعازف كمان أو مصارع أو مبرمج من الطراز العالمي. بالتأكيد ، قد يكون بعض الناس أكثر ميلًا نحو بعض التخصصات ، ولكن الموهبة بدون خبرة لا طائل من ورائها لا تدع مواهبك الخفية تموت: 7 طرق للذهاب والعثور عليها مرة أخرىالنبأ السيئ هو أنه عليك أن تعمل بجد بنية صقل مواهبك المخفية. الخبر السار هو أن هناك فرصًا أكثر من أي وقت مضى لإبراز مواهبك. اقرأ أكثر . وبالمثل ، فإن العمل الجاد دائمًا ما يكون أكثر قيمة من الموهبة.
ما قيل، ليست كل أشكال العمل الجاد متساوية. صاغ مالكولم جلادويل قاعدة 10000 ساعة سيئة السمعة ، والتي تنص على أنه يجب عليك استثمار 10000 ساعة على الأقل في موضوع ما حتى تصبح خبيرًا فيه. في حين أن الشعور قد يكون صحيحًا ، فإن الكثير من الناس يسيئون تفسير ما كان يحاول قوله.
قصة قصيرة طويلة ، التزام 10000 ساعة لا يضمن في الواقع إتقان. أنت تعرف القول: "الممارسة لا تكتمل. الممارسة المثالية تجعل الكمال ". من أجل أن تكون ذات مغزى ، يجب أن تكون الممارسة مقصودة تريد أن تصبح خبيرًا في شيء ما؟ جرب الممارسة المتعمدةمن السهل جدًا أن تشعر بالضيق عندما تحاول جاهدًا تحسين مهارة معينة. استخدم قوة "الممارسة المتعمدة" للتغلب على تلك الهضاب المزعجة. اقرأ أكثر . لا يمكن تحقيق الإتقان إلا من خلال 10000 ساعة من الممارسة المتعمدة.
كيف تتمرن أكثر بكثير من مقدار الوقت الذي تقضيه في التدريب.
القراءة سلبية. إن مشاهدة دروس YouTube أمر سلبي. الاستماع إلى البودكاست سلبي. بصفتك مبرمجًا مبتدئًا ، قد تميل إلى الرفرفة من البرنامج التعليمي إلى البرنامج التعليمي ، والتعامل مع موضوع تلو الآخر دون تطبيق أي من هذه المعرفة بطريقة عملية. قاوم هذا الإغراء.
إن فهم مثال ما أمامك شيء ، لكن تكوين حل من البداية شيء آخر. إذا كنت ترغب في تسريع عملية التعلم ، فيجب أن تكون على استعداد لأن تكون نشطًا بدلاً من أن تكون سلبيًا. الممارسة النشطة هي النوع الوحيد الذي يهم في النهاية.
جرب المشاريع الشخصية
بالنسبة لي ، كان الواجب المنزلي هو أسوأ جزء في المدرسة. بدا الأمر وكأنه حيلة متقنة لقتل المرح وإبقاء الطلاب مشغولين - وهو ما كان صحيحًا في بعض الأحيان ، لكي نكون منصفين. ولكن الآن بعد أن نظرت إلى الوراء ، أصبحت أهمية الواجب المنزلي منطقية أخيرًا. أجبرني على تطبيق المعرفة المكتسبة حديثًا بطريقة نشطة.
إذا كنت مسجلاً في دورات وفصول البرمجة أفضل 11 موقعًا لدورات برمجة الكمبيوتر المجانية عبر الإنترنتباستخدام دورات برمجة الكمبيوتر المجانية عبر الإنترنت ، يمكنك أن تصبح مبرمجًا رائعًا بدون الحصول على درجة علمية في علوم الكمبيوتر. اقرأ أكثر ، لا تقلل من فعالية الواجبات المنزلية. تعامل مع الأمر بجدية ، واعتبره دائمًا فرصة لتعزيز ما تعلمته في الذاكرة طويلة المدى.
لكن في كثير من الأحيان ، لا تزال الواجبات المنزلية غير كافية. (وإذا كنت تتعلم كيفية البرمجة بنفسك بدون مدرب فعلي ، فربما لا يكون لديك أي واجبات منزلية لتبدأ بها.)
ما هو الحل؟ إنشاء اثنين من المشاريع الجانبية المهملة!
فكر في ملف بعض أفكار المشروع 5 أفكار مشاريع لمساعدتك على تعلم البرمجة بشكل أسرعهناك عدة طرق لتخفيف منحنى تعلم البرمجة. اجعل يديك متسخين وتعلم بشكل أسرع مع المشاريع الجانبية التي يمكنك البدء بها في أي وقت. العب مع هؤلاء الخمسة. اقرأ أكثر التي ترغب في تنفيذها. بالنسبة للمبتدئين المطلقين ، قد تفكر في لعبة Tic-Tac-Toe أو Hangman. بالنسبة للمبرمجين المخضرمين الذين يحاولون تعلم إطار عمل جديد ، جرب ترميز تطبيق جوال بسيط أو لعبة ويب. طالما أنه يثير اهتمامك على المستوى الشخصي ، فابحث عنه!
جمال هذا النهج ذو شقين.
أولاً ، من المرجح أن تجذب انتباهك. أظهرت الدراسات أن الطلاب يتعلمون بشكل أفضل عندما يمكنهم متابعة الموضوعات التي تهمهم. هذا هو بالضبط ما يقدمه المشروع الشخصي. لديك هدف نهائي تريد تحقيقه بالفعل ، وبالتالي من المرجح أن تحتفظ بالمعلومات التي ستوصلك إلى هناك.
ثانيًا ، لا يوجد ضغط عليك لتحقيق النجاح. في حين أن النجاح سيكون أمرًا رائعًا ، إلا أن الافتقار إلى الشكليات يسمح لك بأن تكون تجريبيًا ومبدعًا. ستواجهك مشكلات حتمًا ، لكن الأمر أشبه باللعب مع Lego أكثر من كونه واجبًا منزليًا. إنها أكثر متعة وليست مرهقة.
استرخ وقم بوضع إشارة مرجعية على كل شيء
الحقيقة هي أنه لا يوجد مبرمج يتذكر كل شىء لقد تعلموا. حتى بعد أن كنت تعمل مع مكتبة أو إطار عمل معين لفترة من الوقت ، فليس من غير المألوف إذا لم تتمكن من تذكر كل وظيفة أو متغير من أعلى رأسك.
في الواقع ، قد ينتهي الأمر بمحاولة حفظ كل شيء إلى إهدار كبير للوقت والجهد. أوراق مرجعية موجودة لسبب ما. لماذا تلزم موسوعة كاملة بالذاكرة بينما يمكنك فقط قلبها لفتحها متى احتجت إليها؟
إذن ، متى تحفظ ومتى ترجع؟
عندما يتعلق الأمر بالمواد المفاهيمية ، استوعبها دائمًا بأفضل ما لديك. أعني بذلك فهم النظرية حتى لو لم تتمكن من تحويلها إلى كود فعلي (ويجب أن تكون النظرية واضحة بما يكفي لتعلمها بوضوح).
لكل شيء آخر - مثل أسماء الوظائف المحددة أو قوائم المعلمات أو حتى المراوغات اللغوية - لا داعي للقلق بشأن الالتزام بالذاكرة. لا تتردد في الإرجاء إلى ورقة مرجعية. في بعض الأحيان ستشير إلى شيء ما كثيرًا حتى ينتهي بك الأمر بحفظه. إذا حدث ذلك ، فلا بأس. إذا لم يكن كذلك ، فلا بأس بذلك أيضًا.
أنا شخصياً لدي المئات من الإشارات المرجعية على الإنترنت لمختلف واجهات برمجة التطبيقات والأدلة والبرامج التعليمية. إذا كنت بحاجة إلى تنفيذ نوع من خوارزمية تحديد المسار ، فقد أشير إلى دليل لمساعدتي في ترميزها قبل نسيانها مرة أخرى. إنه يساعد على فهم المفاهيم الأساسية ، لكني أحاول ألا أقلق بشأن تفاصيل التنفيذ.
افكار اخيرة
سأكررها مليون مرة إذا اضطررت إلى: البرمجة صعبة ولا بأس إذا كنت تعاني معها. لقد كنت أبرمج كهواية لأكثر من عقد من الزمان وما زلت أجد نفسي خائفًا عندما يكون لدي مفاهيم جديدة لأتعلمها.
لا تضغط على نفسك إذا كنت لا تستطيع تذكر كل شيء على الفور. نأمل أن تكون النصائح المذكورة أعلاه مفيدة لك ، وحتى إذا لم تكن كذلك ، يمكنك دائمًا الاعتماد على المراجع المرجعية كملاذ أخير.
هل تجد صعوبة في البرمجة؟ ما نوع الحيل والنصائح التي تعرفها والتي قد تكون مفيدة للمبرمجين المبتدئين؟ شاركنا حكمتك في التعليقات أدناه!
اعتمادات الصورة: مبرمج ثنائي عبر Shutterstock, ممحاة الذاكرة عبر Shutterstock, رمز غامض عبر Shutterstock, المطاط الحبيب عبر شترستوك, طابع لوحة المفاتيح عبر Shutterstock, كود مصدر PHP عبر Shutterstock, مجلدات الملفات عبر Shutterstock
جويل لي حاصل على بكالوريوس العلوم. في علوم الكمبيوتر وأكثر من ست سنوات من الخبرة المهنية في الكتابة. وهو رئيس تحرير MakeUseOf.