ثلاثون خطوة صغيرة إلى داخل الحاسوب

دورة OpenKernel

افهم فكرةً، وجرّبها في معالج مرئي، وحلّ تحدّيًا تفحصه الآلة. ابدأ بثلاث تعليمات وانتهِ ببرامجك الصغيرة الخاصة.

لا حسابات ولا تثبيت. يكتمل الدرس حين يجتاز برنامجك كل حالات التحدّي فقط. يبقى التقدّم والشارات في هذا المتصفّح.

ابدأ الدرس 1 ← افتح المختبر الحرّ

تقدّمك

يُحمّل التقدّم في متصفّحك.

أكمل وحدةً لكسب شارتها. تسجّل الشارات اجتياز التحدّيات المفحوصة، لا الزيارات.

قد يمحو التصفّح الخاص أو مسح بيانات الموقع أو استخدام جهاز مختلف سجلك المحلي. يمكنك أخذ الدروس بأي ترتيب.

الوحدة 1 · نحو 20 دقيقة

تعرّف على الآلة

اشرح جلب التعليمات وتنفيذها والسجلات وPC والمخرجات والتوقّف.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. برنامجك الأول بالرموز التعبيرية · 5 دقيقة

    انقل عددًا إلى المعالج، واطبعه، ثم توقّف.

  2. فهم السجلات · 8 دقيقة

    استخدم مساحات العمل الثماني السريعة دون فقدان قيمة.

  3. تتبّع عدّاد البرنامج · 7 دقيقة

    اقرأ سجلّ التنفيذ وميّز بين أسطر المصدر وعناوين التعليمات.

الوحدة 2 · نحو 28 دقيقة

الحساب والإدخال

ابنِ حسابات بأعداد صحيحة مع مدخلات محفوظة وحالات اختبار.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. الحساب بالرموز التعبيرية · 9 دقيقة

    اجمع الطرح والجمع والضرب في خطوات مرتّبة.

  2. القسمة والباقي · 9 دقيقة

    اشرح القسمة بالتقريب إلى الأسفل والباقي ذي الإشارة، بما فيه القيم السالبة.

  3. آلة حاسبة بمدخلين · 10 دقيقة

    ابنِ آلة حاسبة قابلة لإعادة الاستخدام بدل إجابة ثابتة.

الوحدة 3 · نحو 28 دقيقة

ذاكرة البايتات

ميّز القيم عن العناوين واقرأ بيانات البايتات واكتبها.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. الذاكرة: دفتر الحاسوب · 10 دقيقة

    خزّن بايتًا واسترجعه فعلًا بعد تغيير R0.

  2. العناوين في السجلات · 9 دقيقة

    استخدم عنوانًا كبيانات واقرأ جدول بحث.

  3. البايتات والحدود · 9 دقيقة

    اعرف لماذا تلتف قيم الذاكرة بينما لا تلتف قيم السجلات.

الوحدة 4 · نحو 29 دقيقة

القرارات والرايات

استخدم المقارنة والباقي والمسارات ذات الوسوم للتعبير عن القرارات.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. المنطق الشرطي: اتّخاذ القرار · 10 دقيقة

    قارن قيمًا ثم تفرّع بناءً على راية محفوظة.

  2. زوجي أم فردي؟ · 9 دقيقة

    استخدم الباقي والتفرّع لتصنيف المدخل.

  3. قرار مبنيّ على الذاكرة · 10 دقيقة

    اتّخذ قرارًا من بيانات مخزّنة وسجّل النتيجة.

الوحدة 5 · نحو 34 دقيقة

التكرار والعدّادات

استخدم حلقات محدودة وحالات الصفر والعدّادات والمُجمِّعات.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. الحلقات: تكرار العمل · 10 دقيقة

    اربط LOOP بـRETURN وتعامل صحيحًا مع صفر تكرارات.

  2. بناء عدّاد · 12 دقيقة

    اطبع من 1 إلى 10 ثم عمّم العدّ.

  3. مجموع الأعداد من واحد إلى N · 12 دقيقة

    افصل المُجمِّع عن عدّاد الحلقة.

الوحدة 6 · نحو 42 دقيقة

خوارزميات ذات حالة

صِف خصائص ثبات المضروب وفيبوناتشي والنسخ المعكوس وافحصها.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. المضروب وخاصية ثبات الحلقة · 12 دقيقة

    استخدم مُجمِّعًا للضرب واشرح لماذا 0! يساوي 1.

  2. متتالية فيبوناتشي · 15 دقيقة

    احفظ قيمتين سابقتين وحدّثهما بترتيب آمن.

  3. نسخ مخزن ذاكرة بترتيب معكوس · 15 دقيقة

    انسخ البيانات إلى الخلف باستخدام مؤشّرَي المصدر والوجهة.

الوحدة 7 · نحو 39 دقيقة

المكدّس والدوال

استخدم ترتيب الأخير دخولًا والأول خروجًا وأطر الاستدعاء واتفاقات الحفظ والاستعادة.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. عمليات المكدّس: الأخير دخولًا هو الأول خروجًا · 12 دقيقة

    احفظ القيم في مكدّس البيانات واسترجعها بترتيب معكوس.

  2. استدعاء برنامج فرعي · 12 دقيقة

    أعد استخدام الشيفرة وعُد إلى التعليمة التالية لـCALL.

  3. الحفاظ على حالة المستدعي · 15 دقيقة

    استخدم اتفاق حفظ واستعادة عندما تحتاج الدالة مساحةً مؤقّتة.

الوحدة 8 · نحو 39 دقيقة

البتات والتمثيل

اختر البتات واقلبها واشرح سلوك الأعداد الموقّعة ذات 32 بت.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. أقنعة البتات والرايات · 12 دقيقة

    اختر بتات محدّدة بـAND واضبطها بـOR.

  2. قلب البتات · 12 دقيقة

    استخدم التغيير القابل للعكس في XOR لتحديث إعداد محفوظ.

  3. البتات الموقّعة والقيمة الأكبر · 15 دقيقة

    افهم NOT واختبر إشارة فرق باستخدام قناع الإشارة.

الوحدة 9 · نحو 45 دقيقة

الجدولة والأنوية والأحداث

ميّز سياسة الجدولة وتقسيم العمل واستعادة الحالة بواسطة معالج الأحداث.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. الجدولة التعاونية · 15 دقيقة

    تناوب بين المهام وميّز سياسة الجدولة عن تعليمات المعالج.

  2. تقسيم العمل بين الأنوية · 15 دقيقة

    قسّم أعمالًا مستقلة واجمع نتائجها.

  3. المقاطعات ومعالجات الأحداث · 15 دقيقة

    عالج حدثًا واستعد قيمة المهمة الأمامية التي قوطعت.

الوحدة 10 · نحو 56 دقيقة

ابنِ برامج صغيرة

اجمع مجموعة التعليمات في لعبة وأداة مخزن بيانات وموزِّع أعمال.

اكتمل 0 من 3 تحدّيات مفحوصة

  1. لعبة هدف صغيرة · 18 دقيقة

    ابنِ لعبة من ثلاث جولات بحالة مخزّنة ونتيجة.

  2. أداة مخزن بيانات تعتمد على المكدّس · 18 دقيقة

    اجمع الإدخال والحلقات والمكدّس والتخزين المفهرس.

  3. نظام تشغيل مصغّر من صنعك · 20 دقيقة

    وزّع أعمال الطابور على خدمات قابلة لإعادة الاستخدام وسجّل النتائج.

مرحبًا بمن يبرمج للمرة الأولى

ثلاثة أدلّة للمبتدئين

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

برنامجك الأول

اكتب برنامجًا يطبع 42، ثم تتبّع تنفيذه.

  1. أدرج 📥 LOAD من لوحة التعليمات.
  2. أضف العدد 42 بعد LOAD.
  3. أضف 🖨️ PRINT في السطر التالي.
  4. أضف ⏹️ HALT في السطر الأخير.
  5. شغّل البرنامج وتحقّق من ظهور 42 في نافذة المخرجات الفعلية.
  6. نفّذ التعليمات خطوةً خطوة، وراقب R0 وPC والمخرجات.
📥 42
🖨️
⏹️

المخرجات المتوقعة: 42

افتح الدليل في المختبر ←

خُذ تحدّي الدرس ←

الحساب بالرموز التعبيرية

احسب 10 + 5 وراقب تغيّر المُجمِّع.

  1. أدرج 📥 LOAD.
  2. حمّل العدد 10.
  3. أضف ➕ ADD في السطر التالي.
  4. استخدم 5 كمعامل للتعليمة ADD.
  5. أضف 🖨️ PRINT لعرض النتيجة.
  6. أضف ⏹️ HALT لإيقاف التنفيذ.
  7. شغّل البرنامج وتحقّق من ظهور 15 في نافذة المخرجات.
  8. نفّذ الخطوات مجددًا واشرح لماذا ترى PRINT حاصل الجمع.
📥 10
➕ 5
🖨️
⏹️

المخرجات المتوقعة: 15

افتح الدليل في المختبر ←

خُذ تحدّي الدرس ←

حلقة العدّ التنازلي

عُدّ من خمسة إلى واحد، مع تسمية نقطة الخروج.

  1. أدرج 📥 LOAD.
  2. اجعل العدد الابتدائي 5.
  3. سمِّ تعليمة PRINT بالوسم again: كي تكون للقفزة وجهة واضحة.
  4. أضف ➖ SUB بعد الطباعة.
  5. اطرح 1 في كل دورة.
  6. أضف ❓ JUMP_IF_ZERO بعد SUB مباشرة.
  7. استخدم الوسم done وجهةً للخروج.
  8. أضف ⏭️ JUMP للمسار الذي يواصل العدّ.
  9. استخدم الوسم again للعودة إلى PRINT.
  10. أضف done: ⏹️ HALT بعد الحلقة.
  11. شغّل البرنامج وتحقّق من أن المخرجات الفعلية هي 5، 4، 3، 2، 1.
  12. تتبّع الطرح الأخير: تصبح راية الصفر مفعّلة ويصل التنفيذ إلى HALT.
📥 5
again: 🖨️
➖ 1
❓ done
⏭️ again
done: ⏹️

المخرجات المتوقعة: 5, 4, 3, 2, 1

افتح الدليل في المختبر ←

خُذ تحدّي الدرس ←