لماذا تشاهد الشروحات ولا تتطور؟ دليلك للتعلم الفعال في البرمجة

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

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

التعلم لا يعني التقدم الحقيقي

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

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

رحلة علي ومحمد: قصة متعلمين

دعنا الآن نرى رحلة علي ومحمد التي استمرت لمدة ستة أشهر في تعلمهما للبرمجة، ونرى إلى أين وصل كل واحد منهما.

رحلة علي

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

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

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

رحلة محمد

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

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

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

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

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

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

كلاهما قضى نفس الوقت في التعلم. محمد أصبح لديه ثقة في نفسه في البرمجة وبدأ فعلاً في إنشاء مشاريع حقيقية، بينما علي لا يزال يتساءل: هل JavaScript أفضل أم لغة C++؟

تلخيص المشاكل والحلول العملية

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

1. المشاهدة السلبية مقابل التطبيق الفعال

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

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

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

2. الخوف من الأخطاء

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

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

3. متلازمة الشيء اللامع

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

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

4. الشروحات مقابل المشاريع الحقيقية

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

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

خلاصة طريقة التعلم الفعالة

والآن، إليك طريقة من خمس خطوات تلخص كل ما ذكرناه وتعلمك كيفية اكتساب أي مهارة جديدة:

  1. تعلم: شاهد شرحًا أو اقرأ مقالات في المجال الجديد الذي ترغب في تعلمه.
  2. جرب: اكتب أمثلة بنفسك من الصفر.
  3. أفسد: حاول إفساد الرمز البرمجي الذي كتبته عمدًا بيدك.
  4. أصلح: ابدأ في إصلاح ما أفسدته.
  5. اشرح: إما أن تشرح الأمر لنفسك، أو إذا كانت لديك القدرة، اشرحه لشخص آخر. فهذا هو ما سيعمق فهمك حقًا.

تعلم، جرب، أفسد، أصلح، اشرح.

هذه خمس خطوات إذا طبقتها فعلاً، فستحدث فارقاً كبيراً معك.

شارك المقال

أحدث المقالات

CONNECTED
ONLINE: ...
SECURE
00:00:00