تحيات! اسمي كولين فريدريكس. أعمل في HarvardX كرئيس مشروع أول ، مما يعني أن معظم عملي هو مساعدة أساتذة هارفارد في إعداد دورات تدريبية عالية الجودة. ومع ذلك ، خلال الأشهر القليلة الماضية ، كنت أعمل ، في الغالب في أوقات فراغي ، على الإضافة ائتمان جزئي لمنصة Open edX.
تعجبني حقًا منصة Open edX ، لكنني كنت متفاجئًا دائمًا بعدم وجود طريقة لمنح ائتمان جزئي. بعد أن درست في الكلية والمدرسة الثانوية ، بدا الأمر وكأنه إشراف واضح لدرجة أنني ظللت أتوقع رؤيته في قائمة "الميزات القادمة". بعد ثلاث سنوات من الانتظار قررت أخيرًا أن أتولى زمام الأمور.
الآن ، أنا لست مبرمجًا محترفًا. (قد تسمع موسيقى شريرة يتم تشغيلها في الخلفية. نسمي هذا "الإنذار".) تعلمت برمجة Applesoft BASIC في الصف الرابع ، وبرمجة TI-4 في المدرسة الثانوية ، و C ++ في الكلية ، و Python أثناء العمل في MIT ، و Javascript عندما كنت عاطل عن العمل ، لكنني لم أساهم قط في جهد مفتوح المصدر من قبل. لم أكتب كود الاختبار قط. هيك ، بالكاد عرفت أن كود الاختبار موجود. (يسقط ظل فوق الكاميرا. المزيد من الإنذارات.) قررت أنني سأضيف نوعًا واحدًا من الائتمان الجزئي لنوع واحد فقط من المشاكل ، فقط أبق الأمور بسيطة حتى أتمكن من التعامل معها في غضون أسبوع أو أسبوعين. (هذا أيضًا ينذر).
كان ذلك في أوائل أبريل. لقد أنجزت هدفي الأصلي في يومين ، ثم تضخم المشروع بسرعة إلى حالته الحالية. كنت مقتنعًا بالتوسع من نوع مشكلة واحد إلى أكبر عدد ممكن من المشكلات التي يمكنني التعامل معها بشكل معقول ، وكتابة ملف اقتراح كامل التي انتهى بها الأمر إلى 16 صفحة.
أثناء تنفيذ هذه الميزة ، اكتشفت أشياء حول "رمز الاختبار" و "أدوات فحص جودة الكود" وأشياء أخرى لا يخبرون الناس عنها (بحكمة) في علوم الكمبيوتر XNUMX. لقد بدأت من دليل مطور edX، كما فهمت ذلك على أفضل وجه ، مع ذلك مخطط انسيابي جميل. فتحت أ تذكرة اقتراح على JIRA، أنشأت github repo لرمزي الخاص ، فتح بلدي أول طلب سحب, إجراء المزيد من التطوير ، وحصلت على الكثير من التعليقات الجيدة (التي أدرجت معظمها) ، وتعلمت كيفية إعادة التعيين بشكل صحيح ، وفتحت طلب سحب جديد وأفضل، وفعل المزيد من الترميز. أخيرًا ، بعد حوالي 15 أسبوعًا من التطوير ، أنا فخور بالقول إنه تم دمج الميزة في الفرع الرئيسي لمنصة edx!
الرصيد الجزئي: تفاصيل الميزة
إليك ملخص سريع لما تبدو عليه هذه الميزة حاليًا. لاحظ أنه في الوقت الحالي ، لا يمكن للمؤلفين تمكين الرصيد الجزئي إلا من خلال تحرير تعريف OLX للمشكلة مباشرةً.
اختيار متعددة و اسقاط للمشكلات نوع واحد من الرصيد الجزئي المتاح: تقدير نمط "النقاط". يسرد مؤلف الدورة التدريبية اختيارات معينة تستحق الائتمان الجزئي ، ويحدد بشكل اختياري مقدار الائتمان الذي يستحقه (الافتراضي هو 50٪). كأثر جانبي ، تمت ترقية مشاكل القائمة المنسدلة بحيث يمكن تمييز أكثر من خيار على أنه صحيح.
صندوق الاختيار للمشكلات نوعان (متنافيان) من الائتمان الجزئي متاحان: نمط "النصف" ، حيث تعطي الاستجابة المثالية 100٪ من الائتمان وكل خطأ يقطع الائتمان إلى النصف ، وأسلوب "كل قرار مهم" ، حيث يتحول كل مربع اختيار بفاعلية في سؤاله المنفصل عن الصواب / الخطأ.
فيما يلي مثال على كيفية قيام مؤلف الدورة التدريبية بتمكين الرصيد الجزئي لنمط "كل قرار مهم" (أو "EDC") في مشكلة الاستوديو:

هكذا ستظهر المشكلة للطلاب:

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

إليك كيف ستظهر المشكلة للطلاب:

وفي الختام لغة بايثون المخصصة يمكن أن ترجع المشكلات الآن ليس فقط قيمة نقطة ، ولكن مؤشرًا على ما إذا كانت المشكلة تعتبر صحيحة كليًا أم جزئيًا فقط.
لمزيد من التفاصيل حول كيفية إضافة رصيد جزئي إلى مشاكلك ، راجع وثائق الائتمان الجزئي.
أنا سعيد جدًا بكيفية ظهور كل هذا. استغرق المشروع وقتًا أطول مما اعتقدت ، لكنه أيضًا أقوى بكثير. إنه يوفر إطارًا يسهل إضافة رصيد جزئي إلى أنواع المشاكل الأخرى في المستقبل ، وهو أمر أتمنى حقًا أن يستفيد منه الناس.
ما الذي يأتي في الإصدار 2؟
حسنًا ، أولاً ، لدي مخطط v1.5 ينظف بعضًا من المحيط الكود ، بحيث لن يواجه المساهمون المستقبليون في وحدة Capa الكثير من المشاكل كما فعلت. بعد ذلك - المزيد من أنواع المشاكل ، بالطبع! إنني أتطلع أيضًا إلى إتاحة هذه الميزة للمشكلات الشائعة دون استخدام XML - أي منح المدرسين القدرة على استخدام هذه الميزة من محرر علامة Studio markdown. هناك بعض التعميمات البرمجية الإضافية التي يمكن القيام بها. في مكان ما في المستقبل ، هناك أيضًا إمكانية إضافة تصنيف على أساس المحاولة ... لكن دعنا نأخذ الأمور خطوة واحدة في كل مرة.
لا أستطيع أن أقول ما يكفي عن مدى روعة ومساعدة جميع الأشخاص في edX خلال هذه العملية. لقد جئت مع القليل من معرفة Python و Javascript ، وخرجت بمهارات أكثر قوة وفهمًا لما يشبه المساهمة في مشروع مفتوح المصدر. سارينا كانيلاك ، ليزلي غيرهات ، بيوتر ميتروس ، مارك ساديكي ، ماركو موراليس ، بن باترسون ، ديانا هوانغ ، مارك هوبر ، وغيرهم ، استغرقت وقتًا من أيامهم المزدحمة لمساعدتي على فهم الشفرة وصقلها بشكل أفضل. لا أطيق الانتظار لرؤيتها تستخدم في البرية.
ما زلت لا أفكر في نفسي كمبرمج محترف ، لكن بفضل هذا العمل أصبحت أقرب.
كولين فريدريكس هو كبير مسؤولي المشروع في هارفارد إكس. في باقي أوقات فراغه يستمتع بالطبخ ، كتابة ألعاب تمثيل الأدواروأن نكون أصدقاء مع كل الحيوانات.
![]()