البنى الأساسية للتقدير

مكتمل

في هذه الوحدة، نناقش كيفية إنشاء مسار تصنيف حول تقييم عمليات الإرسال باستخدام PyBryt.

تنسيقات الإخراج

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

التشغيل محلياً

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

import glob
import pathlib
import pybryt

student_impls = []
submissions = glob.glob("submissions/*.ipynb")
for subm in submissions:
    student_impls.append(pybryt.StudentImplementation(subm))

refs = []
ref_paths = glob.glob("refs/*.pkl")
for ref_path in ref_paths:
    refs.append(pybryt.ReferenceImplementation.load(ref_path))

for student_impl, subm in zip(student_impls, submissions):
    results = student_impl.run(refs)
    for res in results:
        res_path = f"results/{pathlib.Path(subm).stem}_{res.reference.name}.pkl"
        res.dump(res_path)

يقوم البرنامج النصي السابق بإنشاء تنفيذ كل طالب من دفتر ملاحظات الإرسال في submissions الدليل. ثم يقوم بتحميل عمليات التنفيذ المرجعية المخللة من refs الدليل، ثم يقوم بتشغيل تنفيذ كل طالب مقابل كل مرجع، وتخزين النتائج في results الدليل لمزيد من المعالجة.

بالنسبة لعمليات التشغيل المتعددة، قد ترغب في اختيار عناصر تطبيق الطالب، نظرًا لأن إنشاءها قد يستغرق بعض الوقت:

for student_impl, subm in zip(student_impls, submissions):
    impl_path = f"student-implementations/{pathlib.Path(subm).stem}.pkl"
    student_impl.dump(impl_path)

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

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

التشغيل عبر الأتمتة

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

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