03-07-2017 08:48 AM
بقلم : سعيد ذياب سليم
نعيش أوج ازدهار عصر المعلومات والتكنولوجيا، بأشكاله العديدة، ثورة الاتصالات، استخدام "الروبوت" ، خطوط الإنتاج في المصانع، وغيرها الكثير مما لا نستطيع حصرة. يضع هذا أمامنا مسؤوليات عدّة، من أهمها إعداد جيل من الشباب قادر على التعامل مع التكنولوجيا، يستخدم لغة الآلة، ويحسن كتابة مجموعة الخوارزميات والأوامر المكونة لبرامجها، حتى لا تخرج عن مسارها وتبدأ التحكم بنا ، ونعيش أحد كوابيس الخيال العلمي.
يبدأ طلابنا بتعلم لغات البرمجة في المدرسة ، اللغات البسيطة إلى العليا، استخدام لغة البرمجة Basic بإصداراتها المختلفة، ثم كانت في مرحلة ما Visual Basic ، و لغة html لتصميم المواقع على الشبكة ،و الآن يستخدم طلبتنا لغة C++ فإلى أي حد كان النجاح حليفنا؟
لغات البرمجة كغيرها من اللغات الإنسانية، تحتاج إلى قواعد معينة لكتابة البرنامجSyntax ، و أوامر محددة لتنفيذ التعليمات الموجهة للكمبيوتر Commands، ومنطق خاص للقيام بالمهارات المختلفة من عمليات حسابية و منطقية، ومعرفة بأدوات البرمجة.
تدخل البرمجة في تنفيذ العمليات بأنواعها الخاصة بعمل البحوث، و الاحصائيات، وكتابة التقارير، في مستويات تعليمية تبدأ في المدرسة ولا تنتهي في الجامعة، تراها في جوانب حياتية عديدة، في برمجة الهاتف و تصميم الألعاب، و حل الواجبات البيتية.
من الملاحظ أن الطالب يسير بمسارات متوازية لا تلتقي، فهو يتعلم البرمجة، ثم يقوم بنسيانها حال الانتهاء من تقديم امتحاناتها، ولا ينقل هذه الخبرة إلى مادة أخرى، في بناء برنامج يحاكي مهارات حسابية معينة، كإيجاد مميز المعادلة التربيعية، أو حل المثلث، أو ايجاد مركبتي القوة، ولو قام بذلك لأمكنه حل مسائل تحاكي الواقع مستخدما أعدادا مختلفة موفرا عليه الوقت ليتحرر من كابوس العمليات الحسابية ومستفيدا من وقته بطريقة مثمرة.
يكاد لا يخلو بيت من حاسوب وربما أكثر، يستخدم كجهاز عرض في الغالب، أو آلة كاتبة، ولا نستفيد إلا من جزء بسيط من إمكانياته، فإذا أردنا أن نتعرف سلوك منحنى لاقتران معين-مثلا، قمنا بذلك يدويا، ولا نكلف أنفسنا بالعودة إلى برامج تطبيقية تستخدم لرسم المنحنيات بشكل دقيق دون عناء.
يستطيع المعلم أن يصمم ألعابا، وبرامج ينتج عنها مسائل عشوائية، يمكنه التحكم بمستوى الصعوبة فيها، واختيار نوعية الأعداد المستخدمة، لتعطي نتائج معينة، موجهه للطلبة ذوي القدرات المتباينة. تستخدم للتدريب و قياس مهارات التعلم المختلفة، فيصبح البرنامج هو المعلم الخصوصي للطالب، ويخلّص الطالب الضعيف من الحرج أمام زملائه، لأنه يتعامل مع الآلة، كما يمكن رصد ومتابعة نتائجه عن بعد.
هل نحن بحاجة لتصميم برنامج خاص ؟ في الوقت الذي توجد فيه آلاف الصفحات على الشبكة العالمية التي تقدم الحلول البرامجية، مهما كانت المسألة. يمكنك اقتراح إجابة من خلال المسألة التالية: حول العدد 23456 من نظام العد العشري إلى الثنائي. فإما أن تقوم بذلك يدويا ، لتحصل على الجواب(23456)10=(101101110100000)2
أو كتابة و تنفيذ هذا البرنامج المرفق بلغة c++ ، حيث يمكنك تغيير قيمة a=23456 لتحويل أي عدد ، أو الحل بتنزيل برامج جاهزة من الشبكة. هي خطوات متقدمة في حل المشكلة، تبين مستوى التعلم الذي وصل إليه الطالب.
إن إجابتك عن السؤال السابق تحدد مدى حاجتنا لتعلم و تعليم لغات البرمجة .