الأسئلة الشائعة حول الإرشاد

مجموعة متنوعة من الأسئلة الشائعة المتعلقة بالإرشاد


ما الذي يؤهّل شخصًا ليكون مُرشِدًا؟

هل يمكنني تقديم الإرشاد في لغة ما زلت أتعلمها؟

هل يمكنني تقديم الإرشاد في أكثر من لغة؟

هل أحاول إرشاد كل حل في قائمة الإرشاد؟

ماذا لو بقي حل في قائمة الإرشاد أيامًا، بل أسابيع؟

ماذا لو لم يكن لديّ ما أقترحه بشأن حلٍّ ما؟

هل أرشد تمرينًا لم أحلّه قط؟

هل أرشد تمرينًا حللته، لكن بلغة أخرى؟

هل عليّ إرشاد حل بمجرد أن أراه؟

ماذا لو لم يفهم الطالب بعد أن شرحت له شيئًا عدة مرات؟

كيف أردّ إذا اتخذ الطالب موقفًا دفاعيًا تجاه اقتراحاتي؟

هل يكون القول الأخير للطالب حتى لو رأيت أنه مخطئ؟

كيف أصوغ الاقتراح بأفضل شكل؟

هل أفرض قواعد التنسيق والتعليقات والتسمية؟

ما الذي يؤهّل شخصًا ليكون مُرشِدًا؟

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

هل يمكنني تقديم الإرشاد في لغة ما زلت أتعلمها؟

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

هل يمكنني تقديم الإرشاد في أكثر من لغة؟

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

هل أحاول إرشاد كل حل في قائمة الإرشاد؟

إذا لم يخطر ببالك في تلك اللحظة شيء جوهري أو بنّاء تقوله عن حلٍّ ما، فقد يكون من الأفضل للطالب أن تترك طلب الإرشاد لمُرشِد آخر، حتى لو اضطر الطالب إلى انتظار أطول للحصول على رد.

ماذا لو بقي حل في قائمة الإرشاد أيامًا، بل أسابيع؟

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

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

أو قد ترغب في أن يشرح لك الطالب حلّه. وهذا نوع من «الإرشاد المعكوس»، لكن بعض الطلاب قد يسعدهم أن يشرحوا حلّهم إذا سُئلوا بلطف واحترام. ويمكنك حينها أن تسأل إن كانوا قد فكّروا في أسلوب آخر، ولماذا اختاروا الأسلوب الذي سلكوه.

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

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

ماذا لو لم يكن لديّ ما أقترحه بشأن حلٍّ ما؟

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

هل أرشد تمرينًا لم أحلّه قط؟

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

هل أرشد تمرينًا حللته، لكن بلغة أخرى؟

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

هل عليّ إرشاد حل بمجرد أن أراه؟

قد تنظر إلى حل وتدرك أنك لا تريد الإرشاد فيه لأحد أسباب عدة، منها:

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

لا شيء يُلزمك بالنقر على زر «ابدأ الإرشاد» إذا رأيت أن طلب الإرشاد المعيّن ليس لك.

ماذا لو لم يفهم الطالب بعد أن شرحت له شيئًا عدة مرات؟

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

كيف أردّ إذا اتخذ الطالب موقفًا دفاعيًا تجاه اقتراحاتي؟

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

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

قد يرفض الطالب اقتراحًا رفضًا قاطعًا. مثلًا، قد تقترح استخدام reduce بدلًا من map وjoin، لأن reduce يقوم بمرور واحد فقط بدلًا من مرور لـ map وآخر لـ join. لكن الطالب قد يرفض ذلك لأنه يجد map وjoin أوضح في القراءة. لا بأس أن توافق الطالب على أن map وjoin قد يكونان أوضح في القراءة من reduce. ويمكنك أن تقترح أنهم قد يألفون reduce أكثر مع مرور الوقت واعتيادهم عليه، وأنه لا شيء خطأ في استخدام map وjoin.

لا بأس أن توافق الطالب في حدود ما هو محق فيه، ولا بأس أن تحاول تصحيح أي فهم خاطئ أو مبالغة عبّر عنها الطالب.

هل يكون القول الأخير للطالب حتى لو رأيت أنه مخطئ؟

على سبيل المثال، قد تقترح على طالب ألّا يستخدم الأرقام السحرية مثل 60 و24 عند حل تمرين Clock، بل أن يعرّفها كثوابت بأسماء ذات معنى. وقد يجيب الطالب بأن ما يعنيه 60 و24 واضح من السياق. لقد قدّمت اقتراحك ورفضه الطالب. وقد لا يكون في الجدال حوله مكسب، بل قد تخسر بعض حسن النية.

كيف أصوغ الاقتراح بأفضل شكل؟

لتقديم شيء كبديل قد لا يكون بالضرورة أفضل، يمكنك أن تبدأ بعبارة مثل «قد يكون هناك أسلوب آخر...» مثلًا: «قد يكون هناك أسلوب آخر هو استخدام every مع includes.»

Note

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

وهناك صيغة أخرى لبدء الاقتراح: «ربما فكّر في...» مثلًا: «ربما فكّر في استخدام صيغة النشر بدلًا من split().» وإذا كنت ترى بقوة أن الطالب عليه أن يستخدم بديلًا ما، فقد تحذف «ربما» وتبدأ بـ «فكّر في...» مثلًا: «فكّر في استخدام وسيط افتراضي.»

وعند تقديم سلسلة من الاقتراحات، قد ترغب في تنويع كيفية تقديم كل واحد منها.

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

من الكلمات التي يُفضّل تجنّبها عند تقديم اقتراح كلمة «ينبغي». مثلًا: «ينبغي أن تستخدم وسيطًا افتراضيًا.» واستخدام كلمات مثل «ينبغي» أو «يجب» قد يبدو متسلطًا.

هل أفرض قواعد التنسيق والتعليقات والتسمية؟

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