مشروع NumPy

تحتوي هذه الصفحة على تفاصيل مشروع كتابة فني مقبول ضمن "موسم المستندات" من Google.

ملخص المشروع

مؤسسة البرامج المفتوحة المصدر:
NumPy
الكاتب الفني:
cooperrc
اسم المشروع:
مستندات شركة NumPy للتعليم المجتمعي
طول المشروع:
المدة العادية (3 أشهر)

وصف المشروع

مقدمة

توفّر NumPy حوسبة نظيفة وسريعة مستندة إلى صفيفة في مكتبة برامج مجانية مفتوحة المصدر. وهي حزمة أساسية في مكدس ساي باي للحوسبة العلمية [1]. يستخدم أكثر من 370 ألف مشروع حوسبة الصفائف الفعالة [2]. يتم الترحيب بمستخدمي NumPy من خلال موقع إلكتروني جديد يحتوي على تطبيقات ودراسات حالة [1]. عندما يعثر مستخدم جديد على صفحة الوثائق، يتم التعرف عليه من خلال العديد من روابط "Start Here" (البدء من هنا) والبرامج التعليمية التمهيدية التي قد تكون مرهقة للمبتدئين، مثل أساسيات NumPy/تبديل البايت. بدأت استخدام نمباي منذ عشر سنوات في المدرسة العليا. وجدت نفسي أجمع مشاركات المدونات وملاحظات المحاضرات وإجابات StackExchange لتجنب مراجعة وثائق NumPy. وهناك حاليًا أكثر من 360 ألف محادثة StackExchange التي تتعامل مع NumPy. أتخيل أن هناك مستخدمين آخرين لديهم طرق مماثلة للنجاح في نمباي. إنّ اللبنات الأساسية للأدوات التعليمية هي التواصل والمجتمع [4]. تحتاج الوثائق إلى إنشاء مجتمع يعكس الأهداف المرجوة من المشروع. يجب أن تكون الوثائق دليلاً متسقًا وواضحًا للمستخدم الجديد. يجب أن توفر البرامج التعليمية للمستخدمين الجدد خطوات سهلة المتابعة وتعزز الراحة من خلال المكتبة [3]. ينبغي أن ترحب المستندات بمستخدم جديد في منتدى NumPy. يحتاج كل من الهيكل والوتيرة ومؤلفي الوثائق إلى إنشاء مكان يرحب بالاستكشاف والتواصل. سيعمل هذا الاقتراح على تنظيم وسد الثغرات في وثائق NumPy الحالية حتى يتم تثقيف المستخدمين الجدد والترحيب بهم في المجتمع.

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

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

هناك أربعة مساحات مجمعة على نطاق واسع لوثائق البرامج [3]: مساحة البرنامج التعليمي، ومساحة كيفية التنفيذ، ومساحة التفسير، والمساحة المرجعية. تحتوي وثائق NumPy على عدد من المستندات في مساحة البرنامج التعليمي التي تمزج بين محتوى الشرح ومحتوى المساحة التعليمية في البرنامج التعليمي. يجب أن تركز مساحة البرنامج التعليمي على تعليم المستخدم وأن تستخدم خطوات سهلة التكرار لتوصيل الأفكار. توفر مساحة كيفية الاستخدام المزيد من الإجراءات الموجهة نحو الهدف التي يمكن للمستخدمين تطبيقها في تطبيقات العالم الحقيقي. توفر مساحة الشرح معلومات مفصّلة عن سلاسل المستندات في كل دالة. لم يتم تحديد البرنامج التعليمي الحالي ومساحات طريقة التنفيذ بوضوح، وأحيانًا يتم إدخالها في مساحة الشرح والرجوع. هناك برنامج تعليمي ممتاز لـ "المبتدئين المطلقين" وهناك مرجع رائع لمستخدمي برنامج Matlab لإنشاء رمز NumPy في "Numpy لمستخدمي Matlab". وتوضيح هذه المساحات الأربع بوضوح يجعل الوثائق أكثر وضوحًا.

فجوة في قاعدة المعلومات/الاحتياجات التي لم تتم تلبيتها

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

الأسباب

يُعد اقتراح صيف مستندات Google هذا مهمًا لأهدافي التربوية والمهنية. أستخدم نمباي وساي باي في جميع دوراتي التدريبية. يصعب على طلابي التنقّل بين المستندات الحالية. أريد استخدام خبرتي في تدريس التخصصات غير التابعة لعلوم الكمبيوتر كيفية الترميز للمساعدة في تنظيم وتعديل وسد الثغرات في البرامج التعليمية الحالية. بعد ذلك، يمكنني استخدام الوثائق ككتاب مدرسي ومواد مرجعية لدوراتي التدريبية. لقد أنشأت العشرات من البرامج التعليمية والتمارين والأمثلة باستخدام لغة بايثون و. أريد تحويل بعض هذه المواد إلى دروس تعليمية وطرق. لقد جعلتُ أكثر من 800 طالب يستخدمون نمباي (كجزء من حزمة ساي باي) ولدي العديد من الطلاب المهتمين بأن يصبحوا مساهمين في المستندات للفصل الدراسي في الخريف. تدرّس في قسم الهندسة الميكانيكية من "جامعة كونيتيكت" لمدة 4 سنوات، وعلّمتُ أكثر من 30 ساعة دراسية معتمَدة.

أهداف محددة

لدي ثلاثة أهداف محددة لهذا العرض لصيف العام من Google: 1. تنظيم الوثائق الحالية، 2. تعديل البرامج التعليمية الحالية (دليل المبتدئين وإنشاء المصفوفة والفهرسة والجبر الخطي ومكتبة NumPy على مكتبة مات لاب) لنقل المعلومات المرجعية إلى مساحة الشرح، 3. تصميم المواد الإرشادية مع الطلاب. كل هدف محدد له نتيجة متوقعة للاقتراح.

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

لدي ثلاث نتائج متوقعة على النحو التالي: 1. صفحة ويب منقحة تفصل بين المساحات الأربعة بوضوح: دروس تعليمية، وإرشادات توجيهية وشرح ومرجع، 2. دروس تعليمية جديدة حول: قراءة الصفائف وكتابتها، وإنشاء الصفائف (np.zeros وnp.ones وnp.block، وغيرها)، وعملية الجبر الخطي في مقابل العناصر في NumPy، و3. مساحة طريقة منظَّمة.

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

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

الجدول الزمني للمشروع هو 9/14-11/30. الخطوة الأولى هي بناء الوثائق والمحتوى المنفصل في البرامج التعليمية الحالية إلى محتوى تعليمي وإرشادي وشرح. سيتم ذلك خلال الأسابيع الخمسة الأولى من المشروع كجزء من النتائج 1 و2 مراجعة موقع الويب والبرامج التعليمية، على التوالي. يتم عرض مؤسسة الوثائق المقترحة في الوثائق المقترحة أدناه.

الوثائق المقترحة:

i.Tutorials:

  • الأساسيات المطلقة للمبتدئين (إزالة التثبيت، وهل يمكن استبدال الاستيراد/التصدير الباندا بـ numpy.loadtxt؟)
  • رابط إلى "ما هي مكتبة نامبي"
  • رابط إلى إرشادات التثبيت الأساسية هنا
  • برنامج التشغيل السريع التعليمي (مخصص لمتابعة البرنامج التعليمي Python)
  • استخدام صفائف NumPy
  • إنشاء صفيف (np.zeros، np.ones، np.block، إلخ.) (اكتب: أولوية متوسطة-منخفضة)
  • عمليات العناصر حسب العناصر (+-,*,/) وعمليات الجبر الخطية (+-,@, linalg.solve) (كتابة:أولوية متوسطة)
  • قراءة البيانات وكتابتها باستخدام Numpy (اكتب: ذات أولوية عالية)
  • الفهرسة

ii. طريقة التنفيذ:

  • مسائل الجبر الخطي في صفائف الأبعاد النامية (أحب تعديل العناوين والأوصاف وربما تغيير العنوان إلى "معالجة الصور باستخدام الجبر الخطي في Numpy")
  • رابط إلى محتوى تعليمات numpy-tutorials (العمل المستمر)

iii. الشرح:

  • أنواع البيانات
  • وحدات الإدخال والإخراج باستخدام Numpy
  • الفهرسة
  • البث
  • تبادل البايت
  • الصفائف المنظَّمة
  • كتابة حاويات الصفائف المخصّصة
  • مصفوفة تصنيف فرعي
  • خيارات متنوعة

iv. المساحة المرجعية:

  • مسرد المصطلحات
  • مرجع واجهة برمجة تطبيقات Numpy
  • Numpy لمستخدمي Matlab (جدول التكافؤ هو جدول مرجعي رائع، ولكن مناقشة الصفيف/المصفوفة تشتت الانتباه وتبدو متوقفة)

عند الانتهاء من موسم "مستندات Google" هذا، أقترح النتائج التالية:

  • صفحة ويب توثيق منقحة تفصل بوضوح المساحات الأربع: البرامج التعليمية، والإرشاد، والشرح، والمراجع
  • برامج تعليمية جديدة حول: إنشاء الصفائف (np.zeros، np.ones، np.block، إلخ.)، العمليات حسب العناصر (+-،*،/) وعمليات الجبر الخطي (+-،@، linalg.solve)، وقراءة البيانات وكتابتها باستخدام Numpy (أولوية عالية)
  • تم تقديم مستندات إرشادية لزيادة مساهمات المستخدمين والمساعدة في تعزيز أهداف المجتمع في ما يتعلّق بالتعليم والتعلُّم

كل نتيجة لها عدد من الخطوات الموضحة أدناه في جداول النتائج 1-3. أثناء إرسال الوثائق المقترحة للمراجعة، ستتم كتابة البرنامج التعليمي ذي الأولوية العالية "صفائف القراءة/الكتابة" لإرساله كطلب سحب كجزء من النتيجة 2. أثناء مراجعة موقع الويب الذي تمت مراجعته والبرنامج التعليمي المحدث حول "قراءة/كتابة الصفائف"، سأبدأ في كتابة برنامج تعليمي لإنشاء الصفائف باستخدام دوال NumPy، على سبيل المثال. np.ones، np.zeros، np.diag. سيتم استخدام الوقت المتبقي للاستجابة لمشكلات الطلب والبدء في كتابة البرنامج التعليمي ذات الترتيب 3: عمليات الجبر الخطية والعناصر في بايثون.

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

النتيجة 1: مراجعة تاريخ تسليم موقع الويب مستودع الشوكة وإنشاء مستندات باستخدام Sphinx 9/21 إنشاء صفحة ويب باستخدام أربع مساحات محددة ومرتبطة 10/1 نقل البرامج التعليمية الحالية إلى المساحات المناسبة وإنشاء المستندات 10/10 إرسال العلاقات العامة إلى github مع التغييرات المقترحة 11/1 الاستجابة للتعليقات/الاقتراحات وإنشاء المستندات 11/1 الاستجابة للتعليقات/الاقتراحات، والمراجعة 20 الموقع الإلكتروني المنقح باستخدام PR3

النتيجة 2: مراجعة البرامج التعليمية تاريخ التسليم مراجعة ترتيب مراجعة البرامج التعليمية 9/21 فصل محتوى البرنامج التعليمي الحالي في مساحات البرنامج التعليمي والشرح 10/1 كتابة ترتيب 1: قراءة/كتابة الصفائف 10/10 إرسال علاقات عامة إلى github للفصل والمراجعة 10/20 كتابة الترتيب 2: الصفيف / عمليات الإنشاء 1 وPR3

ترتيب مقترح لمراجعات البرنامج التعليمي (يخضع للتغيير وفقًا للمرشدين/المنتدى):

  1. قراءة/كتابة صفحة فارغة حاليًا في صفائف

  2. إنشاء مصفوفة (np.zeros، np.ones، np.block، إلخ.) غير موجود: لمساعدة المستخدمين الجدد في شرح وتوضيح أدوات إنشاء/التفاعل الشائعة للصفيف

  3. عمليات الجبر الخطية وتلك المستندة إلى العناصر (+- و* و/ و+ و-@,linalg.solve) غير موجودة: هذا مفيد بشكل خاص مع العمليات 1. مستخدمو Matlab و2. الأشخاص الذين يتبنون فهم الجبر الخطي (التعلُّم الآلي والانحدار الخطي وغير ذلك)

النتيجة 3: مساحة مُنظَّمة لطريقة الاستخدام تاريخ التسليم - رابط خارجي(مشكلة/مثال) إنشاء مثال عن طريقة التنفيذ (المرشح: كيفية العثور على الترددات الطبيعية لأوتار الغيتار 10/20
إنشاء نموذج إرشادي للمساهمين الجدد 10/1 قيد التقدم نموذج دليل توجيهي للعلاقات العامة والتأطير المساهمات المحتملة العمل مع مساهمين آخرين لإنشاء دفاتر ملاحظات للعمل والتأطير والمساهمات المحتملة1 التي يقدِّمها الطلاب

الأهمية المتوقعة

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

المراجع

  1. تم الوصول إلى موقع NumPy.org الإلكتروني في 07/2020.
  2. مستودع NumPy GitHub.
  3. نظام التوثيق. تم الوصول إلى موقع Divio.com في 07/2020.
  4. ديوي، جون. الديمقراطية والتعليم: مشروع غوتنبرغ، آب (أغسطس) 2015.
  5. ديوي، جون. السعي للحصول على Certainty George Allen And Unwin Limited. 06/2005.