مساحة المتعلّمLearner hub

الحزمة التعليمية الكاملةComplete learner course pack

الأسبوع الأولالبداية مع PythonWeek 1Day 1 — run Python, hold values, and echo a synthetic age

مواد تعلّم مفتوحة للدراسة المستقلة. يبقى التقدم غير الرسمي في هذا المتصفح فقط، وقد يُمحى عند مسح بيانات تخزين المتصفح. لا يُنشأ هنا حساب أو سجل حضور أو درجة أو نتيجة مساق رسمية.Open learning materials for independent study. Unofficial progress stays only in this browser and can be erased if browser storage is cleared. No account, attendance record, score, or official course result is created here.

تنزيلات المساقCourse downloads

إصدار الحلSolution release

يتوفر بعد التحقق ونافذة الاستدراك والإصدار المعتمد من المدرّبAvailable after the checkpoint, recovery window, and trainer-approved release

اليوم 1Day 1

اليوم الأول — تشغيل Python وحفظ القيم وإظهار عمر اصطناعيDay 1 — run Python, hold values, and echo a synthetic age

ملخص الشرائحSlide summary

الأهدافObjectives

  • شغّل ملف Python معروفاً باستخدام الأمر المناسب لنظام تشغيل المتعلم.Run one known Python file with the command for the learner's operating system.
  • تتبّع كيف يشير اسم المتغير إلى قيمة نصية قبل إجراء أي تحويل.Trace how a variable name refers to a text value before any conversion.
  • اقرأ عمراً مختلقاً واحداً وأظهره دون جمع أي حقل آخر عن المشارك.Read and echo one invented age without collecting another participant field.

المتطلبات المسبقةPrerequisites

  • أكمل الأسبوع صفر أو رتّب مسار دعم لفتح المحرر وتشغيل Python.Complete Week 0 or have an arranged support path for opening an editor and running Python.
  • استخدم حالات العمر الاصطناعية الثماني المنشورة فقط؛ ولا تدخل عمر شخص حقيقي أبداً.Use only the eight published synthetic-age cases; never enter a real person's age.

الشروحاتExplanations

المتغير يضع اسماً لقيمةA variable labels a value

المتغير تسمية سهلة القراءة. في السطر الأول يستقبل raw_age المحارف التي تعيدها input؛ ويمكن أن تشير التسمية إلى قيمة مختلفة في تشغيل لاحق.A variable is a readable label. In the first line, raw_age receives whatever characters input returns; the label can refer to a different value on a later run.

تعيد input في Python نصاً. لذلك تبقى المحارف 16 نصاً في اليوم الأول؛ ونؤجل التحويل والتحقق عمداً إلى اليوم الثاني.Python input returns text. The characters 16 therefore remain text on Day 1; conversion and validation are deliberately left for Day 2.

أمثلةExamples
استخدم هذا التتبع الكامل دون اتخاذ قرار:
raw_age = "15" ← يحتوي raw_age النص "15"
raw_age = "16" ← يحتوي raw_age النص "16"
raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر"Use this complete trace without a decision:
raw_age = "15" -> raw_age contains text "15"
raw_age = "16" -> raw_age contains text "16"
raw_age = "ستة عشر" -> raw_age contains text "ستة عشر"

الإدخال يوقف التنفيذ مؤقتاً والمخرجات توضّح النتيجةInput pauses; output communicates

تعرض input طلباً عربياً واضحاً وتوقف التنفيذ حتى يدخل المتعلم القيمة الاصطناعية المقدمة. ثم تعرض print القيمة مع تسمية كي تكون النتيجة مفهومة.input displays a clear Arabic prompt and pauses until the learner enters the supplied synthetic value. print then displays a labelled echo so the result is understandable.

إظهار القيمة ليس تحققاً من صلاحيتها. سيُظهر برنامج اليوم النص الفارغ والكلمات العربية أيضاً؛ وتضيف الدروس اللاحقة التحويل المضبوط وفحص النطاق واتخاذ القرار.Echoing is not validation. Blank text and Arabic words will also be echoed today; later lessons add controlled conversion, range checks, and decisions.

أمثلةExamples
المصدر كما هو:
raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ")
print(f"القيمة الاصطناعية المدخلة: {raw_age}")
التشغيل الدقيق للقيمة 16:
أدخل عمراً اصطناعياً بالأرقام فقط: 16
القيمة الاصطناعية المدخلة: 16Exact source:
raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ")
print(f"القيمة الاصطناعية المدخلة: {raw_age}")
Exact run for 16:
أدخل عمراً اصطناعياً بالأرقام فقط: 16
القيمة الاصطناعية المدخلة: 16

الشرائحSlides

حدود عمل اليومToday's boundary

  • شغّل البرنامج واحفظ عمراً مختلقاً واحداً وأظهره؛ ولا تتحقق من الأهلية أو تقررها بعد.Run, store, and echo one invented age; do not validate or decide eligibility yet.

وضّح أن كل مثال يخص ورشة مجتمعية فلسطينية خيالية ويستخدم العمر فقط.State that every example concerns the fictional Palestinian community workshop and uses only age.

شغّل الملفRun the file

  • python3 age_echo.py على macOS؛ وpy age_echo.py في Windows PowerShell.python3 age_echo.py on macOS; py age_echo.py in Windows PowerShell.

أشر إلى بطاقة الأمر المناسبة لنظام تشغيل المتعلم.Point to the command card for the learner's operating system.

المصدر الآمن كما هوExact safe source

  • raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}")raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}")

اقرأ علامات الترقيم بصوت مسموع وتوقف بعد حفظ الملف.Read punctuation aloud and pause after the file is saved.

الاسم والقيمة والنوعName, value, type

  • ‏raw_age هو الاسم، و"16" هي القيمة الحالية، وstr هو النوع الحالي.raw_age is the name, "16" is the current value, and str is the current type.

استخدم صندوقاً واحداً مسمى؛ وبدّل محتواه في كل تشغيل اصطناعي.Use one labelled box; replace its contents for each synthetic run.

توقّع قبل التشغيلPredict before running

  • أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16

غطّ السطر الثاني واجمع التوقعات ثم اكشفه.Cover the second line, collect predictions, then reveal it.

حدود الخصوصيةPrivacy boundary

  • اجمع عمراً مختلقاً فقط. لا تطلب اسماً أو تاريخ ميلاد أو رقم هوية أو عنواناً أو بيانات تواصل.Collect only an invented age. Do not ask for a name, date of birth, identity number, address, or contact detail.

اطلب من المتعلمين فحص الطلب وتسمية الحقل الوحيد الذي يجمعه.Ask learners to inspect the prompt and name the single collected field.

التدريب الموجّهGuided practice

  • تتبّع هذه السطور الثلاثة واكتب اسم المتغير والقيمة كما هي والنوع str: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر"Trace these three rows and write the variable name, exact value, and type str: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر"
  • توقّع السطرين الظاهرين بعد إدخال 16، ثم شغّل python3 age_echo.py أو py age_echo.py وقارن مع: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16Predict the two lines shown after entering 16, then run python3 age_echo.py or py age_echo.py and compare with: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16

ورقة العملWorksheet

  1. سجّل في كل سطر مقدم اسم المتغير raw_age والنص المحفوظ كما هو والنوع str؛ ولا تضف عموداً للأهلية: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر"For each supplied row, record the variable name raw_age, the exact stored text, and type str; do not add an eligibility column: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر"مرجع الدليل: w1d1-trace-evidenceEvidence reference: w1d1-trace-evidence
  2. انسخ المصدر الدقيق المكوّن من سطرين، وضع دائرة حول أمر نظام التشغيل، وتوقّع تشغيل القيمة 16، ثم احفظ النص المطابق: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") python3 age_echo.py | py age_echo.py أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16Copy the exact two-line source, circle the operating-system command, predict the run for 16, then save the matching transcript: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") python3 age_echo.py | py age_echo.py أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16مرجع الدليل: w1d1-input-output-evidenceEvidence reference: w1d1-input-output-evidence

خطوات المختبرLab steps

  1. أنشئ age_echo.py واكتب ما يلي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}")Create age_echo.py and type exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}")
  2. شغّل python3 age_echo.py على macOS أو py age_echo.py في Windows PowerShell وأدخل العمر الاصطناعي المقدم 15.Run python3 age_echo.py on macOS or py age_echo.py in Windows PowerShell and enter the supplied synthetic age 15.
  3. شغّل مرة أخرى باستخدام 16 وتحقق من النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16Run again with 16 and verify exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16
  4. احفظ المصدر والنصوص الاصطناعية المحجوبة التفاصيل فقط؛ واشرح شفهياً أن raw_age ما زال نصاً وأن البرنامج لم يتخذ قرار أهلية.Save only the source and redacted synthetic transcripts; explain aloud that raw_age is still text and the program made no eligibility decision.

البيانات الاصطناعيةSynthetic data

الإدخال المقدمSupplied inputالنوع المتوقعExpected kind
correction
ستة عشرcorrection
-1correction
15not-eligible
16eligible
20eligible
120eligible
121correction

مسرد الإنجليزية التقنيةTechnical English glossary

  • اسم يشير إلى قيمة محفوظةvariable
  • المحتوى الذي يحفظه المتغيرvalue
  • قيمة يدخلها المستخدمinput
  • نص يعرضه البرنامجoutput
  • سلسلة محارف نصيةstring

الخصوصيةPrivacy

يجمع تمرين الورشة الخيالية عمراً مختلقاً فقط. لا تدخل أو تحفظ عمراً حقيقياً أو اسماً أو تاريخ ميلاد أو معرّفاً أو عنواناً أو بيانات تواصل أو بيانات دخول أو مساراً شخصياً.The fictional workshop exercise collects only an invented age. Do not enter or capture any real age, name, date of birth, identifier, address, contact detail, credential, or personal path.

ممارسة الذكاء الاصطناعيAI practice

يمكن للذكاء الاصطناعي شرح كلمات المتغير والنص والإدخال والمخرجات بعد أن يتوقع المتعلم التتبع. ولا يجوز تزويده ببيانات مشارك حقيقية، وعلى المتعلم كتابة الملف وتشغيله وشرحه بنفسه.AI may explain the words variable, string, input, and output after the learner predicts the trace. It may not receive real participant data, and the learner must type, run, and explain the file personally.

الاستدراكRecovery

خلال أسبوع واحد، أعد تشغيل الملف الدقيق المكوّن من سطرين باستخدام العمرين الاصطناعيين 15 و16، وأكمل جدول التتبع، واشرح للمدرّب المتغير والإدخال النصي والمخرجات؛ ثم قدّم دليلي التعلم نفسيهما.Within one week, rerun the exact two-line file with synthetic ages 15 and 16, complete the trace table, and explain variable, text input, and output to the trainer; submit the same two evidence items.

أخطاء شائعة ينبغي ملاحظتهاCommon errors to notice

  • يُحفظ الملف بامتداد غير صحيح أو يُشغّل الأمر من مجلد آخر.The file is saved with the wrong extension or the command is run from another folder.
  • يصف المتعلم المحارف 16 بأنها عدد مع أن input أعادت نصاً.The learner describes the characters 16 as a number even though input returned text.
  • يُوسّع الطلب ليجمع اسماً أو حقلاً آخر غير ضروري عن المشارك.A prompt is expanded to ask for a name or another unnecessary participant field.
دليلي التعلّمي المُبلّغ عنه ذاتياًMy self-reported learning evidence

يُحفظ في هذا المتصفح فقط لدعم تعلّمك الشخصي. ليس حضوراً ولا درجة ولا نتيجة تحقق ولا سجلاً لشهادة.Saved only in this browser to support your own learning. It is not attendance, a score, a checkpoint result, or a certificate record.

جارٍ تحميل ملاحظاتك التعليمية المحلية…Loading your local learning notes…

اليوم 2Day 2

اليوم الثاني — تحويل النص والتحقق من نطاق العمرDay 2 — convert text and validate the age range

ملخص الشرائحSlide summary

الأهدافObjectives

  • ميّز بين النص الخام والعدد الصحيح بعد التحويل.Distinguish raw text from a converted whole number.
  • اشرح ValueError وتعامل معه دون كشف مخرجات خاصة.Explain and handle a ValueError without exposing private output.
  • ارفض القيم الاصطناعية الفارغة والمكتوبة بالكلمات والسالبة والأكبر من 120 برسائل تصحيح عربية قابلة للتنفيذ.Reject blank, word, negative, and over-120 synthetic values with actionable Arabic correction messages.

المتطلبات المسبقةPrerequisites

  • تمكّن من تشغيل ملف إظهار العمر في اليوم الأول وشرحه، أو استخدم دعم الاستدراك المرتب.Be able to run and explain the Day 1 age-echo file, or use the arranged recovery support.
  • استخدم الأعمار الاصطناعية المنشورة فقط، وأبقِ كل لقطة خالية من المسارات الشخصية.Use the published synthetic ages only and keep every capture free of personal paths.

الشروحاتExplanations

قد يفشل التحويلConversion can fail

تحوّل int النص الذي يمثل عدداً صحيحاً. لا يمثل الإدخال الفارغ والكلمتان العربيتان «ستة عشر» أرقاماً لهذا البرنامج، لذلك تثير int الخطأ ValueError.int converts text representing a whole number. Blank input and the Arabic words ستة عشر do not represent digits for this program, so int raises ValueError.

تحتوي try عملية التحويل التي قد تفشل. وتطبع except ValueError تصحيحاً مباشراً وتمنع ظهور تتبع خطأ خام بوصفه نتيجة للمستخدم.try contains the risky conversion. except ValueError prints one direct correction and prevents a raw traceback from becoming the learner-facing result.

أمثلةExamples
النص المتوقع للإدخال الفارغ:
أدخل عمراً اصطناعياً من 0 إلى 120: 
تصحيح: أدخل العمر بالأرقام فقط.Blank expected transcript:
أدخل عمراً اصطناعياً من 0 إلى 120: 
تصحيح: أدخل العمر بالأرقام فقط.

نجاح التحويل وحده لا يكفيConversion success is not enough

يمكن تحويل النصين -1 و121 إلى عددين صحيحين، لكن هذا التمرين يقبل النطاق الشامل من 0 إلى 120 فقط. ويحمي شرط منفصل هذا الحد.The text -1 and 121 can be converted to integers, but this exercise accepts only the inclusive range from 0 through 120. A separate condition protects that boundary.

قيمة العمر الصالحة ليست قرار أهلية بعد. ينتهي اليوم الثاني بعد الإبلاغ بأن القيمة قابلة للاستخدام؛ ويُتعلّم قرار الورشة بصورة منفصلة في اليوم الثالث.A valid age value is not yet an eligibility result. Day 2 ends after reporting that the value is usable; the workshop decision is learned separately on Day 3.

أمثلةExamples
تصحيح تجاوز الحد الأعلى:
أدخل عمراً اصطناعياً من 0 إلى 120: 121
تصحيح: أدخل عمراً من 0 إلى 120.
مثال القيمة الصالحة:
أدخل عمراً اصطناعياً من 0 إلى 120: 16
قيمة عمر صالحة: 16Upper-range correction:
أدخل عمراً اصطناعياً من 0 إلى 120: 121
تصحيح: أدخل عمراً من 0 إلى 120.
Valid-value example:
أدخل عمراً اصطناعياً من 0 إلى 120: 16
قيمة عمر صالحة: 16

الشرائحSlides

مسار التحققValidation pipeline

  • نص خام ← محاولة تحويل إلى عدد صحيح ← فحص النطاق الشامل ← رسالة تصحيح أو قيمة صالحة.Raw text → attempted integer conversion → inclusive range check → correction or valid-value message.

أبقِ الأهلية خارج المخطط.Keep eligibility outside the diagram.

النص مقابل العدد الصحيحText versus integer

  • ‏raw_age = "16" نوعه str؛ وتعيد int(raw_age) القيمة 16 من النوع int.raw_age = "16" has type str; int(raw_age) returns 16 with type int.

استخدم لونين مختلفين لبطاقتي القيمة الخام والمحولة.Use different card colours for raw and converted values.

تحويل آمنSafe conversion

  • raw_age = input("أدخل عمراً اصطناعياً من 0 إلى 120: ") try: age = int(raw_age) except ValueError: print("تصحيح: أدخل العمر بالأرقام فقط.") else: if age < 0 or age > 120: print("تصحيح: أدخل عمراً من 0 إلى 120.") else: print(f"قيمة عمر صالحة: {age}")raw_age = input("أدخل عمراً اصطناعياً من 0 إلى 120: ") try: age = int(raw_age) except ValueError: print("تصحيح: أدخل العمر بالأرقام فقط.") else: if age < 0 or age > 120: print("تصحيح: أدخل عمراً من 0 إلى 120.") else: print(f"قيمة عمر صالحة: {age}")

اقرأ مستويات المسافة البادئة وتوقف قبل مناقشة أي قاعدة للورشة.Read indentation levels and stop before discussing any workshop rule.

تصحيح تحويل قابل للتنفيذActionable conversion correction

  • تصحيح: أدخل العمر بالأرقام فقط.تصحيح: أدخل العمر بالأرقام فقط.

اسأل عمّا ينبغي للمستخدم فعله تالياً؛ ويجب أن تأتي الإجابة مباشرة من الرسالة.Ask what the learner should do next; the answer must come directly from the message.

نطاق شامل للحدينInclusive range

  • يقبل فحص النطاق القيمتين 0 و120؛ وتتلقى القيمتان -1 و121 تصحيح النطاق.0 and 120 are accepted by the range check; -1 and 121 receive the range correction.

أشر إلى نقطتي النهاية المغلقتين على خط الأعداد.Point to both closed endpoints on the number line.

أدلة بلا بيانات خاصةEvidence without private data

  • احفظ المصدر والإدخال المقدم والنتيجة العربية وتسمية اختبار محايدة فقط.Capture only the source, supplied input, Arabic result, and neutral test label.

اعرض اقتصاصاً يستبعد عنوان الطرفية والمجلدات الشخصية.Show a crop that excludes the terminal title and personal folders.

التدريب الموجّهGuided practice

  • املأ أربعة أعمدة—الإدخال الخام ونتيجة التحويل ونتيجة النطاق والمخرجات الدقيقة—لكل سطر: الإدخال "" ← تثير int الخطأ ValueError ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← تثير int الخطأ ValueError ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← تعيد int القيمة -1 ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← تعيد int القيمة 15 ← قيمة عمر صالحة: 15 الإدخال "16" ← تعيد int القيمة 16 ← قيمة عمر صالحة: 16 الإدخال "20" ← تعيد int القيمة 20 ← قيمة عمر صالحة: 20 الإدخال "120" ← تعيد int القيمة 120 ← قيمة عمر صالحة: 120 الإدخال "121" ← تعيد int القيمة 121 ← تصحيح: أدخل عمراً من 0 إلى 120.Fill four columns—raw input, conversion result, range result, exact output—for every row: input "" -> int raises ValueError -> تصحيح: أدخل العمر بالأرقام فقط. input "ستة عشر" -> int raises ValueError -> تصحيح: أدخل العمر بالأرقام فقط. input "-1" -> int gives -1 -> تصحيح: أدخل عمراً من 0 إلى 120. input "15" -> int gives 15 -> قيمة عمر صالحة: 15 input "16" -> int gives 16 -> قيمة عمر صالحة: 16 input "20" -> int gives 20 -> قيمة عمر صالحة: 20 input "120" -> int gives 120 -> قيمة عمر صالحة: 120 input "121" -> int gives 121 -> تصحيح: أدخل عمراً من 0 إلى 120.
  • شغّل حالتي الإدخال الفارغ و121، ثم قارن بدقة مع: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120.Run the blank and 121 cases, then compare exactly with: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120.

ورقة العملWorksheet

  1. أكمل أعمدة الإدخال الخام ونتيجة int أو ValueError ونتيجة النطاق والمخرجات الدقيقة للسطور الثمانية المقدمة: الإدخال "" ← تثير int الخطأ ValueError ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← تثير int الخطأ ValueError ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← تعيد int القيمة -1 ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← تعيد int القيمة 15 ← قيمة عمر صالحة: 15 الإدخال "16" ← تعيد int القيمة 16 ← قيمة عمر صالحة: 16 الإدخال "20" ← تعيد int القيمة 20 ← قيمة عمر صالحة: 20 الإدخال "120" ← تعيد int القيمة 120 ← قيمة عمر صالحة: 120 الإدخال "121" ← تعيد int القيمة 121 ← تصحيح: أدخل عمراً من 0 إلى 120.Complete the raw-input, int-result-or-ValueError, range-result, and exact-output columns for these eight supplied rows: input "" -> int raises ValueError -> تصحيح: أدخل العمر بالأرقام فقط. input "ستة عشر" -> int raises ValueError -> تصحيح: أدخل العمر بالأرقام فقط. input "-1" -> int gives -1 -> تصحيح: أدخل عمراً من 0 إلى 120. input "15" -> int gives 15 -> قيمة عمر صالحة: 15 input "16" -> int gives 16 -> قيمة عمر صالحة: 16 input "20" -> int gives 20 -> قيمة عمر صالحة: 20 input "120" -> int gives 120 -> قيمة عمر صالحة: 120 input "121" -> int gives 121 -> تصحيح: أدخل عمراً من 0 إلى 120.مرجع الدليل: w1d2-conversion-evidenceEvidence reference: w1d2-conversion-evidence
  2. اكتب ملف التحقق فقط وشغّله: raw_age = input("أدخل عمراً اصطناعياً من 0 إلى 120: ") try: age = int(raw_age) except ValueError: print("تصحيح: أدخل العمر بالأرقام فقط.") else: if age < 0 or age > 120: print("تصحيح: أدخل عمراً من 0 إلى 120.") else: print(f"قيمة عمر صالحة: {age}") احفظ النصوص المطابقة للإدخال الفارغ و-1 و16 و121؛ واذكر لماذا لا تمثل رسالة القيمة المقبولة قرار أهلية.Type and run this validation-only file: raw_age = input("أدخل عمراً اصطناعياً من 0 إلى 120: ") try: age = int(raw_age) except ValueError: print("تصحيح: أدخل العمر بالأرقام فقط.") else: if age < 0 or age > 120: print("تصحيح: أدخل عمراً من 0 إلى 120.") else: print(f"قيمة عمر صالحة: {age}") Save matching transcripts for blank input, -1, 16, and 121; state why the accepted-value message is not an eligibility decision.مرجع الدليل: w1d2-validation-evidenceEvidence reference: w1d2-validation-evidence

خطوات المختبرLab steps

  1. أنشئ validate_age.py بالنص التالي كما هو: raw_age = input("أدخل عمراً اصطناعياً من 0 إلى 120: ") try: age = int(raw_age) except ValueError: print("تصحيح: أدخل العمر بالأرقام فقط.") else: if age < 0 or age > 120: print("تصحيح: أدخل عمراً من 0 إلى 120.") else: print(f"قيمة عمر صالحة: {age}")Create validate_age.py with exactly: raw_age = input("أدخل عمراً اصطناعياً من 0 إلى 120: ") try: age = int(raw_age) except ValueError: print("تصحيح: أدخل العمر بالأرقام فقط.") else: if age < 0 or age > 120: print("تصحيح: أدخل عمراً من 0 إلى 120.") else: print(f"قيمة عمر صالحة: {age}")
  2. شغّل python3 validate_age.py أو py validate_age.py بإدخال فارغ ثم «ستة عشر»؛ وتحقق من تصحيح استخدام الأرقام فقط.Run python3 validate_age.py or py validate_age.py with blank input and ستة عشر; verify the digit-only correction.
  3. شغّل -1 و121؛ وتحقق من تصحيح النطاق من 0 إلى 120. ثم شغّل 15 و16 و20 و120؛ وتحقق من رسالة القيمة الصالحة لكل منها.Run -1 and 121; verify the 0-to-120 correction. Run 15, 16, 20, and 120; verify each valid-value message.
  4. احفظ مصدر التحقق وثلاثة نصوص اصطناعية، بلا مسار شخصي وبلا نتيجة أهلية.Save the validation source and three synthetic transcripts, with no personal path and no eligibility result.

البيانات الاصطناعيةSynthetic data

الإدخال المقدمSupplied inputالنوع المتوقعExpected kind
correction
ستة عشرcorrection
-1correction
15not-eligible
16eligible
20eligible
120eligible
121correction

مسرد الإنجليزية التقنيةTechnical English glossary

  • فئة تحدد طبيعة القيمة وعملياتهاtype
  • عدد صحيح بلا جزء عشريinteger
  • تحويل قيمة من نوع إلى آخرconvert
  • حالة خطأ يمكن للبرنامج التعامل معهاexception
  • مجموعة قيم بين حدين محددينrange

الخصوصيةPrivacy

اختبر الأعمار المختلقة الثمانية المقدمة فقط. لا تجمع أي حقل آخر، واقتصّ الأدلة لإزالة المجلدات الشخصية وعناوين الطرفية وبيانات الدخول ومحتوى الشاشة غير المتعلق بالعمل.Test only the eight supplied invented ages. Collect no other field, and crop evidence to remove personal folders, terminal titles, credentials, and unrelated screen content.

ممارسة الذكاء الاصطناعيAI practice

يمكن للذكاء الاصطناعي شرح ValueError أو النطاق الشامل بعد أن يكمل المتعلم جدول التحويل. وعلى المتعلم كتابة مثال التحقق النهائي واختباره بنفسه، وألا يشارك بيانات شخصية أو بيانات دخول أو مخرجات طرفية غير محجوبة.AI may explain ValueError or the inclusive range after the learner completes the conversion table. The learner must type and test the final validation example and must not share personal data, credentials, or unredacted terminal output.

الاستدراكRecovery

خلال أسبوع واحد، أكمل جدول التحويل ذي الأعمدة الأربعة الذي يقدمه المدرّب، وصحّح مسار تحويل أو نطاق واحداً فاشلاً، وأعد تشغيل الإدخال الفارغ و-1 و16 و121، ثم أعد تقديم دليلي التعلم نفسيهما.Within one week, complete the trainer-provided four-column conversion table, correct one failing conversion or range path, rerun blank, -1, 16, and 121, and resubmit the same two evidence items.

أخطاء شائعة ينبغي ملاحظتهاCommon errors to notice

  • تستخدم مقارنة النطاق raw_age قبل أن تحوله int.The range comparison uses raw_age before int converts it.
  • يُعالج فشل التحويل فقط، فتُوصف -1 أو 121 خطأ بأنها قابلة للاستخدام.Only conversion failure is handled, so -1 or 121 is incorrectly described as usable.
  • تقول رسالة التصحيح «غير صالح» فقط ولا تقدم إجراءً تالياً.The correction says only invalid and gives no next action.
دليلي التعلّمي المُبلّغ عنه ذاتياًMy self-reported learning evidence

يُحفظ في هذا المتصفح فقط لدعم تعلّمك الشخصي. ليس حضوراً ولا درجة ولا نتيجة تحقق ولا سجلاً لشهادة.Saved only in this browser to support your own learning. It is not attendance, a score, a checkpoint result, or a certificate record.

جارٍ تحميل ملاحظاتك التعليمية المحلية…Loading your local learning notes…

اليوم 3Day 3

اليوم الثالث — مقارنة الأعمار الصالحة واختيار نتيجة قابلة للتنفيذDay 3 — compare valid ages and choose an actionable result

ملخص الشرائحSlide summary

الأهدافObjectives

  • قيّم مقارنات أصغر من وأكبر من أو يساوي والحد الأعلى الشامل.Evaluate less-than, greater-than-or-equal, and inclusive upper-bound comparisons.
  • تتبّع مساراً واحداً متنافي الخيارات عبر if وelif وelse.Trace one mutually exclusive path through if, elif, and else.
  • أنتج نتائج عربية صحيحة وقابلة للتنفيذ دون حد العمر 16 وعنده وفوقه.Produce correct, actionable Arabic results below, at, and above the age-16 boundary.

المتطلبات المسبقةPrerequisites

  • اشرح الفرق في اليوم الثاني بين القيمة القابلة للاستخدام وقرار الأهلية.Explain the Day 2 distinction between a usable value and an eligibility decision.
  • في عرض القرار هذا، استبدل العمر المكتوب مباشرة بإحدى القيم 15 أو16 أو20 أو120 فقط؛ ولا تضف مسار التحقق المكتمل.For this decision demonstration, replace only the hard-coded age with 15, 16, 20, or 120; do not add the completed validation flow.

الشروحاتExplanations

الحد الدقيق مهمThe exact boundary matters

الحد الأدنى المنشور للورشة الخيالية هو 16. يكون التعبير age < 16 صحيحاً للقيمة 15 وخاطئاً للقيمة 16، بينما يشمل age >= 16 حالة المساواة.The fictional workshop's published minimum is 16. The expression age < 16 is true for 15 and false for 16, while age >= 16 includes equality.

تستخدم اختبارات الحدود القيمة الواقعة مباشرة دون الحد والقيمة الواقعة عنده تماماً؛ لأن معامل المقارنة غير الصحيح غالباً ما يفشل هناك أولاً.Boundary tests use the values immediately below and exactly at the threshold because a misplaced comparison operator often fails there first.

أمثلةExamples
15 < 16 -> True
16 < 16 -> False
16 >= 16 -> True
20 >= 16 -> True15 < 16 -> True
16 < 16 -> False
16 >= 16 -> True
20 >= 16 -> True

مسار واحد وخطوة تالية مفيدةOne path and a useful next step

تفحص Python شرط if أولاً. إذا كان صحيحاً تنفذ كتلته وتتجاوز elif وelse. وإذا كان خاطئاً تفحص elif؛ وتكون else المسار الاحتياطي الأخير في هذا العرض المنفصل.Python checks if first. If it is true, that block runs and elif and else are skipped. If it is false, Python checks elif; else is the final fallback in this isolated demonstration.

ينبغي أن تذكر النتيجة العربية القرار الخيالي والخطوة التالية المناسبة. ويجب ألا توحي بأنه جرى تقييم أهلية شخص حقيقي.An Arabic result should state the fictional decision and an appropriate next step. It must not imply that a real person's eligibility has been assessed.

أمثلةExamples
مخرجات ما دون الحد: غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.
مخرجات المؤهل: مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
المخرجات الاحتياطية: تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.Below-boundary output: غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.
Eligible output: مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
Fallback output: تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.

الشرائحSlides

القاعدة الخيالية المنشورةPublished fictional rule

  • تقبل الورشة المجتمعية الخيالية الأعمار الصالحة المقدمة من 16 حتى 120.The fictional community workshop accepts supplied valid ages from 16 through 120.

أكد أن هذه قاعدة تدريب خيالية وليست تقييماً لأهلية حقيقية.Emphasize that this is a fictional practice rule, not a real eligibility assessment.

نتائج المقارنةComparison results

  • 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True

أشر إلى علامة المساواة عندما تكون القيمة 16.Point to the equality sign when the value is 16.

عرض قرار لعمر صالحValid-age decision demonstration

  • age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.")age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.")

وضّح أن الإدخال والتحويل والتحقق المكتمل غائبة عمداً.State that input, conversion, and complete validation are intentionally absent.

تتبّع فرعاً واحداًTrace one branch

  • العمر 15 ← الشرط age < 16 نتيجته True ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. العمر 16 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. العمر 20 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. العمر 120 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.age 15 -> age < 16 is True -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. age 16 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. age 20 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. age 120 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.

اشطب كل فرع يلي الفرع المختار.Cross out every branch after the selected one.

عربية قابلة للتنفيذActionable Arabic

  • غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.

ضع خطاً تحت القاعدة في الرسالة الأولى والخطوة التالية في الثانية.Underline the rule in the first message and the next step in the second.

دليل الحدBoundary evidence

  • احفظ تشغيلات منفصلة للقيم 15 و16 و20، مع إظهار سطر المصدر الذي يضبط القيمة الاصطناعية.Save distinct runs for 15, 16, and 20, with the source line that sets the synthetic value visible.

تحقق من أن الدليل لا يحتوي على أي حقل إدخال غير العمر المختلق.Check that evidence contains no input field beyond invented age.

التدريب الموجّهGuided practice

  • توقّع True أو False لكل مقارنة واشرح المساواة عند 16: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> TruePredict True or False for each comparison and explain equality at 16: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True
  • لكل عمر صالح مقدم، سجّل أول شرط صحيح والفرع المختار والمخرجات العربية الدقيقة والإجراء التالي: العمر 15 ← الشرط age < 16 نتيجته True ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. العمر 16 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. العمر 20 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. العمر 120 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.For each valid supplied age, record the first true condition, selected branch, exact Arabic output, and next action: age 15 -> age < 16 is True -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. age 16 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. age 20 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. age 120 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.

ورقة العملWorksheet

  1. أكمل أربعة أعمدة—العمر ونتائج الشروط بالترتيب والفرع المختار والمخرجات الدقيقة—للقيم 15 و16 و20 و120. قارن مع: العمر 15 ← الشرط age < 16 نتيجته True ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. العمر 16 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. العمر 20 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. العمر 120 ← الشرط age < 16 نتيجته False؛ والشرط age <= 120 نتيجته True ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.Complete four columns—age, condition results in order, selected branch, exact output—for 15, 16, 20, and 120. Compare with: age 15 -> age < 16 is True -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. age 16 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. age 20 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. age 120 -> age < 16 is False; age <= 120 is True -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.مرجع الدليل: w1d3-decision-evidenceEvidence reference: w1d3-decision-evidence
  2. شغّل مثال العمر الصالح فقط بصورة منفصلة للقيم 15 و16 و20: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") احفظ كل مخرجات واشرح لماذا تختار القيمة 16 فرع المؤهل.Run this valid-age-only example separately for 15, 16, and 20: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") Save each output and explain why 16 selects the eligible branch.مرجع الدليل: w1d3-boundary-evidenceEvidence reference: w1d3-boundary-evidence

خطوات المختبرLab steps

  1. أنشئ decision_demo.py بالنص التالي كما هو: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.")Create decision_demo.py with exactly: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.")
  2. توقّع العمر 15 وشغّله؛ واحفظ رسالة ما دون الحد كما هي، وحدد أن الشرط الأول صحيح.Predict and run age 15; save the exact below-boundary message and identify the first condition as true.
  3. استبدل قيمة السطر الأول فقط بالقيمة 16 ثم20 ثم120؛ وتوقّع رسالة المؤهل واحفظها كما هي لكل تشغيل.Replace only the first-line value with 16, then 20, then 120; predict and save the exact eligible message for each run.
  4. اشرح سلوك الحد الدقيق دون إضافة كود الإدخال أو التحويل أو التحقق المكتمل إلى هذا العرض.Explain the exact-boundary behavior without adding input, conversion, or complete validation code to this demonstration.

البيانات الاصطناعيةSynthetic data

الإدخال المقدمSupplied inputالنوع المتوقعExpected kind
correction
ستة عشرcorrection
-1correction
15not-eligible
16eligible
20eligible
120eligible
121correction

مسرد الإنجليزية التقنيةTechnical English glossary

  • تعبير يقارن بين قيمتينcomparison
  • شرط تكون نتيجته صحيحة أو خاطئةcondition
  • مسار ينفذ عند تحقق شرطbranch
  • قيمة فاصلة يتغير عندها القرارboundary
  • مؤهل وفق القاعدة الخيالية المنشورةeligible

الخصوصيةPrivacy

يستخدم عرض القرار أعماراً مختلقة مكتوبة في الكود من قائمة الحالات المنشورة فقط. لا تطلب أو تسجل أي تفاصيل حقيقية عن مشارك، ولا تعامل المخرجات بوصفها قراراً واقعياً.The decision demonstration uses only hard-coded invented ages from the published case list. Do not ask for or record any real participant detail or treat output as a real-world decision.

ممارسة الذكاء الاصطناعيAI practice

يمكن للذكاء الاصطناعي شرح مقارنة واحدة بعد أن يكمل المتعلم جدول القرار. ولا يجوز أن ينشئ مسار التحقق المكتمل؛ ويكتب المتعلم كل فرع ويشغله ويشرحه، ولا يشارك بيانات شخصية أو بيانات دخول.AI may explain one comparison after the learner completes the decision table. It must not generate the integrated checkpoint flow; the learner types, runs, and explains every branch and shares no personal data or credentials.

الاستدراكRecovery

خلال أسبوع واحد، أكمل جدول القرار الذي يقدمه المدرّب للقيم 15 و16 و20، وصحّح مقارنة أو مسار فرع واحداً، وأعد تشغيل عروض الأعمار الصالحة الثلاثة نفسها، ثم أعد تقديم الدليلين.Within one week, complete the trainer-provided decision table for 15, 16, and 20, correct one comparison or branch path, rerun the same three valid-age demonstrations, and resubmit both evidence items.

أخطاء شائعة ينبغي ملاحظتهاCommon errors to notice

  • يستخدم الشرط الأول age <= 16، فيضع الحد الدقيق خطأ في مسار ما دون الحد.The first condition uses age <= 16, which incorrectly puts the exact boundary in the below-threshold path.
  • تُستخدم تعليمات if منفصلة، فيمكن أن تُطبع أكثر من رسالة لقيمة واحدة.Separate if statements are used, so more than one message can print for one value.
  • تذكر المخرجات العربية نتيجة لكنها تغفل القاعدة أو الإجراء التالي.The Arabic output states a result but omits the rule or next action.
دليلي التعلّمي المُبلّغ عنه ذاتياًMy self-reported learning evidence

يُحفظ في هذا المتصفح فقط لدعم تعلّمك الشخصي. ليس حضوراً ولا درجة ولا نتيجة تحقق ولا سجلاً لشهادة.Saved only in this browser to support your own learning. It is not attendance, a score, a checkpoint result, or a certificate record.

جارٍ تحميل ملاحظاتك التعليمية المحلية…Loading your local learning notes…

اليوم 4Day 4

اليوم الرابع — الدمج المقصود والاختبار والتصحيح وتوثيق مساعدة الذكاء الاصطناعيDay 4 — integrate deliberately, test, debug, and document AI help

ملخص الشرائحSlide summary

الأهدافObjectives

  • خطّط لترتيب الإدخال والتحويل والتحقق والقرار والمخرجات قبل تعديل ملف البداية غير المكتمل.Plan the order of input, conversion, validation, decision, and output before changing the incomplete starter.
  • استخدم حالات السلوك الثماني المقدمة للعثور على مسار فاشل واحد وتصحيحه.Use the eight supplied behavioral cases to find and correct one failing path.
  • احفظ سجل قرار آمن للخصوصية بشأن استخدام الذكاء الاصطناعي، واشرح كل اقتراح مقبول أو مرفوض.Preserve a privacy-safe AI decision log and explain every accepted or rejected suggestion.

المتطلبات المسبقةPrerequisites

  • أحضر أدلة الإدخال والمخرجات من اليوم الأول والتحقق من اليوم الثاني وجدول القرار من اليوم الثالث، دون إجابة مدمجة منسوخة.Bring Day 1 input/output, Day 2 validation, and Day 3 decision-table evidence, but not a copied integrated answer.
  • استخدم ملف البداية العام غير المكتمل والحالات الاصطناعية الثماني الدقيقة؛ ولا تستخدم سجل مشارك حقيقي أبداً.Use the public incomplete starter and the eight exact synthetic cases; never use a real participant record.

الشروحاتExplanations

ادمج المسؤوليات لا المقتطفاتIntegrate responsibilities, not snippets

للمسار الموثوق مسؤوليات مرتبة: الحصول على الحقل الوحيد المسموح، ومحاولة التحويل، ورفض القيمة غير الصالحة، واتخاذ القرار للقيمة الصالحة فقط، وطباعة نتيجة واحدة قابلة للتنفيذ.A dependable flow has ordered responsibilities: obtain the one permitted field, attempt conversion, reject an unusable value, decide only for a usable value, and print one actionable result.

يسمي ملف البداية العام هذه المسؤوليات لكنه يترك تنفيذها بعلامات TODO. يحافظ ذلك على فردية تحقق اليوم الخامس، مع توضيح حالة البداية والسلوك المتوقع دون غموض.The public starter names these responsibilities but leaves their implementation as TODO markers. This preserves an individual Day 5 checkpoint while making the starting state and expected behavior unambiguous.

أمثلةExamples
ملف البداية القابل للتشغيل وغير المكتمل ومخرجاته الحالية:
raw_age = input("أدخل عمراً اصطناعياً: ")
age = None
result = None

# TODO 1: convert raw_age safely
# TODO 2: reject values outside 0 through 120
# TODO 3: decide using the published age-16 boundary
# TODO 4: set one actionable Arabic result

print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")
أدخل عمراً اصطناعياً: 16
لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.Runnable incomplete starter and current output:
raw_age = input("أدخل عمراً اصطناعياً: ")
age = None
result = None

# TODO 1: convert raw_age safely
# TODO 2: reject values outside 0 through 120
# TODO 3: decide using the published age-16 boundary
# TODO 4: set one actionable Arabic result

print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")
أدخل عمراً اصطناعياً: 16
لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.

يحتاج التصحيح إلى دليل وملكية شخصيةA correction needs evidence and ownership

يبدأ التصحيح بفارق واحد بين السلوك المتوقع والفعلي. غيّر سبباً واحداً، وأعد تشغيل الحالة الفاشلة، ثم أعد تشغيل حالة قريبة ناجحة للتحقق من عدم حدوث تراجع.Debugging begins with one difference between expected and actual behavior. Change one cause, rerun the failed case, then rerun a nearby passing case to check for regression.

اقتراح الذكاء الاصطناعي ليس دليلاً. يسجل المتعلم الطلب المحجوب والاقتراح، ويقبله أو يرفضه مع السبب، ويختبر التغيير المختار، ويشرح السلوك النهائي بنفسه.An AI suggestion is not evidence. The learner records the redacted prompt and suggestion, accepts or rejects it with a reason, tests the chosen change, and explains the final behavior personally.

أمثلةExamples
عينة تصحيح الحد:
if age <= 16:
    print("غير مؤهل")
# الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible
# التشخيص: أُلحقت المساواة بالمسار غير الصحيح
# التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16
سجل قرار الذكاء الاصطناعي:
الطلب المحجوب بلا بيانات شخصية أو بيانات دخول:
الاقتراح المستلم:
القرار: مقبول أو مرفوض:
سبب القرار:
دليل الاختبار بعد القرار:
الشرح النهائي بصياغة المتعلم:Boundary debugging sample:
if age <= 16:
    print("غير مؤهل")
# input 16: actual kind not-eligible; expected kind eligible
# diagnosis: equality is attached to the wrong path
# correction to try: compare the below-boundary path with age < 16
AI-decision log:
Prompt (redacted, no personal data or credentials):
Suggestion received:
Decision: accepted or rejected:
Reason for the decision:
Test evidence after the decision:
Final explanation in the learner's own words:

الشرائحSlides

خمس مسؤولياتFive responsibilities

  • إدخال ← تحويل ← تحقق ← قرار ← مخرجات عربية قابلة للتنفيذ.Input → conversion → validation → decision → actionable Arabic output.

اسأل عما يجب أن يتوقف عند فشل التحويل أو التحقق.Ask what must stop when conversion or validation fails.

حدود ملف البداية العامPublic starter boundary

  • raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")

شغّله وأبقِ كل علامة TODO ظاهرة على الشاشة.Run it and preserve every TODO on screen.

ثمانية سلوكيات مقدمةEight supplied behaviors

  • الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120.input "" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "ستة عشر" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "-1" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120. input "15" -> not-eligible -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. input "16" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "20" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "120" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "121" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120.

اجمع السطور وفق مسارات التحويل والنطاق وما دون الحد والمؤهل.Group rows by conversion, range, below-boundary, and eligible paths.

المتوقع والفعلي والتشخيصExpected, actual, diagnosis

  • if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16if age <= 16: print("غير مؤهل") # input 16: actual kind not-eligible; expected kind eligible # diagnosis: equality is attached to the wrong path # correction to try: compare the below-boundary path with age < 16

لا تكشف أي كود يتجاوز تصحيح المقارنة المنفصلة الواحدة.Do not reveal any code beyond the one isolated comparison correction.

سجل قرار الذكاء الاصطناعيAI decision log

  • الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم:Prompt (redacted, no personal data or credentials): Suggestion received: Decision: accepted or rejected: Reason for the decision: Test evidence after the decision: Final explanation in the learner's own words:

ميّز بين الاقتراح وقرار المتعلم المختبر.Distinguish the suggestion from the learner's tested decision.

فحص الأدلة والخصوصيةEvidence and privacy check

  • المصدر والإدخال الاصطناعي والنوع المتوقع والمخرجات الفعلية والتصحيح وإعادة الاختبار وقرار الذكاء الاصطناعي والشرح الشخصي—دون أي حقل آخر عن المشارك.Source, synthetic input, expected kind, actual output, correction, retest, AI decision, and personal explanation—no other participant field.

نفّذ فحصاً ظاهراً للاقتصاص والحجب قبل الحفظ.Perform a visible crop and redaction check before saving.

التدريب الموجّهGuided practice

  • شخّص عينة الحد باستخدام الإدخال الفاشل والنوع المتوقع والنوع الفعلي والتعبير المسؤول وتصحيح واحد وإدخال الاختبار الرجعي 15: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16Diagnose the boundary sample using failed input, expected kind, actual kind, responsible expression, one correction, and regression input 15: if age <= 16: print("غير مؤهل") # input 16: actual kind not-eligible; expected kind eligible # diagnosis: equality is attached to the wrong path # correction to try: compare the below-boundary path with age < 16
  • شخّص عينة التحويل، ثم أكمل كل حقل في سجل الذكاء الاصطناعي لسؤال صياغة خيالي دون إضافة بيانات شخصية أو بيانات دخول: age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذ الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم:Diagnose the conversion sample, then complete every AI-log field for a fictional syntax question without adding any personal data or credential: age = int(raw_age) # input "": actual ValueError; expected kind correction # diagnosis: risky conversion has no controlled error path # correction to try: guard conversion and print an actionable Arabic correction Prompt (redacted, no personal data or credentials): Suggestion received: Decision: accepted or rejected: Reason for the decision: Test evidence after the decision: Final explanation in the learner's own words:

ورقة العملWorksheet

  1. لسطر معطوب مقدم واحد، سجّل الإدخال الفاشل والسلوك المتوقع والسلوك الفعلي والسطر المسؤول وتصحيحاً واحداً وإعادة اختبار الحالة الفاشلة ونتيجة اختبار حالة مجاورة: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذFor one supplied broken sample, record failed input, expected behavior, actual behavior, responsible line, one correction, failed-case retest, and neighboring-case regression result: if age <= 16: print("غير مؤهل") # input 16: actual kind not-eligible; expected kind eligible # diagnosis: equality is attached to the wrong path # correction to try: compare the below-boundary path with age < 16 age = int(raw_age) # input "": actual ValueError; expected kind correction # diagnosis: risky conversion has no controlled error path # correction to try: guard conversion and print an actionable Arabic correctionمرجع الدليل: w1d4-debug-evidenceEvidence reference: w1d4-debug-evidence
  2. احفظ كل حقل لأي مساعدة من الذكاء الاصطناعي؛ واكتب «لم يُستخدم الذكاء الاصطناعي» في حقلي الطلب والاقتراح عند انطباق ذلك، ولا تدرج بيانات شخصية أو بيانات دخول أبداً: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم:Preserve every field for any AI help; write “no AI used” in the prompt and suggestion fields when applicable, and never include personal data or credentials: Prompt (redacted, no personal data or credentials): Suggestion received: Decision: accepted or rejected: Reason for the decision: Test evidence after the decision: Final explanation in the learner's own words:مرجع الدليل: w1d4-ai-review-evidenceEvidence reference: w1d4-ai-review-evidence

خطوات المختبرLab steps

  1. افتح integration.py وتحقق من حالة البداية العامة ومخرجاتها كما هي: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.") أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.Open integration.py and verify the public starting state and output exactly: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.") أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.
  2. ارسم المسار ذي المراحل الخمس، واربط كل حالة من الحالات الثماني المقدمة بالمرحلة والمسار اللذين تختبرهما قبل التعديل.Draw the five-stage flow and assign each of the eight supplied cases to the stage and path it tests before editing.
  3. اعمل بصورة فردية على مسودة، وشغّل الحالات بالترتيب المخطط، وسجّل السلوك المتوقع مقابل الفعلي لأول فشل.Work individually on a draft, run cases in the planned order, and record expected versus actual behavior for the first failure.
  4. صحّح مساراً فاشلاً واحداً، وأعد تشغيله وتشغيل حالة مجاورة، وأكمل سجل قرار الذكاء الاصطناعي، واحفظ أدلة محجوبة؛ ولا توزع تنفيذاً مدمجاً.Correct one failing path, rerun it and a neighboring case, complete the AI decision log, and save redacted evidence; do not distribute an integrated implementation.

البيانات الاصطناعيةSynthetic data

الإدخال المقدمSupplied inputالنوع المتوقعExpected kind
correction
ستة عشرcorrection
-1correction
15not-eligible
16eligible
20eligible
120eligible
121correction

مسرد الإنجليزية التقنيةTechnical English glossary

  • ربط مسؤوليات منفصلة في مسار واحدintegrate
  • إدخال محدد مع سلوك متوقعtest case
  • السلوك الذي ينبغي أن يحدثexpected
  • السلوك الذي حدث عند التشغيلactual
  • تشخيص سبب الخلل وتصحيحه بالدليلdebug
  • خلل جديد يظهر بعد تغيير سابقregression

الخصوصيةPrivacy

استخدم سلاسل العمر الثماني المقدمة فقط. وقبل الاختبارات أو لقطات الشاشة أو طلبات المساعدة أو طلبات الذكاء الاصطناعي، أزل الأسماء والأعمار الحقيقية والتواريخ والمعرّفات وبيانات التواصل وبيانات الدخول والمسارات الشخصية والرسائل الخاصة وسجل الطرفية غير المتعلق بالعمل.Use only the eight supplied age strings. Before tests, screenshots, help requests, or AI prompts, remove names, real ages, dates, identifiers, contact details, credentials, personal paths, private messages, and unrelated terminal history.

ممارسة الذكاء الاصطناعيAI practice

يجب أن يحفظ المتعلم الطلب المحجوب والاقتراح وقرار القبول أو الرفض وسببه ودليل الاختبار والشرح النهائي. لا تشارك بيانات شخصية أو بيانات دخول أبداً، ولا تقبل اقتراحاً دون اختباره وشرحه بنفسك.The learner must preserve the redacted prompt, suggestion, accepted or rejected decision, reason, test evidence, and final explanation. Never share personal data or credentials, and never accept a suggestion without personally testing and explaining it.

الاستدراكRecovery

خلال أسبوع واحد، استخدم جدول الإدخال والمخرجات المتوقعة الذي يقدمه المدرّب، وصحّح مساراً فاشلاً واحداً في مسودة فردية، وأعد تشغيل الحالة الفاشلة والمجاورة، وأكمل سجل قرار الذكاء الاصطناعي، ثم أعد تقديم دليلي التصحيح ومراجعة الذكاء الاصطناعي نفسيهما.Within one week, use the trainer-provided input/expected-output table, correct one failing path in an individual draft, rerun the failed and neighboring cases, complete the AI decision log, and resubmit the same debug and AI-review evidence.

أخطاء شائعة ينبغي ملاحظتهاCommon errors to notice

  • يغيّر المتعلم عدة مراحل قبل تشغيل حالة فاشلة مركزة، فلا يمكن عزل السبب.The learner changes several stages before running a focused failing case, so the cause cannot be isolated.
  • يُعاد تشغيل الحالة المصححة فقط، فيمكن أن يتراجع مسار مجاور دون ملاحظة.Only the corrected case is rerun, so a neighboring path can regress unnoticed.
  • يُنسخ اقتراح الذكاء الاصطناعي دون قرار مسجل أو نتيجة اختبار أو شرح من المتعلم.An AI suggestion is copied without a recorded decision, test result, or learner explanation.
دليلي التعلّمي المُبلّغ عنه ذاتياًMy self-reported learning evidence

يُحفظ في هذا المتصفح فقط لدعم تعلّمك الشخصي. ليس حضوراً ولا درجة ولا نتيجة تحقق ولا سجلاً لشهادة.Saved only in this browser to support your own learning. It is not attendance, a score, a checkpoint result, or a certificate record.

جارٍ تحميل ملاحظاتك التعليمية المحلية…Loading your local learning notes…

اليوم 5Day 5

اليوم الخامس — البناء الفردي وأدلة التحقق وخطة الاستدراكDay 5 — individual build, checkpoint evidence, and recovery plan

ملخص الشرائحSlide summary

الأهدافObjectives

  • خطّط وابنِ بصورة فردية مساعد الورشة المجتمعية الخيالية انطلاقاً من ملف البداية غير المكتمل.Individually plan and build the fictional community-workshop helper from the incomplete starter.
  • اعرض مسارات التصحيح وما دون الحد والحد الدقيق والمؤهل باستخدام الأعمار الاصطناعية المقدمة فقط.Demonstrate correction, below-boundary, exact-boundary, and eligible paths using only supplied synthetic ages.
  • اشرح المصدر والأدلة وقرارات الذكاء الاصطناعي وأي إجراء استدراك خلال أسبوع واحد دون مساعدة خارجية.Explain the source, evidence, AI decisions, and any one-week recovery action without outside assistance.

المتطلبات المسبقةPrerequisites

  • أحضر نسخة نظيفة من ملف البداية العام غير المكتمل التالي كما هو، والحالات الثماني المقدمة، وجدول قرار فارغاً، وأدلتك الشخصية من الأيام الأول حتى الرابع: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")Bring a clean copy of this exact public incomplete starter, the eight supplied cases, a blank decision table, and the learner's own Day 1–4 evidence: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")
  • التحقق فردي: لا تتبادل الكود ولا تستخدم إجابة مكتملة ولا تتلق تنفيذاً مباشراً من شخص آخر أو من الذكاء الاصطناعي.The checkpoint is individual: do not exchange code, use a completed answer, or receive live implementation from another person or AI.

الشروحاتExplanations

يقيّم التحقق سلوكاً مكتملًا بصورة فرديةThe checkpoint evaluates a complete behavior, individually

يبدأ المتعلم من ملف البداية العام غير المكتمل نفسه كما هو، ويمكنه الرجوع إلى الدروس المنشورة وأدلته الشخصية. تبقى كل TODO دون حل عند التوزيع؛ وتظل قرارات التنفيذ والاختبار والشرح الملاحظ عملاً فردياً: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")The learner begins from the same exact incomplete public starter and may consult the published lessons and personal evidence. Every TODO remains unresolved at distribution; implementation decisions, testing, and observed explanation remain individual: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")

يتطلب الاكتمال معالجة الإدخال غير الصالح، والنتيجة الصحيحة دون حد العمر 16 وعنده، ونتيجة مفيدة فوق الحد، ومخرجات عربية توضح للمستخدم الخيالي ما يفعله تالياً.Completion requires controlled invalid input, the correct result below and at the age-16 boundary, a useful result above the boundary, and Arabic output that tells the fictional user what to do next.

أمثلةExamples
السلوك المطلوب منشور ودقيق؛ أما التنفيذ فيظل عمل المتعلم:
الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط.
الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط.
الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120.
الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.
الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120.The required behavior is public and exact; the implementation remains the learner's work:
input "" -> correction -> تصحيح: أدخل العمر بالأرقام فقط.
input "ستة عشر" -> correction -> تصحيح: أدخل العمر بالأرقام فقط.
input "-1" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120.
input "15" -> not-eligible -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.
input "16" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
input "20" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
input "120" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
input "121" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120.

تثبت الأدلة المسارات ويصلح الاستدراك مساراً واحداًEvidence proves paths; recovery repairs one path

تجمع الأدلة بين المصدر الفردي والتشغيلات المركزة. وتجعل اللقطات المنفصلة ادعاءات المسار غير الصالح والحد والمؤهل وقرار الذكاء الاصطناعي والشرح قابلة للمراجعة دون جمع بيانات مشارك.Evidence combines the individual source with focused runs. Separate captures make the invalid, boundary, eligible, AI-decision, and explanation claims auditable without collecting participant data.

إذا لم يكتمل معيار واحد، يكون الاستدراك مركزاً لا عقابياً: استخدم جدول الإدخال والمخرجات المتوقعة الذي يقدمه المدرّب، وصحّح مساراً فاشلاً واحداً، وأعد تقديم الأدلة نفسها خلال أسبوع واحد.If one criterion is incomplete, recovery is targeted rather than punitive: use a trainer-provided input/expected-output table, correct one failing path, and resubmit the same evidence within one week.

أمثلةExamples
w1-source-evidence — دليل المصدر الفردي مع إمكانية تحديد المسؤوليات
w1-invalid-evidence — دليل لتصحيح الإدخال الفارغ أو المكتوب بالكلمات، مع تصحيح واحد للنطاق
w1-boundary-evidence — دليل تشغيل منفصل للقيمة 15 وللقيمة 16 عند الحد الدقيق
w1-eligible-evidence — دليل تشغيل لقيمة مؤهلة مقدمة فوق 16
w1-ai-log-evidence — دليل يحفظ الطلب والاقتراح والقرار والسبب والاختبار والشرح النهائي، أو يسجل صراحةً عدم استخدام الذكاء الاصطناعي
w1-explanation-evidence — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحدw1-source-evidence — individual source with responsibilities identifiable
w1-invalid-evidence — blank or Arabic-word correction plus one range correction
w1-boundary-evidence — separate runs for 15 and exact boundary 16
w1-eligible-evidence — a supplied eligible run above 16
w1-ai-log-evidence — prompt, suggestion, decision, reason, test evidence, final explanation; or explicit no-AI record
w1-explanation-evidence — observed individual explanation of input, validation, branch, output, and one correction

الشرائحSlides

حدود التحقق الفرديIndividual checkpoint boundary

  • ملف البداية غير المكتمل والسلوك المنشور نفسيهما؛ والتنفيذ والاختبار والشرح أعمال شخصية.Same incomplete starter and public behavior; personal implementation, testing, and explanation.

اشرح المراجع المسموحة وتبادل الكود المحظور قبل فتح الملفات.Explain permitted references and prohibited code exchange before files are opened.

خطّط قبل كتابة الكودPlan before code

  • حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط:Allowed input field: synthetic age only Stage 1 — read raw text: Stage 2 — convert or produce correction: Stage 3 — enforce inclusive range 0 through 120: Stage 4 — apply the fictional minimum-age boundary 16: Stage 5 — print one actionable Arabic result: Planned test order:

وزّع نسخة فارغة؛ ولا تملأ أي حقل تنفيذ.Issue a blank copy; do not fill any implementation field.

حالات السلوك الدقيقةExact behavioral cases

  • الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120.input "" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "ستة عشر" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "-1" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120. input "15" -> not-eligible -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. input "16" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "20" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "120" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "121" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120.

سمِّ تغطية التصحيح وغير المؤهل والمؤهل والحد الدقيق.Name correction, not-eligible, eligible, and exact-boundary coverage.

معرّفات الأدلة الستةSix evidence IDs

  • w1-source-evidence — دليل المصدر الفردي مع إمكانية تحديد المسؤوليات w1-invalid-evidence — دليل لتصحيح الإدخال الفارغ أو المكتوب بالكلمات، مع تصحيح واحد للنطاق w1-boundary-evidence — دليل تشغيل منفصل للقيمة 15 وللقيمة 16 عند الحد الدقيق w1-eligible-evidence — دليل تشغيل لقيمة مؤهلة مقدمة فوق 16 w1-ai-log-evidence — دليل يحفظ الطلب والاقتراح والقرار والسبب والاختبار والشرح النهائي، أو يسجل صراحةً عدم استخدام الذكاء الاصطناعي w1-explanation-evidence — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحدw1-source-evidence — individual source with responsibilities identifiable w1-invalid-evidence — blank or Arabic-word correction plus one range correction w1-boundary-evidence — separate runs for 15 and exact boundary 16 w1-eligible-evidence — a supplied eligible run above 16 w1-ai-log-evidence — prompt, suggestion, decision, reason, test evidence, final explanation; or explicit no-AI record w1-explanation-evidence — observed individual explanation of input, validation, branch, output, and one correction

تحقق من المعرّفات قبل فحص محتوى الأدلة.Check identifiers before inspecting evidence content.

الشرح الملاحظObserved explanation

  • تتبّع حالة غير صالحة وحالة حد وحالة مؤهلة وتصحيحاً واحداً في مصدر المتعلم وبكلماته.Trace one invalid case, one boundary case, one eligible case, and one correction in the learner's own source and words.

استخدم أسئلة محايدة وسجّل أدلة المعايير لا تفضيلات الأسلوب.Use neutral prompts and record criterion evidence, not style preferences.

الاستدراك خلال أسبوع واحدOne-week recovery

  • جدول من المدرّب ← تصحيح مسار فاشل واحد ← إعادة التشغيل وتقديم الأدلة نفسها خلال أسبوع واحد.Trainer table → correct one failing path → rerun and resubmit the same evidence within one week.

اتفق على المسار الفاشل الدقيق والموعد قبل مغادرة المتعلم.Agree the exact failing path and deadline before the learner leaves.

التدريب الموجّهGuided practice

  • لا توجد دقائق تدريب موجّه في اليوم الخامس. يمكن للمتعلم مراجعة السلوك المنشور وأدلته الشخصية بصمت أثناء المختبر الفردي تحت الإشراف.No guided-practice minutes are scheduled on Day 5. The learner may silently review the public behavior and personal evidence during the supervised individual lab.
  • تظل أسئلة المدرّب إجرائية ومرتبطة بالمعايير؛ ولا تقدم صياغة أو منطق تفرع أو تصحيحاً محلولاً.Trainer prompts remain procedural and criterion-based; they do not provide syntax, branch logic, or a worked correction.

ورقة العملWorksheet

  1. أكمل الخطة بصورة فردية، ونفّذ انطلاقاً من ملف البداية غير المكتمل، وشغّل كل حالة مقدمة، وقدّم معرّفات الأدلة الستة. السلوك والأدلة المتوقعة هي: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. w1-source-evidence — دليل المصدر الفردي مع إمكانية تحديد المسؤوليات w1-invalid-evidence — دليل لتصحيح الإدخال الفارغ أو المكتوب بالكلمات، مع تصحيح واحد للنطاق w1-boundary-evidence — دليل تشغيل منفصل للقيمة 15 وللقيمة 16 عند الحد الدقيق w1-eligible-evidence — دليل تشغيل لقيمة مؤهلة مقدمة فوق 16 w1-ai-log-evidence — دليل يحفظ الطلب والاقتراح والقرار والسبب والاختبار والشرح النهائي، أو يسجل صراحةً عدم استخدام الذكاء الاصطناعي w1-explanation-evidence — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحدIndividually complete the plan, implement from the incomplete starter, run every supplied case, and submit all six evidence IDs. Expected behavior and evidence are: input "" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "ستة عشر" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "-1" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120. input "15" -> not-eligible -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. input "16" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "20" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "120" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "121" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120. w1-source-evidence — individual source with responsibilities identifiable w1-invalid-evidence — blank or Arabic-word correction plus one range correction w1-boundary-evidence — separate runs for 15 and exact boundary 16 w1-eligible-evidence — a supplied eligible run above 16 w1-ai-log-evidence — prompt, suggestion, decision, reason, test evidence, final explanation; or explicit no-AI record w1-explanation-evidence — observed individual explanation of input, validation, branch, output, and one correctionمرجع الدليل: w1-source-evidenceEvidence reference: w1-source-evidence
  2. أكمل كل حقل تأمل بعد ملاحظات المدرّب، بما في ذلك موعد متفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك:Complete every reflection field after trainer feedback, including an agreed date within one week when recovery is required: One path I can explain confidently: One test that changed my code: One privacy check I completed: One next practice action: Recovery required: yes or no; if yes, agreed submission date within one week:مرجع الدليل: w1-explanation-evidenceEvidence reference: w1-explanation-evidence

خطوات المختبرLab steps

  1. تسلّم نسخة نظيفة من ملف البداية العام غير المكتمل التالي كما هو، وأكمل بصورة فردية المسار وجدول القرار وترتيب الاختبارات قبل كتابة الكود: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")Receive a clean copy of the exact public incomplete starter below and independently complete the flow, decision table, and test order before coding: raw_age = input("أدخل عمراً اصطناعياً: ") age = None result = None # TODO 1: convert raw_age safely # TODO 2: reject values outside 0 through 120 # TODO 3: decide using the published age-16 boundary # TODO 4: set one actionable Arabic result print("لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار.")
  2. ابنِ بصورة فردية واستخدم العمر الاصطناعي فقط؛ واحتفظ بملاحظة موجزة للمتوقع مقابل الفعلي كلما فشل مسار.Build individually and use only synthetic age; keep a brief expected-versus-actual note whenever a path fails.
  3. شغّل السطور الثمانية وحدد نتائجها، ثم احفظ مجموعات الأدلة الست: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. w1-source-evidence — دليل المصدر الفردي مع إمكانية تحديد المسؤوليات w1-invalid-evidence — دليل لتصحيح الإدخال الفارغ أو المكتوب بالكلمات، مع تصحيح واحد للنطاق w1-boundary-evidence — دليل تشغيل منفصل للقيمة 15 وللقيمة 16 عند الحد الدقيق w1-eligible-evidence — دليل تشغيل لقيمة مؤهلة مقدمة فوق 16 w1-ai-log-evidence — دليل يحفظ الطلب والاقتراح والقرار والسبب والاختبار والشرح النهائي، أو يسجل صراحةً عدم استخدام الذكاء الاصطناعي w1-explanation-evidence — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحدRun and mark all eight rows, then capture the six evidence groups: input "" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "ستة عشر" -> correction -> تصحيح: أدخل العمر بالأرقام فقط. input "-1" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120. input "15" -> not-eligible -> غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. input "16" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "20" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "120" -> eligible -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. input "121" -> correction -> تصحيح: أدخل عمراً من 0 إلى 120. w1-source-evidence — individual source with responsibilities identifiable w1-invalid-evidence — blank or Arabic-word correction plus one range correction w1-boundary-evidence — separate runs for 15 and exact boundary 16 w1-eligible-evidence — a supplied eligible run above 16 w1-ai-log-evidence — prompt, suggestion, decision, reason, test evidence, final explanation; or explicit no-AI record w1-explanation-evidence — observed individual explanation of input, validation, branch, output, and one correction
  4. أكمل الشرح الملاحظ، وتلقَّ ملاحظات مرتبطة بالمعايير، وسجّل عند الحاجة جدول المدرّب ومساراً فاشلاً واحداً وموعد إعادة تقديم خلال أسبوع واحد.Complete the observed explanation, receive criterion-based feedback, and if needed record the trainer table, one failing path, and a resubmission date within one week.

البيانات الاصطناعيةSynthetic data

الإدخال المقدمSupplied inputالنوع المتوقعExpected kind
correction
ستة عشرcorrection
-1correction
15not-eligible
16eligible
20eligible
120eligible
121correction

مسرد الإنجليزية التقنيةTechnical English glossary

  • تحقق فردي من أداء محددcheckpoint
  • مادة تثبت سلوكاً أو شرحاًevidence
  • غير صالح للاستخدام في القرارinvalid
  • حد يتغير عنده مسار القرارthreshold
  • مراجعة المتعلم لعمله وخطوته التاليةreflection
  • فرصة منظمة لإصلاح دليل غير مكتملrecovery

الخصوصيةPrivacy

اجمع واحفظ سلاسل العمر الاصطناعية المقدمة فقط. ويجب أن يخلو المصدر وأدلة الطرفية والتأمل وسجلات الذكاء الاصطناعي من الأعمار الحقيقية والأسماء وتواريخ الميلاد والمعرّفات وبيانات التواصل وبيانات الدخول والمسارات الشخصية والرسائل الخاصة وقرارات الأهلية الحقيقية.Collect and store only the supplied synthetic age strings. Source, terminal evidence, reflection, and AI logs must exclude real ages, names, birth dates, identifiers, contact details, credentials, personal paths, private messages, and real eligibility decisions.

ممارسة الذكاء الاصطناعيAI practice

تنفيذ التحقق وشرحه الملاحظ عملان فرديان. ويتطلب أي استخدام سابق للذكاء الاصطناعي حفظ الطلب المحجوب والاقتراح وقرار القبول أو الرفض وسببه ودليل الاختبار والشرح النهائي؛ ولا يجوز مشاركة بيانات شخصية أو بيانات دخول.The checkpoint implementation and observed explanation are individual. Any earlier AI use requires the preserved redacted prompt, suggestion, accepted or rejected decision, reason, test evidence, and final explanation; no personal data or credentials may be shared.

الاستدراكRecovery

يستخدم الاستدراك جدول إدخال ومخرجات متوقعة يقدمه المدرّب، وتصحيح مسار فاشل واحد، وإعادة تقديم الأدلة الستة نفسها خلال أسبوع واحد. ويحافظ المتعلم على فردية التحقق ولا يتلقى حلاً مكتملًا.Recovery uses a trainer-provided input/expected-output table, correction of one failing path, and resubmission of the same six evidence items within one week. The learner keeps the checkpoint individual and receives no completed solution.

أخطاء شائعة ينبغي ملاحظتهاCommon errors to notice

  • يبدأ المتعلم كتابة الكود قبل إعداد جدول القرار، فيغفل مساراً غير صالح أو مسار حد.The learner begins coding before writing the decision table and omits one invalid or boundary path.
  • تجمع الأدلة عدة تشغيلات دون تسميات، فلا يمكن مراجعة الإدخال والنتيجة بدقة.Evidence combines several runs without labels, so the exact input and result cannot be audited.
  • يكرر الشرح الملاحظ كلمات الكود لكنه لا يربط الإدخال المقدم بالفرع المختار والمخرجات.The observed explanation repeats code words but cannot connect the supplied input to the selected branch and output.
دليلي التعلّمي المُبلّغ عنه ذاتياًMy self-reported learning evidence

يُحفظ في هذا المتصفح فقط لدعم تعلّمك الشخصي. ليس حضوراً ولا درجة ولا نتيجة تحقق ولا سجلاً لشهادة.Saved only in this browser to support your own learning. It is not attendance, a score, a checkpoint result, or a certificate record.

جارٍ تحميل ملاحظاتك التعليمية المحلية…Loading your local learning notes…