ساهمتُ خلال العام بتدرس الجزء الأكبر من مقرر النظم المضمّنة في جامعة دمشق في كلية الهندسة الميكانيكية والكهربائية في قسم هندسة الحواسيب والأتمتة. كما قمت بتحضير مقرر النظم المضمّنة في أحد الجامعات السعودية بتعاون مع مدرّس المقرر وأُنجز خلال المشروع 14 محاضرة تتضمن القسم النظري والمخبر.
المقرر الجامعي للنظم المضمّنة في كلية الهندسة الميكانيكية والكهربائية
تم تدريس مقرر النظم المضمّنة في كلية الهندسة الميكانيكية والكهربائية في الفصل الدراسي الثاني من العام الدراسي 2024 – 2025 وكان لطلاب السنة الرابعة في قسم هندسة الحواسيب والأتمتة والشكر للمهندس المدرس حسن نوفل لدعوتي للمقرر. كانت تجربة مهمّة لي كونها مع طلاب القسم الذي تخرجت منه منذ حوالي 11 عام وعدت إليه للتدريس بعد أكثر من عشر سنوات خبرة كلها قضيتها في اختصاص هذه المادة “النظم المضمّنة”.
بذلت جهدي في الاستفادة من عدة تجارب تعليمية سابقة ممرت بها كانت على شكل دورات سريعة أو ورشات أو تدريس في المخابر خلال دراستي للماجستير في تركيا لتوظيفها في تدريس هذا المقرر.
كانت أول تجربة إعطاء للقسم النظري من مادة جامعية، وإن كان هناك خلاف في أحقية إعطاء وتدريس المنهاج النظري لطلاب الجامعة من حامل للماجستير وليس للدكتواره. لكن مما لاشك فيه أن كثير من الجامعات تتيح لمهندسين التدريس بشكل جزئي أو كلي في بعض المقررات حيث يكون أهمية المهندس صاحب الخبرة العملية مفتاح نجاح المقرر. تعلمت خلال هذه التجربة الكثير من الملاحظات المهمة التي سأشاركها مع القارئ .
1- اختيار المتحكم
عندما تأكدت من إسناد تدريس الجزء النظري الأكبر من المادة لي، لم يكن لدي بعد أي محتوى قد حضرته سابقًا. كل ما كنت أعلمه بشكل مسبق أن المادة ليس لها منهاج ثابت. كان للمادة مفردات في توصيف مواد القسم ولكن للأسف التوصيف قديم ومختصر وغير شامل. كما أني قررت أن ألتزم في المقرر باستخدام متحكم STM32F103 كونه هو المتحكم المستخدم في المخبر في السنوات السابقة، ولم أود أن أضع الطلاب في حالة تناقض بين المخبر والنظري باختيار متحكم آخر.
كنت أود اختيار متحكم آخر لعدة أسباب أولها أن يكون متحكم حديث ولكن ذو بنية طرفيات أقل تشعبًا من متحكم الـSTM32 وذو حزمة برمجيات SDK أسهل وأقل تجردًا وبالتالي يكون الطالب على مقربة أكثر من السجلات والطبقة الدنيا من العتاد للمتحكم.
التجرد الزائد يضيع تفاصيل مهمة يجب على الطالب التعرض لها وفهمها. بنفس الوقت كنت ضد استخدام المتحكمات القديمة الأكثر انتشارًا لتدريس المقررات المشابهة مثل Atmega8 و PIC16F877 وذلك لأنها أصبحت متحكمات قديمة جداً. للأمانة العلمية وبعد أن أعطيت المقرر شعرت أنه تدريس متحكم مثل Atmega8 له إيجابية في توضيح أساسيات الطرفيات والتعامل مع المعالج دون تشعبات وتعقيدات المتحكمات الحديثة، ولكن بنفس الوقت قد يدخل الطالب في تفاصيل تتعلق بهذا المتحكم القديم مثل ضبط الفيوزات Fuse وأشياء أخرى قد لا يحتاج لها لاحقًا.
السبب الثاني الذي كان يدفعني لاخيار متحكم آخر هو اختيار متحكم بمعالج يدعم مجموعة الأوامر RISC-V مفتوحة المصدر والتي تنافس الآن الـARM ويتم اعتمادها في كبرى شركات تصميم المتحكمات مثل Espressive المصممة للمتحكمات الشهيرة ESP32. كنت قد وضعت تخيل في ذهني أن اختيار الـ RISC-V بحيث يتم اعتماده يوما ما في كل المواد التي تتعلق بتصميم الشرائح وبنية الحاسوب وهناك عدة تصاميم لمعالجات مفتوحة المصدر تدعم RISC-V وكما نعلم أن تصميم معالجات ARM مغلقة المصدر. لكن وبعد أن وجدت شح الكتب والمصادر كون الـRISC-V جديد نسبيًا تمهلت في الدفع بهذا الاتجاه وأظن أن الموضوع لا يزال قابل للدراسة والبحث وكنت قد قرأت ورقة بحثية بعنوان Computer Engineering Education Experiences with RISC-V Architectures—From Computer Architecture to Microcontrollers حول هذه الفكرة في التكاملية بين تعليم بنية الحاسب والمتحكمات الصغرية بمعالجات RISC-V باستخدام الـ FPGA وأيضاً اطلعت على مبادرة RVfpga لتعليم بنية الحاسب باستخدام الـRISC-V.
2- اختيار المرجع الأكاديمي
قبل بدء المقرر بحثت كثيرًا عن مراجع تصلح أن يستخدمها الطلاب في المادة والذي فاجأني أنه رغم شهرة المتحكم STM32 ووجود عدد لا بأس به من الكتب إلا أني لم أستطع أن أنتخب إلا كتاب واحد كان فيه منهجية أكاديمية واضحة تصلح أن تكون في مقرر جامعي وأعني بها منهجية عدم إهمال التفاصيل النظرية مثل شرح الأسس الكهربائية لناقل أو طرفية أو شرح بنية المعالج والمسجلات. لا شك أنه هناك مقالات وكتيبات وحتى كتب عن التحكم STM32 ولكنها مكتوبة بطريقة غير أكاديمية يغلب عليها التركيز على الجانب العملي فقط.
إن الكتاب الذي اخترته هو Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C من تأليف Dr.Yifeng Zhu

لا شك أن كتاب Mastering STM32 – A step-by-step guide to the most complete ARM Cortex-M platform, using the official STM32Cube development environment من الكتب المشهورة بالطبع ولكن طريقته هي أقرب للدروس العملية التي لن تفيد الطالب في تعلم المفاهيم النظرية في النظم المضمّنة.
اخترت بعض الكتب المساعدة لبعض الأمور الجانبية في المقرر مثل التي تتعلق بشرح بنية المعالج المستخدمة في المتحكم وهو الكتاب الأقوى في شرح بنية المعالجات Cortex-M3/4 من شركة ARM واسمه The Definitive Guide to the ARM® Cortex-M3 and Cortex-M4

و لمراجعة أساسيات لغة سي للطلاب اعتمدت على كتاب First steps with Embedded systems من Byte Craft وهو بالمناسبة أول كتاب قرأته عن استخدام اللغة سي في النظم المضمّنة.

أخيرًا، لم أجد سلايدات شاملة أستطيع إعادة استخدامها وتكون كافية للطلاب و سبب ذلك غالبًا أن كثيرًا من الجامعات تحصر الوصول للسلايدات لطلابها فقط بالإضافة إلى أنه لم أجد من اختار ذات الخيارات من ناحية المتحكم والمراجع.
كان هذا عاملًا مهم جدا في زيادة عبء التحضير. شكّل تحضير السلايدات إلى جانب وجود التزامات العمل تحديًا كبيرًا حيث استغرق تحضير سلايدات المحاضرة الواحدة ما لا يقل عن خمس ساعات وسطيًا إضافة لما لا يقل عن ساعتين أسبوعيا متابعةً للطلاب سواء للإجابة على أسئلتهم أو تحضير وتصحيح بعض الوظائف والاختبارات. أي ما يقارب يوم عمل كامل من أجل التحضير والمتابعة إضافة إلى وقت إلقاء المحاضرة.
3- تجربة استخدام Moodle
كنت أتطلع لاستخدام Google Class كونه بسيط وكافي بذات الوقت ولا يوجد حاجة لإضاعة وقت في تنصيب أي منصة ثانية والأهم أنGoogle Class مربوط مع حسابات الغوغل. لكن للأسف الشديد لم يكن الـ Google Class متوفرًا للاستخدام في سوريا. كان عدم توفره سببًا لاعتمادي على Moodle بديلًا وكنت سعيدًا بالتعرف على هذا النظام المتكامل والمجاني.
بالمقارنة مع تجربتي في Google Class و Moodle فإن Moodle أقوى بكثير بإتاحته الكثير من الخيارات الداعمة للمقررات عند إنشاء الوظائف وصفحات المحتوى داخل موقع المقرر. بالإضافة إلى بيانات إحصائية ومراقبة أوسع لاستخدام الطلاب للموقع. بينما Google Class أسهل وأقل تعقيدًا ولا يحتاج أي جهد فني للتنصيب.
4- غش الطلاب باستخدام الـChatgpt
قررت إقامة مذاكرة للمقرر وتعرفت من خلال المذاكرة على أثر دخول الـChatgpt والنماذج اللغوية بقوة في حياة التدريس. رغم أني كنت صارمًا في المراقبة فقد وثقت عدد لا بأس به أثناء التصحيح حالات الاعتماد على النماذج اللغوية في الإجابة حتى أن منهم من رسم لي جداول بطريقة ASCII ART مولدة من نموذج لغوي يبدو أنه يرسم الجداول هكذا فرسمها الطالب كما أعطاه إياه النموذج!
إن وجود النماذج اللغوية بين أيادي الطلاب يفرض على النظام التدريسي وعلى الجامعات اعتماد طريقة لا إمكانية فيها لاستخدام النماذج اللغوية. مثل الرجوع لنظام المقابلات (المشافهة) بدل المذاكرات الكتابية حيث يجيب الطالب شفهيا على الأسئلة ولكنه غير قابل التنفيذ وخاصة مع أعداد الطلاب الكبيرة وأيضًا لصعوبة المقابلات التي لا تترك للطالب الفرصة للتفكير وتصحيح الأخطاء مثل المذاكرات الكتابية. أو اعتماد قاعات اختبارات تُجرى فيها الاحتبارات على حواسب لا تملك اتصال مع الانترنت وفيها أجهزة تشويش للاتصالات.
5- صعوبة طلب شراء معدات ودارات في ظروف اقتصادية صعبة
من المشكلات الكبيرة في الدول ذات الدخل المحدود وخاصة في الجامعات الحكومية المجانية أن كثيرًا من الطلاب بالكاد يتدارك قوت يومه وينقصه من الأساسيات الكثير. فلا يمكن تحميل عبء جلب مجموعة من الحساسات والدارات للتنفيذ العملي خلال مقرر مثل مقرر النظم المضمّنة الذي لا تكتمل فائدته دون تنفيذ عملي. حتى أني تفاجأت بوجود حوالي 3 حالات لطلاب لا يملكون جهاز حاسب لديهم.
6- أهمية وجود مدرس مساعد للمهام الجانبية مثل تنظيم الحضور وتجهيز العلامات واستقبال شكاوي الطلاب
هُدر كثير من الوقت خلال تصليح المذاكرات الكتابية مع العلم أن لها علامات قليلة في محصلة المادة وندمت أشد الندم أني جعلتها كتابية وإن كنت من مناصري أن الكتابة، فهي أكثر إمكانية لتقييم فهم الطلاب ومقدراتهم على صياغة الأفكار. لذلك إما أن يكون للمادة مساعد مدرس أو يُنصح باعتماد أساليب مؤتمتة. على سبيل المثال أرسلت وظيفة للطلاب عبر نظام Moodle تحتاج مني التحقق وإسناد العلامة ولكن ندمتُ بسبب استهلاكها لوقت جيد لذلك استخدمت لاحقًا الوظائف المؤتمتة في Moodle وكان فيها أسئلة من متعدد وأيضاً أسئلة برمجية مع إمكانية ترجمة كود الطالب ومطابقته مع النتيجة المتوقعة واسمه الإضافة في نظام Moodle التي تسمح بهذه الميزة هي CodeRunner مشابه لما نجده في المنصات العالمية مثل Coursera.

مجموعة من الصور داخل موقع المقرر الجامعي للنظم المضمّنة




إنجاز محتوى مقرر النظم المضمنة لصالح جامعة سعودية باستخدام ESP32
بالمصادفة أنجزت على مدى ثلاثة أشهر في السنة ذاتها محتوى 14 محاضرة مع محتوى المخبر وكانت بالتعاون مع الدكتور المدرس للمقرر في أحد الجامعات السعودية. حدّد لي مدرس المقرر عناوين رئيسية وطلب أن يكون باستخدام ESP32 .كانت تجربة جيدة إذ حازت السلاديات المنجزة على إعجاب المدرس وتقريبًا لم أحتاج لتعديلات تذكر واستفدت من تجربة تدريسي مقرر النظم المضمنة في جامعة دمشق في اقتراح محتوى واقعي ومناسب للطلاب. استخدمت المحاكي wokwi.com بكثرة لإيضاح التطبيق العملي باستخدام الأردوينو وهذه كانت أول مرة أستخدمه.
كان هذا أول مقرر أنجزه باستخدام ESP32 ومن المصادفة أنه جاء بعد أشهر قليلة من استخدام الـSTM32 في مقرر آخر. وجدت بعين المدرس في الـESP32 تعقيدات في الـReference Manual والـSDK أو ما يسمى ESP-IDF يجعلني لا أحبذ استخدام هذه الشريحة في هكذا مقررات جامعية إضافة لغياب المراجع الأكاديمية تمامًا للـESP32. التفاصيل الواسعة لعمل بعض طرفيات الـESP32 يجعله برأيي ليس الخيار الأفضل لاعتماده في المقررات المشابهة.
