أضف التمارين الأولية


بعد أن تُنفّذ تمرين hello-world، تكون مهمتك التالية هي تنفيذ أكثر من 20 تمرينًا آخر.

أنواع التمارين

هناك نوعان من التمارين يمكنك تنفيذها:

  • تمارين المفاهيم: صُمّمت لتعليم الطالب مفهومًا واحدًا أو أكثر. راجع الوثائق لمزيد من المعلومات.
  • تمارين التدريب: صُمّمت للتدريب على المفاهيم التي تعلّمها الطالب. راجع الوثائق لمزيد من المعلومات.

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

اختر التمارين

لمساعدة المسارات في تنفيذ تمارين التدريب، أنشأنا مستودع exercism/problem-specifications. يحتوي هذا المستودع على بيانات وصفية لأكثر من 100 تمرين تدريب، يمكن للمسارات المختلفة استخدامها لتنفيذ نسختها الخاصة بمسارها من هذه التمارين. ولهذا السبب، سترى التمارين نفسها منفَّذة في مسارات مختلفة كثيرة.

فكيف تختار أكثر من 20 تمرينًا من قائمة تضم أكثر من 100 تمرين؟ إليك بعض الإرشادات.

اختر تمارين تدرّب الطلاب على تشكيلة واسعة من المفاهيم

هناك تنوع كبير في المفاهيم المستخدمة في هذه التمارين التي تتجاوز 100 تمرين. ينبغي أن تستهدف تنفيذ تمارين تدرّب الطلاب على تشكيلة واسعة من المفاهيم. فبدلًا من تنفيذ 20 تمرينًا تركّز على السلاسل النصية، حاول تنفيذ تمارين تركّز على مفاهيم مختلفة.

إليك بعض المفاهيم مع تمارين نموذجية:

المفاهيم التمارين
معالجة البتات allergies, secret-handshake
القيم المنطقية leap
الأصناف circular-buffer, robot-name
التزامن bank-account
الجمل الشرطية raindrops
التواريخ والوقت gigasecond, meetup
المساواة clock
أعداد الفاصلة العائمة darts, space-age
التقييم الكسول alphametics, zebra-puzzle
المصفوفات resistor-color, spiral-matrix
الحلقات collatz-conjecture, protein-translation
الخرائط nucleotide-count
الأعداد leap, grains
العشوائية dnd-character, robot-name
السلاسل النصية bob, isogram,
الأشجار binary-search-tree, pov

اختر تمارين متفاوتة الصعوبة

بعض التمارين يكون تنفيذها أصعب من غيرها. ينبغي أن تستهدف تنفيذ تمارين متفاوتة الصعوبة: بعضها سهل، وبعضها متوسط، وبعضها صعب.

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

إليك بعض درجات الصعوبة مع التمارين:

اختر تمارين تناسب مسارك

قد لا تناسب كل التمارين مسارك. اختر فقط التمارين التي تناسب مسارك؛ فالأفضل ألّا تنفّذ تمرينًا بدلًا من تنفيذ تمرين لا معنى له. على سبيل المثال، يطلب تمرين lens-person من الطالب العمل باستخدام العدسات، وهي ميزة لا تدعمها لغات كثيرة.

إذا وجدت تمرينًا لا يناسب مسارك، يمكنك إضافة معرّفه إلى مصفوفة exercises.foregone في ملف config.json الخاص بالمسار. سيضمن ذلك أن تتجاهل الأدوات هذا التمرين.

منهج نموذجي

ولجعل هذا كله أكثر تحديدًا، هكذا قد تبدو تشكيلة نموذجية من التمارين الأولية:

التمرين الصعوبة المفاهيم
hello-world سهل لا شيء (تمرين أولي)
leap سهل الأعداد، القيم المنطقية
gigasecond سهل التواريخ والوقت
isogram سهل السلاسل النصية
resistor-color سهل المصفوفات
nucleotide-count سهل الخرائط
collatz-conjecture سهل الحلقات
darts سهل أعداد الفاصلة العائمة
two-fer سهل تنسيق السلاسل النصية، الوسائط الاختيارية
high-scores سهل معالجة المجموعات
raindrops متوسط الجمل الشرطية
bob متوسط السلاسل النصية
allergies متوسط معالجة البتات
series متوسط الاستثناءات
circular-buffer متوسط الأصناف
meetup متوسط التواريخ والوقت
yacht متوسط المصفوفات
dominoes صعب الصفوف، التقييم الكسول
diamond صعب تنسيق السلاسل النصية
alphametics صعب التقييم الكسول
forth صعب التحليل

نفّذ التمارين

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