تدريس هندسة وعلوم الحاسب في عصرنا
محمد زهران
آخر تحديث:
السبت 3 يونيو 2023 - 9:30 م
بتوقيت القاهرة
عندما أتحدث مع طلبة مرحلة البكالوريوس فى التخصصات المتعلقة بهندسة وعلوم الكمبيوتر خاصة الطلبة الجدد القادمين من المرحلة المدرسية دائما ما أقول لهم إنكم يجب أن تتوخوا الحذر فيما تدرسوه لأن ما ستدرسوه فى السنين الجامعية الأولى من الأرجح أنه سيصبح قديما (أو خطأ) عند تخرجك، طبعا يظن البعض أن تلك الجملة مجرد دعابة أو مبالغة لكنها للأسف حقيقية فى التخصصات التى تتقدم سريعا. هذه المشكلة تجعل تدريس تخصص الحاسبات (هندسة وعلوم) صعبا للأساتذة، كيف يمكن تدريس مواد هذا التخصص بحيث تفيد الطلبة وقت التخرج وفى الوقت نفسه تأخذ فى الاعتبار التقدم السريع فى هذا التخصص؟
يجب أن نفرق بين التعليم والتدريب لأن الكثير من الجامعات فى العالم أجمع تخلط بين هذين المصطلحين دون أن تدرى أو بدافع المصلحة المادية، التدريب هو إعطاء الطالب مهارات معينة، عادة تكون هذه المهارات مما تحتاجه السوق فى وقت التدريب، أما التعليم فهو إعطاء الطالب مهارات فى التفكير تساعده فى تخصصه العام مع إعطائه المواد المؤسسة لهذا التخصص. لذلك يجب أن نكون حذرين جدا من عبارة «ربط التعليم بسوق العمل». هذه العبارة صحيحة تماما إذا كنا نتكلم عن التخصص العام، فمثلا سوق العمل تحتاج مهندسين من تخصص معين فنزيد من أعداد الخريجين من هذا التخصص، لكن العبارة ستصبح غير دقيقة لو كانت متعلقة بالمهارات، لو قلنا سوق العمل تحتاج مبرمجين بلغة برمجة معينة وجعلنا كليات الحاسبات والمعلومات وكليات الهندسة تدرب الطلبة على هذه اللغة فقط فهذا هو الخطأ. من أدراك أنه عند سنة التخرج ستكون السوق محتاجة لهذه اللغة؟ من أدراك أنه بعد سنوات قليلة ستتغير طريقة البرمجة عما نعرفه الآن وما ألفناه فى العقود الماضية؟ إذا ما الحل؟ سنركز فى هذا المقال على تخصص هندسة وعلوم الكمبيوتر لأن هذا ما يمارسه ويدَرِسه كاتب هذه السطور منذ سنين عديدة تقترب من ربع قرن الآن.
لنبدأ بلغات البرمجة، المفاجأة أنك لا تحتاج شهادة جامعية كى تكون مبرمجا قديرا ومبدعا، فإذا كنت تريد الحصول على شهادة جامعية لتكون «مجرد» مبرمج «وفر فلوسك ووقتك»، هناك العديد من المحاضرات المجانية على الانترنت تستطيع منها تعلم البرمجة والعلوم المتعلقة بها بالمجان و«إنت وشطارتك». البرمجة تحتاج تدريب وممارسة بعد دراسة المبادئ. التدريب يأتى من العمل فى الشركات أثناء الإجازة الصيفية أو حتى بالمجان حتى تكتسب الخبرة اللازمة. إذا فما الذى ستعطيك إياه الدراسة الجامعية؟ لننظر إلى عدة سيناريوهات: ماذا لو استيقظت يوما ووجدت أن كل لغات البرمجة التى تعرفها أصبحت غير ذات قيمة وأصبحت السوق تحتاج لغات أخرى، ماذا ستفعل؟ برامج مثل (chatGPT) و(Bard) وما شابهها يمكنها كتابة برمجيات بنفسها الآن، صحيح أن مستواها الآن مازال ضعيفا لكنه سيتقدم بسرعة تقاس بالشهور وليس بالسنين، ولنا فى برامج الشطرنج المثال فى ذلك. فى مرحلة الثمانينيات والتسعينيات من القرن الماضى كانت برامج الشطرنج ضعيفة ويستطيع أى لاعب متوسط القوة هزيمتها. الآن يستطيع أى برنامج شطرنج على تليفونك المحمول هزيمة بطل العالم بسهولة ويسر. التكنولوجيا فى عصرنا هذا تتقدم أسرع بكثير من الثمانينيات والتسعينيات. إذا فتعلم لغات البرمجة هو تدريب وليس تعليما. التعليم يعطيك مهارة التفكير المنطقى ومهارة تفكيك المشكلات وحلها ومهارة التعامل مع أجهزة الكمبيوتر المختلفة فكتابة برنامج لتليفونك المحمول غير كتابة برنامج لجهاز اللابتوب غير كتابة برنامج لأجهزة الكمبيوتر فائقة السرعة أو تلك المستخدمة فى المستشفيات أو فى العمليات العسكرية. هذا التعليم تستطيع تطبيقه على أى لغة برمجة أو للتعامل مع برمجيات التخاطب مثل (chatGPT)، وهذا ما تعطيه لك الجامعة.
لنتكلم عن الهاردوير أى تصميم أجهزة الكمبيوتر نفسها، نحن أصبحنا فى عصر يجب على من يمتهن علوم الحاسب أن يعلم كيف يعمل الكمبيوتر من الداخل حتى يستطيع برمجته بالطريقة الأمثل. كنا نظن فى مصر أن دراسة تصميم الكمبيوتر غير مهم لأنه ليس عندنا مصانع فالأسهل والأسرع هى صناعة البرمجيات. هذا التفكير قاصر جدا لأن ما يجلب الأرباح هو التصميم وليس التصنيع. هناك شركات هاردوير عملاقة مثل (Nvidia) ليس عندها مصانع لكن ترسل بتصميماتها لشركات أخرى مثل (TSMC) لتصنعها. ومشكلة رقائق الكمبيوتر (chips) معروفة فى العالم كله وهى نقطة صدام بين أمريكا والصين. تعليم الهاردوير فى الجامعات مهم لمن يرغب فى أن يصل لمستوى عالمى فى البرمجة وأيضا لمن يريد أن يعمل فى تصميم الرقائق.
يجب أن ننظر للمستقبل لاستشراف الجديد فى التكنولوجيا ونبدأ بتعليمه الآن، كنا قد تكلمنا فى الماضى عن علم المستقبليات، ويجب أن نفرق بين التدريب والتعليم.