كيف ندرس البرمجة بطريقة ناجحة؟

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

وهذه اللغات اختلفت وتنوعت بحسب الهدف الذي تسعى لتحقيقه، وظهرت لغات عدة منها اللغات الإجرائية، وهي التي يتم فيها كتابة البرنامج إجراءً بعد آخر، ومنها اللغات المرئية Visual والتي تستخدم في مجالات عدة لسهولتها مثل لغة الفيجوال بيسك Visual Basic، كما ظهرت لغات أخرى متخصصة لمهام وغايات متعددة، وهي أكثر تعقيداً وتحتاج إلى دراسة وممارسة ( الأسطل، 2009م ).

تُعد برمجة الحاسب الآلي أحد عناصر استخدام الحاسب الآلي بوصفه مادة دراسية، ورغم أن البعض يرى أنه ينبغي تدريسها ضمن ثقافة الحاسب الآلي، إلا أن الصواب أنها لا تدخل ضمن ثقافة الحاسب نظرا لصعوبة دراستها في مادة ثقافة الحاسب، وأن تدريسها ضمن هذه المادة يجب أن يكون من باب التعريف بلغات البرمجة وأهدافها وأنواعها، (الموسى، 2008م , 74).

وفي بدايات الحاسب الآلي التعليمي كان هناك اتجاه عام وقوي يدعو إلى تعليم المتعلمين البرمجة بصفة عامة، وتعلم البرمجة  بلغة البيسك Basic بصفة خاصة، وقد كان سبب ذلك هو الاعتقاد بحاجة المتعلمين الماسة لتعلم كيف يعمل الحاسب وأسلوب التخطيط لحل المشكلات المختلفة بمساعدة الحاسب. وقد تغير هذا الاتجاه وأصبح استخدام الحاسب عن طريق برامجه التطبيقية -وهي ما تسمى بنظام أو لغة Authoring مثل برنامج  Authorware والتي يحتاجها المتعلم أكثر من تعلم لغات البرمجة- هو الهدف الذي يسعى التربويون إلى تحقيقه والتركيز عليه في الوقت الحاضر (الموسى، 2008م، 74).

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

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

1- إمكانية حصول المتعلم على المهارات عن طريق الخبرة التعليمية.
2- أن يدرك المتعلم أهمية الاستفادة من إمكانية الحاسب في حل مشكلاته.
3- أن يكون لدى المتعلم الدافع للاستفادة من قدرات الحاسب الآلي وتوظيفها.

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

وذكر صقر ( 2007م، 191-192) أن طريقة تدريس البرمجة تعتمد على الإجراءات والخطوات التي من شأنها أن تؤدي إلى التدريب واكتساب مهارات حل المشكلات، مع ملاحظة أن مجرد دراسة عملية البرمجة بمفردها لا يؤدي إلى اكتساب الطالب مهارات حل المشكلات ومهارات التفكير الناقد، التي تتحقق بطريقة غير مباشرة عند تدريس البرمجة، بل على المعلم أن يصمم ويوفر خبرات تدريسية بطريقة تشجعهم على أعمال البرمجة وتدربهم على اكتساب تلك المهارات.

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

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

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

أولاً : استراتيجية تمثيل الأدوار برمجياً

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

آلية التنفيذ:

– توزيع الأدوار بين أعضاء المجموعة ( المتغير A: الطالب رقم 1، المتغير B: الطالب رقم 2، المتغير C: الطالب رقم 3 ، القيم: الطالب رقم 4، العمليات: الطالب رقم5).

– A يمثل العدد الأول ، B يمثل العدد الثاني ، C يمثل حاصل الجمع.
– الطالب رقم 4 هو من يعطي القيم للطالب رقم 1 والطالب رقم 2.
– الطالب رقم 5 هو العمليات (وهنا يمثل عملية الجمع).
– يمثل ذلك خوارزمياً على ورق أو السبورة ( يمكن أن تعطي السبورة الإلكترونية نتائج أفضل).
– عند البدء في كتابة الكود البرمجي يكتب كل طالب الجزء الخاص به، فمثلاً المتغير A يعرف نفسه في البرنامج، وهكذا لبقية المتغيرات.
– إعطاء قيمة متغير، حيث يعطي  الطالب رقم 4 كل متغير قيمة أثناء الكتابة أو في التنفيذ.
– يقوم الطالب رقم 5 بكتابة عملية الجمع ليحصل في النهاية عند التنفيذ على النتيجة.
– ليكون الحل كما يلي:
prog

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

ثانياً : استراتيجية التعلم الخصوصي الفردي

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

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

آلية التنفيذ:

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

ثالثاً: استراتيجية التعلم بالمشاريع

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

آلية التنفيذ:

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

ختاماً…

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


المراجع :
– الأسطل, محمود زكريا. (2009م). “إثراء وحدة البرمجة في مقرر تكنولوجيا المعلومات في ضوء المعايير الأدائية للبرمجة وأثره على مهارة البرمجة لدى طلاب الصف الحادي عشر”, رسالة ماجستير غير منشورة. كلية التربية, الجامعة الإسلامية ,غزة.
– الموسى, عبدالله بن عبدالعزيز. ( 2008م). استخدام الحاسب الآلي في التعليم . ط4 . شبكة البيانات ومكتبة الغذ . الرياض . المملكة العربية السعودية.
– صقر, محمد حسين سالم. (2007م). طرق تدريس الحاسب الآلي . ط1 . مكتبة الرشد . الرياض . المملكة العربية السعودية.
– الخليفة, حسن جعفر. (2005م ). المنهج المدرسي المعاصر . ط6 . مكتبة الرشد . الرياض . المملكة العربية السعودية.




مقالات يمكن أن تعجبك




الكاتب:

موسى محمد الشيخي  
كتب ما مجموعه 2 مقالات اضغط هنا لقراءتها

مدير مركز التدريب - والمشرف على وحدة الحاسب وتقنية المعلومات - ماجستير في تكنولوجيا التعليم - تعليم القنفذة - مكة - المملكة العربية السعودية









تعليقات الفيسبوك



تعليقات الموقع


2 تعليقات على كيف ندرس البرمجة بطريقة ناجحة؟

  1. يقول ابتسام:

    مفيد

  2. يقول محمد:

    مجهود رائع وبسيط

    استمر

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *