Jump to content

تدعم جامعة ولاية سان خوسيه الطلاب لتعليم أنفسهم أساسيات البرمجة

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

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

"في ليلة الأحد عندما يعمل الطلاب على فرضهم المنزلي، قد يكون هناك 20 جهازًا افتراضيًا قيد التشغيل، وبينما يتغير حجم العمل، تدور الأجهزة بسرعة تلقائيًا لأعلى وأسفل."

Cay Horstmann, أستاذ علوم الكمبيوتر, جامعة ولاية سان خوسيه

تمكين التدريب العملي في الواقع الفعلي لجميع الطلاب

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

يقول هورستمان: "تحتاج أقسام علوم الكمبيوتر إلى الاستعداد لهذا التحول والحاجة الملحة إلى مهارات البرمجة. حيث يحضر الطلاب صفوف علوم الكمبيوتر بشكل عام لكي يصبحوا أكثر فعالية في مجالهم الخاص. ونظرًا لوجود نقص في مدربي علوم الكمبيوتر، يحتاج الطلاب إلى التمكن من التعلم من خلال التدرب على التعلُّم الذاتي."

سمع "كاي" عن برنامج المنح التعليمية على Google Cloud من خلال مجموعة الاهتمامات الخاصة في ما يتعلق بتعليم علوم الكمبيوتر ‏(SIGCSE) وتقدَّم بطلب للحصول على منحة بحثية لتلقي اعتمادات في Google Cloud. ولقد تم منحه الاعتمادات لاستخدامها من أجل أي منتج في Google Cloud. وتم استخدام الأدوات لتطوير برنامج تعيين الدرجات التلقائي، CodeCheck الذي يحتوي على مئات التدريبات للطلاب لممارسة البرمجة.

إن CodeCheck هو برنامج مستند إلى الويب ومُصمم للمساعدة في تعليم الطلاب كيفية البرمجة بأي من اللغات المتعددة. يمكن للأساتذة تخصيص مشاكل البرمجة، لكي يلتزم الطلاب بإنشاء حلولهم الخاصة ويتعذر عليهم العثور على الإجابات على الإنترنت. ونظرًا لأن خوادم قسم علوم الكمبيوتر كانت تعمل بكامل طاقتها بالفعل، أنشأ كاي CodeCheck باستخدام Google Compute Engine، وهي أجهزة افتراضية ذات طاقة حوسبة غير محدودة. ولقد وقع اختياره على Stackdriver للمراقبة والتسجيل والتشخيص وCloud SQL نظرًا لقابلية التطور والملاءمة.

يقول هورستمان: "في ليلة الأحد عندما يعمل الطلاب على فرضهم المنزلي، قد يكون هناك 20 جهازًا افتراضيًا قيد التشغيل، وبينما يتغير حجم العمل، تدور الأجهزة بسرعة تلقائيًا لأعلى وأسفل."

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

تشجيع الطلاب على التعلُّم الذاتي

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

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

يرى هورستمان أن برنامج CodeCheck يساهم في تحسين العملية التعليمية للطلاب بالإضافة إلى تحسين الأداء في الاختبارات. ففي دورة جافا لغير المتخصصين التي تتكون من قسمين، كان أداء القسم الذي يستخدم CodeCheck أعلى بنسبة 50% من أداء المجموعة الأساسية. وفي صف لغات البرمجة، سجَّل القسم الذي يستخدم CodeCheck 20% أعلى في أسئلة لغة البرمجة "سكيم" من المجموعة الأساسية. وبالنسبة إلى أحد الأسئلة التي لم يتم تناولها في أسئلة الممارسة، سجلت المجموعتان نفس الدرجات. وفي صف "سي++" للطلاب المُحولين من مدارس أخرى، حيث تعين على جميع الطلاب التدرب على حل المشاكل، انخفض متوسط عدد المحاولات لحل كل مشكلة بنسبة الثلث من بداية الدورة وحتى نهايتها وانخفض متوسط الوقت اللازم لحل المشكلة إلى النصف.

تعليم البرمجة للجميع

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

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

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

"إن البرمجة هي مهارة القرن الحادي والعشرين بالنسبة إلى رجال الأعمال والعلماء والمحامين والصحافيين وأي شخص يعمل باستخدام البيانات."

Cay Horstmann, أستاذ علوم الكمبيوتر, جامعة ولاية سان خوسيه

تشغيل برنامج تعيين الدرجات التلقائي مع عمليات الخلفية السلسة

يوفر Stackdriver إمكانات فعّالة للمراقبة والتشخيص تسمح لكاي بتحرّي المشاكل وإصلاحها وضمان استخدام الطلاب لبرنامج تعيين الدرجات التلقائي بشكل صحيح. فعلى سبيل المثال: إذا حاول طالب تشغيل برنامج يمسح برامج أخرى أو يؤدي إلى إيقاف تشغيل الجهاز، فإن برنامج "تعيين الدرجات التلقائي" مُثبّت في الأجهزة لحظر مثل هذا الأمر. كان كاي يقضي العديد من الساعات من قبل لمحاولة تصحيح أخطاء البرامج للكشف عن سبب مشكلة ما.

إن الهدف الرئيسي من CodeCheck هو الحد من الخلاف لجميع الطلاب الذين يرغبون في ممارسة البرمجة. فلا يتعين على الطلاب التسجيل أو تسجيل الدخول لاستخدام برنامج تعيين الدرجات التلقائي. وإنما يستطيع الأساتذة دمج CodeCheck في نظام إدارة التعلم (LMS). ويعمل الطلاب بشكل مباشر في نظام إدارة التعلم (LMS) ويقدم برنامج تعيين الدرجات التلقائي نتائج الطلاب. يتتبع Cloud SQL مدة عمل الطالب على المهمة الدراسية وينسخ نسخة احتياطية منه تلقائيًا. يساعد هذا الدمج على تحقيق ذلك لكي يستطيع الطلاب النقر على "تسجيل نتيجتي" لتقديم مهمة دراسية، مما يجعل إرسال البرنامج أمرًا سهلاً لكل من الأساتذة والطلاب.

يقول هورستمان: "عندما تصبح البرمجة مهارة للمستقبل ولا تقتصر فقط على المطورين، فيجب على أقسام علوم الكمبيوتر التكيف حتى يتمكن الطلاب من التعلم وفقًا للوقت المناسب لكل طالب. ومن خلال CodeCheck، يستطيع الطلاب تحدي أنفسهم لمواصلة التعلم خارج غرفة الصف."

اشترِك من خلال النموذج أدناه للحصول على آخر الأخبار والمعلومات والمراجع وغير ذلك.