المؤلف:
safaawa2el

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

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

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

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

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

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

ومع هذا التطور ظلت أسس لغات البرمجة ثابتة وهي:  

  1. تنفيذ سلسلة من الأوامر و التعليمات بشكل متتابع.
  2. تكرار الأوامر بعدد محدد من المرات.
  3. اختبار البرنامج للتأكد من صحة الأوامر المكتوبة.

ويمكن أن نجد العديد من اللغات التي يمكن أن تستخدم لتعليم البرمجة المبتدئة للطلاب في المرحلة الابتدائية، ومنها البرمجة المرئية Visual programming language  (وفيها   يستطيع الطالب أن يستخدم خاصية السحب و الإفلات للأوامر، بدلا من كتابة التعليمة البرمجية  )، إلى جانب برامج كثيرة أخرى نخص بالذكر منها:

برنامج سكراتش (scratch) scratch.mit.edu  لتعلم البرمجة السريعة.

– برنامج أليس (Alice)  لتعلم الرسم وبناء الرسوم المتحركة.

–  لغة  Python و التي تستخدم لبناء التطبيقات العلمية.

أهمية تنمية  التفكير الخوارزمي (الحسابي)

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

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

و يتضمن التفكير الحسابي مجموعة من المهارات المعرفية وعمليات حل المشكلات التي تشتمل على المهارات التالية:

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

ولقد تبنت  بعض المدارس حول العالم فكرة التفكير الحسابي في مناهجه ويمكن الاطلاع على خطوات تطبيق التفكير الحسابي بدون الحاجة إلى أجهزة كمبيوتر من خلال موقع    Computer Science Unplugged الذي تم إنشاؤه من قبل   led by Tim Belll في جامعة كانتربري، حيث يحتوي الموقع على العديد من الأنشطة و المصادر التي يتم من خلالها  تعليم الطلاب مفاهيم التفكير الحسابي  بواسطة الأنشطة و التعلم بالترفيه.

ماذا يعني التدريس في القرن 21

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

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

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

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

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