سنوات عدة مضت منذ أن بدأت رحلتي في مساعدة الأطفال لتطوير مهاراتهم التقنية، تحديداً البرمجة والالكترونيات، استعنت خلالها بالعديد من الوسائل والأدوات المتنوعة وفق ما يتماشى مع كل من الفئات والشرائح المختلفة.
محطات عديدة زادت يقيني بالدور الكبير للتقنيات الحديثة في تطوير مهارات الجيل الصاعد وتوسيع آفاق إبداعهم، أشارككم هنا ما علمتني إياه لنتعاون في إنارة طريق المبدعين الصغار ليكونوا شركاء في التطور المتسارع الذي نعيشه.
كانت الانطلاقة من خلال مجتمع ويكيلوجيا، حيث شاركت في مجموعة ورشات لتعليم الأطفال واليافعين الالكترونيات وبرمجة المتحكمات وخصوصاً (الأردوينو Arduino) باستخدام لغة سكراتش Scratch ومن ثم الانتقال إلى لغة C. قمت بعد ذلك ببضع دورات لمجموعة من الأطفال بين الصف الأول والثالث في البرمجة باستخدام سكراتش، تلاها تدريس نفس المفاهيم مع أساسيات تصميم المواقع باستخدام HTML للصفين الرابع والخامس في إحدى المدارس الخاصة. آخر المحطات كانت المشاركة في تعليم أكثر من مئتي طفل على أساسيات الالكترونيات تراوحت أعمارهم بين 7 و12 سنة باستخدام دارَتي.
ما هو أفضل أسلوب للتعليم؟
أحد الأسئلة التي تربكنا دائماً عند بدء نشاط أو دورة جديدة، أو حتى مع أطفال العائلة، ما هي الطريقة التي يجب أن نتبعها في التعليم بحيث نحصل على أعلى نسبة استيعاب وفهم للمعلومات المطروحة؟
ولكن الحقيقة أنه لا يوجد إجابة ثابتة لهذا السؤال، فلكل متعلم أسلوب وخطة (Road-map) خاصة به هو من يحددها تبعاً لقدراته وإمكاناته ومجالات إبداعه وتميزه وكيفية تفاعله مع المحتوى.
عادةً ما أضع خطة كاملة قبل بداية كل دورة حول ترتيب المفاهيم وتسلسلها والأمثلة والتجارب التي سأطرحها خلال الجلسات، وهذا ما أجد نفسي أغلب الأحيان مضطراً للتعديل عليه في كل جلسة تبعاً لطريقة التفاعل، حتى عند إعادة نفس الدورة بنفس الأفكار سيكون هناك عدة اختلافات بسبب اختلاف المتعلمين وما يتناسب معهم.
قد تجد نفسك أحياناً في الصف الواحد بحاجة إلى اتّباع أكثر من أسلوب لتستطيع إيصال الأفكار لجميع المتعلمين، وتكمن الصعوبة هنا في تجنب حصول تكرار أفكار يدفع البعض للشعور بالملل.
[su_divider top=”no” style=”dashed” divider_color=”#DDD” size=”1″]
كيف اختار الأدوات والوسائل المناسبة؟
التحدي التالي الذي نواجهه هو تحديد الأدوات والبرمجيات المناسبة للتوضيح وإيصال المفاهيم، ولا بد أن نتفق بدايةً أن الغاية من عملية التعليم هو إكساب الأطفال مهارات وخبرات معينة وليس تعلمهم استخدام أداة بحد ذاتها.
في مجال البرمجة والخوارزميات ولعمر ابتداءً من 9 سنوات، استناداً إلى التجارب التي خضتها أعتقد أن بيئة سكراتش Scratch قد تكون أفضل الخيارات المتاحة حالياً. ويعود ذلك لعدّة أسباب ألخصها كما يلي:
[su_list icon=”icon: star” icon_color=”#333″]
- توفّره باللغة العربية وعدة لغات أخرى يكسر حاجز كبير بينه وبين الطفل
- النتيجة ممكن مشاهدتها بشكل فوري عند التجريب مما يسهل عملية الفهم لكل تعليمة وكيفية عملها
- الواجهة بسيطة وسهلة الاستخدام إلى حد ما
- التنوع الكبير في التعليمات الموجودة والتي تغطي المفاهيم الأساسية وتوفر عدد ضخم جداً من التطبيقات والأمثلة وتساعد على الإبداع أحياناً
- وجود منصة سكراتش الاجتماعية كمصدر للأفكار والاطلاع على تجارب الآخرين
[/su_list]
مع كل هذا، غالباً ما تكون البداية مليئة بالتحديات حتى يتمكن الأطفال من كسر حاجز التعامل مع البرمجة والاعتياد على البرنامج وخصوصاً أن الطفل في هذه المرحلة قد لا يكون معتاداً على استخدام الحاسب وبرامجه. كما أنه يوجد تفاوت في المرونة بالتعامل وسرعة التفاعل بين الأطفال تبعاً لجوانب تميز كل طفل.
الأطفال الأصغر من 9 سنوات ليسوا خارج المجال بتاتاً، فهناك أدوات ووسائل موجهة لهم ابتداءً من عمر ثلاث سنوات سأذكر بعضها لاحقاً، ولكن لم أتمكن بعد من تجربتها بشكل جيد.
[su_divider top=”no” style=”dashed” divider_color=”#DDD” size=”1″]
مسار عام مقترح لتسلسل الأفكار
على الرغم من اختلاف أسلوب التعلم والشرح باختلاف الدروس والأطفال، إلا أنه لا بد من وجود مسار عام يحدد التسلسل المنطقي والهيكل الأساسي لترتيب الأفكار. المسار العام الذي أتبعه عادةً كالتالي:
[su_list icon=”icon: mail-reply-all” icon_color=”#333″]
- بدايةً شرح فكرة البرمجة وتبسيطها وكيف يفهم الحاسب البرامج وينفذها
- يلي ذلك شرح لبيئة سكراتش وواجهته وعمل كل جزء في الواجهة، وبالتأكيد يجب أن يكون ذلك بأسلوب بسيط وباستخدام مصطلحات مألوفة
- البداية بالتعريف بالتعليمات البسيطة كتعليمات التحريك والانتقال وإصدار الأصوات
- رفع المستوى بالانتقال إلى حلقات التحكم، متضمنة التعليمات الشرطية وحلقات التكرار والتعمق بتفاصيلها تدريجياً
- ومن ثم الانتقال إلى الأمثلة والتمرينات مع زيادة تعقيدها تدريجياً بحيث يقوم الطفل باستخدام مهارات التفكير المنطقي وإيجاد الخوارزميات المناسبة لتنفيذ المهمة المطلوبة (أفكار التمرينات برأيي ستتطور حسب تفاعل الطفل معها)
- نقطة مهمة يجب أن يتم مراعاتها أن يتعلم الطفل كيف يجد المشكلة في البرنامج بنفسه، كأن يحل محل الحاسب ويبدأ بالتنفيذ ليكتشف أين المشكلة ويجد الحل المناسب لها
[/su_list]
[su_divider top=”no” style=”dashed” divider_color=”#DDD” size=”1″]
هل أبدأ بتعليمهم البرمجة أم الويب؟
في إحدى التجارب، بدأت مع طلاب الصف الرابع بالبرمجة في الفصل الدراسي الأول، وانتقلت في الفصل الثاني إلى بناء صفحات انترنت بسيطة باستخدام HTML. عمت عندئذٍ سعادة عارمة في الصف وزاد مستوى التفاعل وأصبحت الاستجابة أسرع نسبياً وكان إتقان بعض الطلاب للغة الانكليزية عاملاً مساعداً لهم في ذلك. بالرغم من هذا، أعتقد أن تجربة تعليم البرمجة تميزت بنتائج وأثر أكبر على الأطفال لعدة أسباب:
[su_list icon=”icon: gear” icon_color=”#333″]
- محدودية بناء صفحة ويب باستخدام HTML فقط في حال لم يتم استخدام CSS و JavaScript والتي تعد معقدة قليلاً لهذه الفئة العمرية
- إن لغة HTML لا تحمل منطق برمجي ولا تحتاج الكثير من التفكير كالبرمجة وفي هذه الحالة فإن خبرات التفكير المنطقي لن تتطور كثيراً عند المتعلم
- ضعف اللغة الانكليزية ونسيان بعض الوسوم (tags) شكلت عائقاً، حيث أن صعوبة استخدام الانترنت للبحث تجعل عملية إيجاد الحلول ليست بالأمر السهل دون وجود مشرف
- مبدأ عمل الانترنت ومفهوم الاستضافة وجعل الصفحات متاحة لجميع مستخدمي الانترنت معقدة وتحتاج لكثير من الشرح والتبسيط لتصل إلى المتعلمين، وبالتالي قد يبقى هنالك حلقة مفقودة إذا لم يتمكن الأطفال من فهم ذلك
[/su_list]
[su_box title=”في كل جلسة كان هناك سؤال يوجّه لي أكثر من مرة” radius=”5″]”أستاذ كيف يمكننا وضع الموقع على غوغل؟”[/su_box]
— لغات البرمجة المكتوبة
بالانتقال إلى لغة برمجة مكتوبة كلغة C وبيئة برمجية تعتمد على الكتابة، كانت نسبة نجاح التجربة ضئيلة مقارنة مع سكراتش وبمعدل تعلم أقل سرعة، بالإضافة أيضاً لمشاكل اللغة الانكليزية حيث أن بعض التعليمات قد تنسى خلال الجلسة نفسها.
يوجد أيضاً العديد من التفاصيل التي يجب مراعاتها أثناء الكتابة كالأقواس المختلفة والفواصل والفواصل المنقوطة وغيرها، مما يؤدي إلى أخطاء تعيق الوصول إلى نتائج صحيحة وتجعل عملية متابعة الأخطاء وتصحيحها أمراً شاقاً. كل ذلك ينعكس سلباً على حماس المتعلم وبالتالي انخفاض إنتاجية عملية التعلّم، وهذه المشكلة موجودة بشكل جزئي في HTML.
[su_divider top=”no” style=”dashed” divider_color=”#DDD” size=”1″]
خلاصة التجربة
بناءً على ما سبق أعتقد أنه سيكون من الجيد البداية مع سكراتش لشريحة عمرية ابتداءً من 7 سنوات وفق مسار مشابه للمسار المقترح سابقاً.
أما بالنسبة للشريحة الأكبر من 10 سنوات فيمكن البدء بـ HTML للتعرف أكثر على الحاسب وبرامجه ورؤية نتائج فورية لما يقوم بتصميمه، ومن ثم الانتقال إلى Scratch والبرمجة بمسار مشابه للسابق ولكن بأسلوب مختلف يناسب هذه الفئة.
— مجالات ومهارات أخرى
بعيداً عن برامج الحاسب، يوجد أدوات أخرى تعمل على تطوير مهارات التفكير والإبداع والمهارات البرمجية عند الأطفال الأصغر عمراً باستخدام ألعاب ماديّة (Physical) يقوم الطفل ببرمجتها عن طريق تركيب مجموعة من القطع مع بعضها. مثل Primo toys، Algobrix، Kano، والعديد من المنتجات الشبيهة التي قد تكون بداية مناسبة. سأحاول أن أكتب تدوينات لاحقة حول هذه الأدوات.
البرمجة ليست مجال الإبداع الوحيد المتاح للأطفال، فهناك مسار الالكترونيات الذي يفتح آفاق الإبداع بشكل واسع ويسمح للطفل بتجاوز حدود شاشة الحاسب وتحويل أفكاره وأحلامه لأشياء ملموسة على أرض الواقع. هذا ما نعمل عليه أنا وشريكتي سنا حواصلي من خلال دارَتي Daraty، وهي لعبة تفاعلية للأطفال تهدف لتعريفهم بالدارات الالكترونية وآلية عمل مكوناتها، وتنمية مهارات التفكير الهندسي وحل المشاكل لديهم.
[su_divider top=”no” style=”dashed” divider_color=”#BBB” size=”1″]
بعض محطات من رحلة طويلة ما زلت في بدايتها حاولت تلخيصها، آراؤكم وتجاربكم وإضافاتكم ستشكل عنصراً هاماً في تتمة الطريق والوصول لنتائج أفضل، فلا تترددوا في مشاركتها 😉
وفي الختام، لا بد أن أتوجه بالشكر للصديق د. فادي عمروش الذي كان النقاش على أحد منشوراته عاملاً رئيسياً دفعني لتلخيص هذه التجربة، متمنياً له ولأبنائه رحلة موفقة! 🙂