نبض التقنية – اخبار عالم التقنية والانترنت
أنضم إلى معجبي نبض التقنية و التقنية في الفيسبوك

البرمجة للأطفال (2) : المهارات اللازمة قبل البدء

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

أولاً : مهارات التفكير المنطقي وحل المشكلات :

نقصد بالتفكير المنطقي القدرة على :

  • تحديد المشكلة أو الهدف الذي يريد الوصول إليه .
  • جمع المعلومات حول المشكلة .
  • اقتراح حلول للمشكلة .
  • تقييم الحلول واختيار الحل الأفضل .
  • تنفيذ الحل ثم تجربته .

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

  • ماهي المشكلة ؟ ( سمعت إجابات مثل : ضياع الماء ، هدر المال ، التبذير … الخ )
  • ماهي أسباب المشكلة ؟ ( صدأ الحديد ، عدم الصيانة ، التبخر ، أعمال التخريب … )
  • كيف نحل المشكلة ؟ ( نعمل صيانة للأنابيب ، نصمم روبوت داخل الأنبوب يجد مكان التسرب ، نغير الأنابيب كاملة … )

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

المقصود هو أن يعرف الطالب كيف يحلل المشكلة بطريقة منطقية وأن يختار الطريق الأفضل لحلها .

 

ثانياً : مهارات إعطاء الأوامر :

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

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

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

ثالثاً : مهارة رسم المخطط الانسيابي FlowChart :

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

 

 

رابعاً : مهارة العمل الجماعي :

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

teamwork

 

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

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

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

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

الكاتب: عبدالله عبيد

شخص يسعى ليكون رقم صعب في هذا العالم ، مهووس بالتقنية واستغلالها لما ينفع أمته، مطور مواقع ،خريج هندسة تحكم آلي وقياس من جامعة الملك فهد للبترول والمعادن . مؤسس مشارك لموقع نبض التقنية www.ibeid.com

5 تعليقات

  1. عمل رائع وأفكار منطقية عقلانية طيبة…
    من الجيد البدء بهذه الخطوات مع الأطفال قبل البدء حتى يعرف ما هو المسار الذي يمشي عليه طوال رحلته مع هذا العلم…

  2. م.السيد عبدالقادر باحث ماجستير بعلوم الحاسب الآلي والتربية جامعة المنصورة قال:

    موفق حبيبي عبدالله وننتظر المزيد حول نفس الموضوع
    موضوع شيق بارك الله فيكم

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

  4. dentelle قال:

    جزاك الله خيرا….رائع جدا

أضف تعليقاً

حقول مطلوبة *.