You are on page 1of 4

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

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

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

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

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

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

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

‫‪1-‬إمكانية حصول المتعلم على المهارات عن طريق الخبرة التعليمية‪.‬‬


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

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

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

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

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

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

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

‫آلية التنفيذ‪:‬‬

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

‫‪– A‬يمثل العدد األول ‪B ،‬يمثل العدد الثاني ‪C ،‬يمثل حاصل الجمع‪.‬‬

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

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


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

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

‫آلية التنفيذ‪:‬‬

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

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


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

‫آلية التنفيذ‪:‬‬

‫–توزيع الطالب إلى مجموعات (يفضل أن تكون المجموعات متجانسة)‪.‬‬


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

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

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

‫المصدر‪:‬‬
‫‪http://bit.ly/2x8Mgu5‬‬

You might also like