دليل المدرّب · PDFTrainer guide · PDF
تنزيل PDFDownload PDFحزمة المدرّب العامة الكاملةComplete public trainer pack
الأسبوع الأول — حزمة المدرّبWeek 1 — Trainer pack
حزمة المدرّب هذه عامة. تبقى مهام بوابة الأساس الحية وبنوك المهام وملاحظات المقيمين ونتائج المشاركين والإجابات المكتملة وملاحظات الحلول المشروحة غير عامة.This trainer pack is public. Live Foundation Gate tasks, task banks, assessor notes, participant results, completed answers, and worked solution notes remain non-public.
تنزيلات المدرّبTrainer downloads
عرض الشرائح · PDFSlide deck · PDF
تنزيل PDFDownload PDFحالة الحل الكاملComplete solution status
يتوفر بعد التحقق ونافذة الاستدراك والإصدار المعتمد من المدرّبAvailable after the checkpoint, recovery window, and trainer-approved release
اليوم 1Day 1
اليوم الأول — تشغيل Python وحفظ القيم وإظهار عمر اصطناعيDay 1 — run Python, hold values, and echo a synthetic age
التحضيرPreparation
- أكمل الأسبوع صفر أو رتّب مسار دعم لفتح المحرر وتشغيل 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.
المواد المطلوبةRequired materials
- تسلسل الشرائح العام لهذه الجلسة (6 شرائح).Public slide sequence for this session (6 slides).
- ورقة عمل المتعلم القابلة للطباعة للمهام المنشورة وعددها 2.Printable learner worksheet for the 2 published tasks.
- نسخة دون اتصال من الجلسة وتسميات الأدلة والملفات العامة المعتمدة.An offline copy of the session, evidence labels, and approved public files.
- حالات الإدخال الاصطناعية المقدمة فقط وعددها 8؛ دون بيانات مشاركين حقيقية.Only the 8 supplied synthetic input cases; no real participant data.
الأهداف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.
جدول التنفيذ الدقيقExact run sheet
| الفقرةBlock | الدقائقMinutes | النمطMode | إجراء المدرّبTrainer action | إجراء المتعلّمLearner action |
|---|---|---|---|---|
| تشغيل ملف Python معروفRun a known Python file | 30 | تدريسInstruction | أنشئ age_echo.py بالمصدر الآمن التالي كما هو، واعرض python3 age_echo.py وpy age_echo.py، ثم شغّله مرة واحدة باستخدام 16: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") النص المتوقع: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16Create age_echo.py with the exact safe source below, show python3 age_echo.py and py age_echo.py, and run once with 16: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") Expected transcript: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 | حدّد الأمر المناسب لنظام التشغيل الحالي، وتوقّع السطرين الظاهرين، ثم قارن التوقع بالتشغيل.Identify the command for the current operating system, predict the two visible lines, then compare the prediction with the run. |
| المتغيرات والقيمVariables and values | 50 | تدريسInstruction | ارسم صندوقاً بعنوان raw_age وتتبّع ما يلي كما هو: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر"Draw a labelled box named raw_age and trace exactly: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر" | اذكر اسم المتغير وقيمته ونوعه الحالي في كل سطر من التتبع؛ ولا تستنتج الأهلية.Say the variable name, value, and current type for each trace row; do not infer eligibility. |
| الإدخال والمخرجاتInput and output | 40 | تدريسInstruction | أشر إلى الطلب والمحارف المدخلة والنص المحفوظ والتسمية المطبوعة في النص الدقيق؛ واشرح أن إظهار القيمة يثبت استلامها لا صلاحيتها.Point to the prompt, entered characters, stored text, and printed label in the exact transcript; explain that echoing proves receipt, not validity. | صنّف كل جزء إلى طلب أو إدخال أو قيمة متغير أو مخرجات، واشرح لماذا تظل القيمة اصطناعية.Label each part as prompt, input, variable value, or output and explain why the value remains synthetic. |
| ورقة عمل التتبع والتوقعTrace-and-predict worksheet | 60 | ممارسة موجّهةGuided practice | اعرض السطر الأول من التتبع، واطلب من المتعلمين إكمال السطور الباقية، ثم قارنوا التوقعات في أزواج باستخدام الحالات المنشورة فقط.Model the first trace row, ask learners to complete the remaining rows, then compare predictions in pairs using only published cases. | أكمل مهمتي ورقة العمل، وشغّل برنامج إظهار القيمة باستخدام 15 و16، وحدد موضع حفظ النص الخام.Complete both worksheet tasks, run the echo program with 15 and 16, and annotate where the raw text is stored. |
| المختبر: قراءة عمر اصطناعي واحد وإظهاره بأمانLab: read and echo one synthetic age safely | 120 | مختبر خاضع للإشرافSupervised lab | راقب إنشاء الملف وتشغيله مرتين، واطلب توقعاً قبل كل تشغيل، وتحقق من أن الطلب لا يجمع اسماً أو تاريخاً أو معرّفاً أو بيانات تواصل.Observe file creation and two runs, require a prediction before each run, and check that no prompt requests a name, date, identifier, or contact detail. | اكتب المصدر الدقيق المكوّن من سطرين، وشغّله باستخدام 15 و16، واحفظ النصوص الآمنة، واشرح أنه لم يحدث تحويل أو قرار بعد.Type the exact two-line source, run it with 15 and 16, save the safe transcripts, and explain that no conversion or decision occurs yet. |
ملاحظات الشرحExplanation notes
المتغير يضع اسماً لقيمة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.
أمثلة العرضDemonstration 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.
أمثلة العرضDemonstration 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تسلسل الشرائح والعرضSlide and demonstration sequence
تيسير الممارسة الموجّهةGuided-practice facilitation
- تتبّع هذه السطور الثلاثة واكتب اسم المتغير والقيمة كما هي والنوع 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
تيسير المختبرLab facilitation
- أنشئ age_echo.py واكتب ما يلي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}")Create age_echo.py and type exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}")
- شغّل 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.
- شغّل مرة أخرى باستخدام 16 وتحقق من النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16Run again with 16 and verify exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16
- احفظ المصدر والنصوص الاصطناعية المحجوبة التفاصيل فقط؛ واشرح شفهياً أن 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.
الأدلة المتوقعةExpected evidence
- يتتبّع المتعلم القيم النصية الخام دون استنتاج الأهلية.The learner traces raw text values without inferring eligibility.
w1d1-trace-evidence - يعمل ملف إظهار العمر بالقيم الاصطناعية المقدمة ويُشرح بوصفه إدخالاً نصياً ومخرجات مسماة.The age-echo file runs with supplied synthetic values and is explained as text input and labelled output.
w1d1-input-output-evidence
معايير التحقق المنشورةPublished checkpoint criteria
مهمة التحقق المنشورةPublished checkpoint prompt
اقرأ إدخالاً وتحقق من قيمة بسيطة ونفّذ تفرعاً لاتخاذ قرار واطبع نتيجة مفيدة.Read input, validate a simple value, branch on a decision, and print a useful result.
- يُرفض الإدخال غير الصالح برسالة تصحيحية.Invalid input is rejected with a corrective message.
- ينتج الشرط الفرع الصحيح عند الحد.The condition produces the correct branch at the boundary.
- توضح المخرجات القرار والخطوة التالية المناسبة.Output states the decision and an appropriate next step.
الأخطاء الشائعةCommon errors
- يُحفظ الملف بامتداد غير صحيح أو يُشغّل الأمر من مجلد آخر.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.
تدخلات المدرّبTrainer interventions
- حدّد أمر نظام التشغيل الصحيح وتحقق من المجلد الحالي قبل مناقشة صياغة Python.Mark the correct operating-system command and verify the current folder before discussing Python syntax.
- استخدم صندوقاً ملموساً بعنوان raw_age وبدّل البطاقة داخله في كل تتبع.Use a physical labelled box for raw_age and replace the card inside it on each trace.
- إذا ظهرت معلومات حقيقية، فأوقف الحفظ وأزلها ثم أعد البدء بقيمة اصطناعية منشورة واحدة.If real information appears, stop capture, remove it, and restart with one published synthetic value.
الاستدراك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.
البديل عند الانقطاعInterruption fallback
استخدم العرض المسجّل والحزمة العربية القابلة للتنزيل والنسخة المحلية من البداية؛ واعتمد دليلاً مكافئاً عن بُعد أو دون اتصال بعد أن يسجل المنسق الانقطاع.Use the recorded demonstration, downloadable Arabic-first pack and local starter copy; approve equivalent remote or offline evidence after the coordinator records the interruption.
الخصوصية والذكاء الاصطناعيPrivacy and AI reminders
الخصوصية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.
الذكاء الاصطناعي المسؤولResponsible AI
يمكن للذكاء الاصطناعي شرح كلمات المتغير والنص والإدخال والمخرجات بعد أن يتوقع المتعلم التتبع. ولا يجوز تزويده ببيانات مشارك حقيقية، وعلى المتعلم كتابة الملف وتشغيله وشرحه بنفسه.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.
نص التسجيلRecording script
السردNarration
- أنشئ الملف age_echo.py بالنص التالي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") شغّل python3 age_echo.py على macOS أو py age_echo.py في Windows PowerShell. أدخل العمر الاصطناعي 16 فقط. توقّع النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 تتبّع القيم التالية دون اتخاذ قرار أهلية: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر" اشرح أن input تعيد نصاً وأن هذا الملف يظهر القيمة لكنه لا يتحقق منها ولا يقرر الأهلية.Create age_echo.py with exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") Run python3 age_echo.py on macOS or py age_echo.py in Windows PowerShell. Enter only the synthetic age 16. Expect exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 Trace these values without deciding eligibility: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر" Explain that input returns text and that this file echoes but does not validate or decide eligibility.
إجراءات الشاشةScreen actions
- أنشئ الملف age_echo.py بالنص التالي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") شغّل python3 age_echo.py على macOS أو py age_echo.py في Windows PowerShell. أدخل العمر الاصطناعي 16 فقط. توقّع النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 تتبّع القيم التالية دون اتخاذ قرار أهلية: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر" قرّب العرض إلى raw_age والطلب العربي والتسمية المطبوعة؛ وأبقِ كل المجلدات الشخصية خارج الإطار.Create age_echo.py with exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") Run python3 age_echo.py on macOS or py age_echo.py in Windows PowerShell. Enter only the synthetic age 16. Expect exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 Trace these values without deciding eligibility: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر" Zoom in on raw_age, the Arabic prompt, and the printed label; keep all personal folders outside the frame.
النصوص الظاهرةCaptions
- أنشئ الملف age_echo.py بالنص التالي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") شغّل python3 age_echo.py على macOS أو py age_echo.py في Windows PowerShell. أدخل العمر الاصطناعي 16 فقط. توقّع النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 تتبّع القيم التالية دون اتخاذ قرار أهلية: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر" التعليق: «العمر المقدم مختلق؛ والإدخال نص؛ وإظهار القيمة ليس تحققاً».Create age_echo.py with exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") Run python3 age_echo.py on macOS or py age_echo.py in Windows PowerShell. Enter only the synthetic age 16. Expect exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 Trace these values without deciding eligibility: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر" Caption: “The supplied age is invented; input is text; echo is not validation.”
نقاط التوقفPause points
- أنشئ الملف age_echo.py بالنص التالي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") شغّل python3 age_echo.py على macOS أو py age_echo.py في Windows PowerShell. أدخل العمر الاصطناعي 16 فقط. توقّع النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 تتبّع القيم التالية دون اتخاذ قرار أهلية: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر" توقف قبل التشغيل لتوقع السطرين، وتوقف بعده لتسمية المتغير والقيمة والنوع.Create age_echo.py with exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") Run python3 age_echo.py on macOS or py age_echo.py in Windows PowerShell. Enter only the synthetic age 16. Expect exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 Trace these values without deciding eligibility: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر" Pause before the run to predict both lines, and pause after it to name the variable, value, and type.
قائمة التحقق من التسجيلRecording checklist
- أنشئ الملف age_echo.py بالنص التالي كما هو: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") شغّل python3 age_echo.py على macOS أو py age_echo.py في Windows PowerShell. أدخل العمر الاصطناعي 16 فقط. توقّع النص التالي كما هو: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 تتبّع القيم التالية دون اتخاذ قرار أهلية: raw_age = "15" ← يحتوي raw_age النص "15" raw_age = "16" ← يحتوي raw_age النص "16" raw_age = "ستة عشر" ← يحتوي raw_age النص "ستة عشر" تحقق من ظهور العربية أولاً على الشاشة، ووضوح أمري النظامين، ومطابقة النص المتوقع، وجمع العمر الاصطناعي فقط، وعدم عرض حل للأهلية.Create age_echo.py with exactly: raw_age = input("أدخل عمراً اصطناعياً بالأرقام فقط: ") print(f"القيمة الاصطناعية المدخلة: {raw_age}") Run python3 age_echo.py on macOS or py age_echo.py in Windows PowerShell. Enter only the synthetic age 16. Expect exactly: أدخل عمراً اصطناعياً بالأرقام فقط: 16 القيمة الاصطناعية المدخلة: 16 Trace these values without deciding eligibility: raw_age = "15" -> raw_age contains text "15" raw_age = "16" -> raw_age contains text "16" raw_age = "ستة عشر" -> raw_age contains text "ستة عشر" Confirm Arabic appears first on screen, both platform commands are visible, the expected transcript matches, only synthetic age is collected, and no eligibility solution is shown.
اليوم 2Day 2
اليوم الثاني — تحويل النص والتحقق من نطاق العمرDay 2 — convert text and validate the age range
التحضيرPreparation
- تمكّن من تشغيل ملف إظهار العمر في اليوم الأول وشرحه، أو استخدم دعم الاستدراك المرتب.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.
المواد المطلوبةRequired materials
- تسلسل الشرائح العام لهذه الجلسة (6 شرائح).Public slide sequence for this session (6 slides).
- ورقة عمل المتعلم القابلة للطباعة للمهام المنشورة وعددها 2.Printable learner worksheet for the 2 published tasks.
- نسخة دون اتصال من الجلسة وتسميات الأدلة والملفات العامة المعتمدة.An offline copy of the session, evidence labels, and approved public files.
- حالات الإدخال الاصطناعية المقدمة فقط وعددها 8؛ دون بيانات مشاركين حقيقية.Only the 8 supplied synthetic input cases; no real participant data.
الأهداف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.
جدول التنفيذ الدقيقExact run sheet
| الفقرةBlock | الدقائقMinutes | النمطMode | إجراء المدرّبTrainer action | إجراء المتعلّمLearner action |
|---|---|---|---|---|
| النصوص والأعدادText and numbers | 40 | تدريسInstruction | تتبّع raw_age = "16" بوصفه str وage = int(raw_age) بوصفه int؛ ووضّح أن المقارنة بحدود عددية تحتاج القيمة المحولة.Trace raw_age = "16" as str and age = int(raw_age) as int; show that comparisons with numeric bounds require the converted value. | صنّف القيمة الخام وعملية التحويل والقيمة المحولة والنوع الناتج للقيم 15 و16 و120.Label the raw value, conversion operation, converted value, and resulting type for 15, 16, and 120. |
| التحويل المضبوط والأخطاءControlled conversion and errors | 40 | تدريسInstruction | مرّر السطر الفارغ وسطر الكلمات العربية فقط عبر try/except، واربط ValueError برسالة التصحيح الدقيقة: تصحيح: أدخل العمر بالأرقام فقط. 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}")Run only the blank and Arabic-word rows through try/except and connect ValueError to this exact correction: تصحيح: أدخل العمر بالأرقام فقط. 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}") | توقّع هل تعيد int قيمة أم تثير ValueError، ثم أشر إلى مسار الرسالة المطابق.Predict whether int returns a value or raises ValueError, then point to the matching message path. |
| التحقق من النطاقRange validation | 40 | تدريسInstruction | ضع 0 و120 على خط أعداد شامل للحدين، ثم تتبّع -1 و15 و16 و20 و120 و121 دون مناقشة حد الأهلية.Place 0 and 120 on an inclusive number line, then trace -1, 15, 16, 20, 120, and 121 without discussing the eligibility threshold. | صنّف كل قيمة محولة إلى داخل النطاق أو خارجه، وانسخ رسالة التصحيح أو مخرجات القيمة الصالحة كما هي.Mark each converted value in range or out of range and copy the exact correction or valid-value output. |
| جدول التحويل والتحققConversion-and-validation table | 60 | ممارسة موجّهةGuided practice | اعرض السطر الفارغ، ووزّع الحالات السبع المنشورة الباقية، واطلب من كل مجموعة ذكر نتيجة التحويل ونتيجة فحص النطاق والمخرجات الدقيقة.Model the blank row, assign the remaining seven published cases, and require every group to state conversion result, range result, and exact output. | أكمل السطور الثمانية وقارنها بجدول السلوك التالي: الإدخال "" ← تثير 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 and compare all eight rows against this behavioral table: 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. |
| المختبر: رفض قيم العمر غير الصالحةLab: reject unusable age values | 120 | مختبر خاضع للإشرافSupervised lab | راقب المتعلمين وهم يكتبون مثال التحقق فقط ويشغّلون الحالات الثماني، وتحقق من أن الملف لا يطبع أي قرار أهلية.Observe learners type the validation-only example, run all eight cases, and confirm that the file prints no eligibility decision. | شغّل الإدخال الفارغ والكلمات العربية و-1 و15 و16 و20 و120 و121؛ واحفظ نصاً لتصحيح التحويل ونصاً لتصحيح النطاق ونصاً لقيمة مقبولة.Run blank, Arabic words, -1, 15, 16, 20, 120, and 121; save one text-conversion correction, one range correction, and one accepted-value transcript. |
ملاحظات الشرحExplanation notes
قد يفشل التحويل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.
أمثلة العرضDemonstration 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.
أمثلة العرضDemonstration examples
تصحيح تجاوز الحد الأعلى:
أدخل عمراً اصطناعياً من 0 إلى 120: 121
تصحيح: أدخل عمراً من 0 إلى 120.
مثال القيمة الصالحة:
أدخل عمراً اصطناعياً من 0 إلى 120: 16
قيمة عمر صالحة: 16Upper-range correction:
أدخل عمراً اصطناعياً من 0 إلى 120: 121
تصحيح: أدخل عمراً من 0 إلى 120.
Valid-value example:
أدخل عمراً اصطناعياً من 0 إلى 120: 16
قيمة عمر صالحة: 16تسلسل الشرائح والعرضSlide and demonstration sequence
تيسير الممارسة الموجّهةGuided-practice facilitation
- املأ أربعة أعمدة—الإدخال الخام ونتيجة التحويل ونتيجة النطاق والمخرجات الدقيقة—لكل سطر: الإدخال "" ← تثير 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.
تيسير المختبرLab facilitation
- أنشئ 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}")
- شغّل 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.
- شغّل -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.
- احفظ مصدر التحقق وثلاثة نصوص اصطناعية، بلا مسار شخصي وبلا نتيجة أهلية.Save the validation source and three synthetic transcripts, with no personal path and no eligibility result.
الأدلة المتوقعةExpected evidence
- يسجّل الجدول ذو السطور الثمانية نتائج التحويل والنطاق والسلوك الدقيق.The eight-row table records conversion, range, and exact behavioral results.
w1d2-conversion-evidence - تتلقى القيم الفارغة والمكتوبة بالكلمات والسالبة والأكبر من 120 تصحيحات عربية قابلة للتنفيذ.Blank, word, negative, and over-120 values receive actionable Arabic corrections.
w1d2-validation-evidence
معايير التحقق المنشورةPublished checkpoint criteria
مهمة التحقق المنشورةPublished checkpoint prompt
اقرأ إدخالاً وتحقق من قيمة بسيطة ونفّذ تفرعاً لاتخاذ قرار واطبع نتيجة مفيدة.Read input, validate a simple value, branch on a decision, and print a useful result.
- يُرفض الإدخال غير الصالح برسالة تصحيحية.Invalid input is rejected with a corrective message.
- ينتج الشرط الفرع الصحيح عند الحد.The condition produces the correct branch at the boundary.
- توضح المخرجات القرار والخطوة التالية المناسبة.Output states the decision and an appropriate next step.
الأخطاء الشائعةCommon errors
- تستخدم مقارنة النطاق 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.
تدخلات المدرّبTrainer interventions
- افصل عمودي التحويل والنطاق بصرياً، وحرّك بطاقة قيمة واحدة خلالهما من اليسار إلى اليمين.Separate conversion and range columns physically, and move one value card through them from left to right.
- اقرأ ValueError كعبارة إنجليزية قصيرة، واربطها بالسطر الذي قد يفشل، ثم عد إلى التصحيح العربي.Read ValueError as a short English phrase, connect it to the risky line, and then return to the Arabic correction.
- إذا احتوت اللقطة على سياق خاص، فاحذفها وكرر حالة منشورة واحدة في عرض طرفية نظيف.If a capture includes private context, delete that capture and repeat one published case in a clean terminal view.
الاستدراك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.
البديل عند الانقطاعInterruption fallback
استخدم العرض المسجّل والحزمة العربية القابلة للتنزيل والنسخة المحلية من البداية؛ واعتمد دليلاً مكافئاً عن بُعد أو دون اتصال بعد أن يسجل المنسق الانقطاع.Use the recorded demonstration, downloadable Arabic-first pack and local starter copy; approve equivalent remote or offline evidence after the coordinator records the interruption.
الخصوصية والذكاء الاصطناعيPrivacy and AI reminders
الخصوصية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.
الذكاء الاصطناعي المسؤولResponsible AI
يمكن للذكاء الاصطناعي شرح 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.
نص التسجيلRecording script
السردNarration
- أنشئ 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}") شغّل python3 validate_age.py على macOS أو py validate_age.py في Windows PowerShell. استخدم المدخلات المقدمة فقط. جدول التحويل والتحقق الكامل هو: الإدخال "" ← تثير 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. النصوص المطلوبة: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 اشرح كل مسار بوصفه نتيجة تحويل ونتيجة نطاق ومخرجات عربية قابلة للتنفيذ؛ وصرّح بأن المثال لا يتضمن قرار أهلية.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}") Run python3 validate_age.py on macOS or py validate_age.py in Windows PowerShell. Use only the supplied inputs. The complete conversion-and-validation table is: 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. Required transcripts: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 Explain each path as conversion result, range result, and actionable Arabic output; explicitly say that no eligibility decision is included.
إجراءات الشاشةScreen actions
- أنشئ 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}") شغّل python3 validate_age.py على macOS أو py validate_age.py في Windows PowerShell. استخدم المدخلات المقدمة فقط. جدول التحويل والتحقق الكامل هو: الإدخال "" ← تثير 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. النصوص المطلوبة: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 ظلّل try وexcept ValueError وحدّي النطاق؛ وشغّل الإدخال الفارغ و121 و16 في طرفية مقتصة.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}") Run python3 validate_age.py on macOS or py validate_age.py in Windows PowerShell. Use only the supplied inputs. The complete conversion-and-validation table is: 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. Required transcripts: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 Highlight try, except ValueError, and the two range bounds; run blank, 121, and 16 in a cropped terminal.
النصوص الظاهرةCaptions
- أنشئ 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}") شغّل python3 validate_age.py على macOS أو py validate_age.py في Windows PowerShell. استخدم المدخلات المقدمة فقط. جدول التحويل والتحقق الكامل هو: الإدخال "" ← تثير 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. النصوص المطلوبة: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 التعليقات: «يبدأ الإدخال نصاً»؛ «قد يفشل التحويل»؛ «يشمل النطاق 0 و120»؛ «الصلاحية لا تعني الأهلية».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}") Run python3 validate_age.py on macOS or py validate_age.py in Windows PowerShell. Use only the supplied inputs. The complete conversion-and-validation table is: 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. Required transcripts: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 Captions: “Input begins as text”; “conversion may fail”; “0 and 120 are included”; “valid does not mean eligible.”
نقاط التوقفPause points
- أنشئ 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}") شغّل python3 validate_age.py على macOS أو py validate_age.py في Windows PowerShell. استخدم المدخلات المقدمة فقط. جدول التحويل والتحقق الكامل هو: الإدخال "" ← تثير 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. النصوص المطلوبة: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 توقف قبل كل تشغيل من التشغيلات الثلاثة المطلوبة للتوقع، ثم توقف عند الجدول كي يصنف المتعلمون السطور الباقية.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}") Run python3 validate_age.py on macOS or py validate_age.py in Windows PowerShell. Use only the supplied inputs. The complete conversion-and-validation table is: 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. Required transcripts: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 Pause before each of the three required runs for a prediction, then pause on the table so learners classify the remaining rows.
قائمة التحقق من التسجيلRecording checklist
- أنشئ 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}") شغّل python3 validate_age.py على macOS أو py validate_age.py في Windows PowerShell. استخدم المدخلات المقدمة فقط. جدول التحويل والتحقق الكامل هو: الإدخال "" ← تثير 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. النصوص المطلوبة: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 تحقق من تقديم العربية أولاً، ووضوح المسافات البادئة، وذكر الحالات الثماني، ومطابقة المخرجات، وظهور أعمار مختلقة فقط، وعدم كشف قرار الورشة المكتمل.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}") Run python3 validate_age.py on macOS or py validate_age.py in Windows PowerShell. Use only the supplied inputs. The complete conversion-and-validation table is: 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. Required transcripts: أدخل عمراً اصطناعياً من 0 إلى 120: تصحيح: أدخل العمر بالأرقام فقط. أدخل عمراً اصطناعياً من 0 إلى 120: 121 تصحيح: أدخل عمراً من 0 إلى 120. أدخل عمراً اصطناعياً من 0 إلى 120: 16 قيمة عمر صالحة: 16 Confirm Arabic is first, indentation is legible, all eight cases are stated, outputs match, only invented ages appear, and no completed workshop decision is disclosed.
اليوم 3Day 3
اليوم الثالث — مقارنة الأعمار الصالحة واختيار نتيجة قابلة للتنفيذDay 3 — compare valid ages and choose an actionable result
التحضيرPreparation
- اشرح الفرق في اليوم الثاني بين القيمة القابلة للاستخدام وقرار الأهلية.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.
المواد المطلوبةRequired materials
- تسلسل الشرائح العام لهذه الجلسة (6 شرائح).Public slide sequence for this session (6 slides).
- ورقة عمل المتعلم القابلة للطباعة للمهام المنشورة وعددها 2.Printable learner worksheet for the 2 published tasks.
- نسخة دون اتصال من الجلسة وتسميات الأدلة والملفات العامة المعتمدة.An offline copy of the session, evidence labels, and approved public files.
- حالات الإدخال الاصطناعية المقدمة فقط وعددها 8؛ دون بيانات مشاركين حقيقية.Only the 8 supplied synthetic input cases; no real participant data.
الأهداف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.
جدول التنفيذ الدقيقExact run sheet
| الفقرةBlock | الدقائقMinutes | النمطMode | إجراء المدرّبTrainer action | إجراء المتعلّمLearner action |
|---|---|---|---|---|
| تنتج المقارنات صحيحاً أو خطأComparisons become true or false | 40 | تدريسInstruction | ضع 15 و16 و20 حول الحد المنشور وقيّم ما يلي كما هو: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> TruePlace 15, 16, and 20 around the published boundary and evaluate exactly: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True | اقرأ كل تعبير بصوت مسموع، وتوقّع True أو False، واشرح لماذا تغيّر المساواة النتيجة عند 16.Read each expression aloud, predict True or False, and explain why equality changes the result at 16. |
| تعليمات if وelif وelseif, elif, and else | 40 | تدريسInstruction | تتبّع عرض القرار للقيم الصالحة فقط سطراً سطراً، وتوقف بعد أول فرع صحيح: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.")Trace the valid-age-only demonstration line by line and stop after the first true branch: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") | ضع خطاً تحت الشرط الذي يُفحص في كل مسار، واشطب الفروع التي لا تُنفذ.Underline the condition checked on each path and cross out branches that do not run. |
| الحدود والرسائل العربية القابلة للتنفيذBoundaries and actionable Arabic | 40 | تدريسInstruction | قارن نتيجة مبهمة برسالتي ما دون الحد والمؤهل كما هما، وحدد القرار والقاعدة أو الخطوة التالية في كل منهما.Contrast a vague result with the exact below-boundary and eligible messages, identifying the decision, rule or next step in each. | حدّد القرار والإجراء التالي في: غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.Annotate the decision and next action in: غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. |
| تتبّع جدول القرارDecision-table trace | 60 | ممارسة موجّهةGuided practice | اعرض العمر 15، ووزّع القيم 16 و20 و120، واطلب نتيجة الشرط والفرع المختار والمخرجات الدقيقة والإجراء التالي.Model age 15, assign 16, 20, and 120, and require the condition result, chosen branch, exact output, and next action. | أكمل السطور الأربعة وقارن مع: العمر 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 all four rows and 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. |
| المختبر: عرض جانبي حد العمر 16Lab: demonstrate both sides of age 16 | 120 | مختبر خاضع للإشرافSupervised lab | راقب أربعة تشغيلات منفصلة لأعمار صالحة، واطلب التوقع قبل التنفيذ، وتحقق من أن المتعلمين لا يلصقون مسار الإدخال والتحقق من اليوم الثاني داخل هذا العرض.Observe four separate valid-age runs, ask for predictions before execution, and verify that learners do not paste the Day 2 input/validation flow into this demonstration. | شغّل عرض القرار بصورة منفصلة باستخدام 15 و16 و20 و120؛ واحفظ أدلة ما دون الحد وعند الحد وفوقه، واشرح الفرع المختار.Run the decision demonstration separately with 15, 16, 20, and 120; save below-boundary, exact-boundary, and above-boundary evidence and explain the selected branch. |
ملاحظات الشرحExplanation notes
الحد الدقيق مهم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.
أمثلة العرضDemonstration 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.
أمثلة العرضDemonstration examples
مخرجات ما دون الحد: غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.
مخرجات المؤهل: مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
المخرجات الاحتياطية: تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.Below-boundary output: غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.
Eligible output: مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
Fallback output: تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.تسلسل الشرائح والعرضSlide and demonstration sequence
تيسير الممارسة الموجّهةGuided-practice facilitation
- توقّع 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.
تيسير المختبرLab facilitation
- أنشئ 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("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.")
- توقّع العمر 15 وشغّله؛ واحفظ رسالة ما دون الحد كما هي، وحدد أن الشرط الأول صحيح.Predict and run age 15; save the exact below-boundary message and identify the first condition as true.
- استبدل قيمة السطر الأول فقط بالقيمة 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.
- اشرح سلوك الحد الدقيق دون إضافة كود الإدخال أو التحويل أو التحقق المكتمل إلى هذا العرض.Explain the exact-boundary behavior without adding input, conversion, or complete validation code to this demonstration.
الأدلة المتوقعةExpected evidence
- يحدد جدول القرار أول شرط صحيح والفرع المختار والمخرجات الدقيقة.The decision table identifies the first true condition, selected branch, and exact output.
w1d3-decision-evidence - تنتج عروض الأعمار الصالحة المنفصلة نتائج صحيحة دون العمر 16 وعنده وفوقه.Separate valid-age demonstrations produce correct results below, at, and above age 16.
w1d3-boundary-evidence
معايير التحقق المنشورةPublished checkpoint criteria
مهمة التحقق المنشورةPublished checkpoint prompt
اقرأ إدخالاً وتحقق من قيمة بسيطة ونفّذ تفرعاً لاتخاذ قرار واطبع نتيجة مفيدة.Read input, validate a simple value, branch on a decision, and print a useful result.
- يُرفض الإدخال غير الصالح برسالة تصحيحية.Invalid input is rejected with a corrective message.
- ينتج الشرط الفرع الصحيح عند الحد.The condition produces the correct branch at the boundary.
- توضح المخرجات القرار والخطوة التالية المناسبة.Output states the decision and an appropriate next step.
الأخطاء الشائعةCommon errors
- يستخدم الشرط الأول 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.
تدخلات المدرّبTrainer interventions
- ارجع من الكود إلى خط الأعداد واسأل فقط هل كل مقارنة صحيحة أم خاطئة.Return from code to a number line and ask only whether each comparison is true or false.
- لوّن سطور if وelif وelse بألوان مختلفة، وغطّ كل السطور التي تلي أول فرع مختار.Colour the if, elif, and else rows differently and cover all rows after the first selected branch.
- إذا بدأ المتعلم بتجميع التحقق المكتمل، فأعده إلى عرض العمر الصالح المنفصل وجدول القرار.If a learner begins assembling the full checkpoint, return them to the isolated valid-age demonstration and decision table.
الاستدراك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.
البديل عند الانقطاعInterruption fallback
استخدم العرض المسجّل والحزمة العربية القابلة للتنزيل والنسخة المحلية من البداية؛ واعتمد دليلاً مكافئاً عن بُعد أو دون اتصال بعد أن يسجل المنسق الانقطاع.Use the recorded demonstration, downloadable Arabic-first pack and local starter copy; approve equivalent remote or offline evidence after the coordinator records the interruption.
الخصوصية والذكاء الاصطناعيPrivacy and AI reminders
الخصوصية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.
الذكاء الاصطناعي المسؤولResponsible AI
يمكن للذكاء الاصطناعي شرح مقارنة واحدة بعد أن يكمل المتعلم جدول القرار. ولا يجوز أن ينشئ مسار التحقق المكتمل؛ ويكتب المتعلم كل فرع ويشغله ويشرحه، ولا يشارك بيانات شخصية أو بيانات دخول.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.
نص التسجيلRecording script
السردNarration
- أنشئ decision_demo.py بعرض القرار للقيم الصالحة فقط كما يلي: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") لا تضف كود الإدخال أو التحويل. استبدل القيمة المقدمة في السطر الأول فقط لكل تشغيل منفصل. استخدم جدول القرار التالي: العمر 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 ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. استخدم مقارنات الحدود التالية كما هي: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True اشرح الحد الأدنى 16 والمساواة عند الحد واختيار فرع واحد والإجراء التالي في كل نتيجة عربية.Create decision_demo.py with exactly this valid-age decision demonstration: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") Do not add input or conversion code. Replace only the first-line supplied value for separate runs. Use this decision table: 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. Use these exact boundary comparisons: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True Explain the minimum of 16, the equality at the boundary, one selected branch, and the next action in each Arabic result.
إجراءات الشاشةScreen actions
- أنشئ decision_demo.py بعرض القرار للقيم الصالحة فقط كما يلي: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") لا تضف كود الإدخال أو التحويل. استبدل القيمة المقدمة في السطر الأول فقط لكل تشغيل منفصل. استخدم جدول القرار التالي: العمر 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 ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. استخدم مقارنات الحدود التالية كما هي: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True حرّك خط أعداد، وظلّل شرطاً واحداً كل مرة، وشغّل 15 و16 و20 و120 بتغيير قيمة السطر الأول فقط.Create decision_demo.py with exactly this valid-age decision demonstration: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") Do not add input or conversion code. Replace only the first-line supplied value for separate runs. Use this decision table: 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. Use these exact boundary comparisons: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True Animate a number line, highlight one condition at a time, and run 15, 16, 20, and 120 by changing only the first-line value.
النصوص الظاهرةCaptions
- أنشئ decision_demo.py بعرض القرار للقيم الصالحة فقط كما يلي: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") لا تضف كود الإدخال أو التحويل. استبدل القيمة المقدمة في السطر الأول فقط لكل تشغيل منفصل. استخدم جدول القرار التالي: العمر 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 ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. استخدم مقارنات الحدود التالية كما هي: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True التعليقات: «15 دون الحد»؛ «16 هو حد الأهلية»؛ «يُنفذ أول فرع صحيح فقط»؛ «هذا تدريب خيالي».Create decision_demo.py with exactly this valid-age decision demonstration: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") Do not add input or conversion code. Replace only the first-line supplied value for separate runs. Use this decision table: 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. Use these exact boundary comparisons: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True Captions: “15 is below the boundary”; “16 is the eligible boundary”; “only the first true branch runs”; “this is fictional practice.”
نقاط التوقفPause points
- أنشئ decision_demo.py بعرض القرار للقيم الصالحة فقط كما يلي: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") لا تضف كود الإدخال أو التحويل. استبدل القيمة المقدمة في السطر الأول فقط لكل تشغيل منفصل. استخدم جدول القرار التالي: العمر 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 ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. استخدم مقارنات الحدود التالية كما هي: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True توقف قبل كشف نتيجة كل مقارنة وقبل تشغيل قيمة الحد الدقيق 16.Create decision_demo.py with exactly this valid-age decision demonstration: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") Do not add input or conversion code. Replace only the first-line supplied value for separate runs. Use this decision table: 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. Use these exact boundary comparisons: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True Pause before revealing each comparison result and before running the exact-boundary value 16.
قائمة التحقق من التسجيلRecording checklist
- أنشئ decision_demo.py بعرض القرار للقيم الصالحة فقط كما يلي: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") لا تضف كود الإدخال أو التحويل. استبدل القيمة المقدمة في السطر الأول فقط لكل تشغيل منفصل. استخدم جدول القرار التالي: العمر 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 ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. استخدم مقارنات الحدود التالية كما هي: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True تحقق من تقديم العربية أولاً، وأن المخرجات قابلة للتنفيذ، وأن 15 و16 و20 و120 تطابق الجدول، وأن العمر المختلق هو الحقل الوحيد، وأن الإدخال والتحويل والتحقق المكتمل غير مجمعة.Create decision_demo.py with exactly this valid-age decision demonstration: age = 15 # replace only with a supplied valid age if age < 16: print("غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر.") elif age <= 120: print("مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية.") else: print("تصحيح: ارجع إلى فحص النطاق قبل اتخاذ القرار.") Do not add input or conversion code. Replace only the first-line supplied value for separate runs. Use this decision table: 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 -> مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. Use these exact boundary comparisons: 15 < 16 -> True 16 < 16 -> False 16 >= 16 -> True 20 >= 16 -> True Confirm Arabic is presented first, outputs are actionable, 15/16/20/120 match the table, only invented age appears, and input/conversion/full validation are not assembled.
اليوم 4Day 4
اليوم الرابع — الدمج المقصود والاختبار والتصحيح وتوثيق مساعدة الذكاء الاصطناعيDay 4 — integrate deliberately, test, debug, and document AI help
التحضيرPreparation
- أحضر أدلة الإدخال والمخرجات من اليوم الأول والتحقق من اليوم الثاني وجدول القرار من اليوم الثالث، دون إجابة مدمجة منسوخة.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.
المواد المطلوبةRequired materials
- تسلسل الشرائح العام لهذه الجلسة (6 شرائح).Public slide sequence for this session (6 slides).
- ورقة عمل المتعلم القابلة للطباعة للمهام المنشورة وعددها 2.Printable learner worksheet for the 2 published tasks.
- نسخة دون اتصال من الجلسة وتسميات الأدلة والملفات العامة المعتمدة.An offline copy of the session, evidence labels, and approved public files.
- حالات الإدخال الاصطناعية المقدمة فقط وعددها 8؛ دون بيانات مشاركين حقيقية.Only the 8 supplied synthetic input cases; no real participant data.
الأهداف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.
جدول التنفيذ الدقيقExact run sheet
| الفقرةBlock | الدقائقMinutes | النمطMode | إجراء المدرّبTrainer action | إجراء المتعلّمLearner action |
|---|---|---|---|---|
| خريطة المسار المدمجIntegrated flow map | 30 | تدريسInstruction | شغّل ملف البداية غير المكتمل مرة واحدة، واعرض مخرجاته المؤقتة كما هي، واربط كل TODO بالإدخال ← التحويل ← التحقق من النطاق ← قرار حد العمر 16 ← مخرجات عربية قابلة للتنفيذ دون ملء الكود: 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 واختبر كل مسار.Run the incomplete starter once, show its exact placeholder output, and map each TODO to input → conversion → range validation → age-16 decision → actionable Arabic output without filling in code: 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 واختبر كل مسار. | رقّم علامات TODO الأربع، وارسم أسهماً بين المسؤوليات، واذكر الدليل الذي تنتجه كل مرحلة.Number the four TODO markers, draw arrows between responsibilities, and state the evidence produced by each stage. |
| الاختبارات المقدمة بوصفها عقداًSupplied tests as a contract | 30 | تدريسInstruction | اقرأ كل سطر بوصفه إدخالاً وسلوكاً متوقعاً، مع التأكيد على تغطية غير الصالح وما دون الحد والحد الدقيق والمؤهل والحد الأعلى: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120.Read each row as input and expected behavior, emphasizing invalid, below-boundary, exact-boundary, eligible, and upper-range coverage: 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. | حدّد المسؤولية التي تختبرها كل حالة، واختر مجموعة تصحيح دنيا من ثلاث حالات قبل تشغيل الحالات الثماني كلها.Mark which responsibility each case exercises and choose a minimal three-case debugging subset before running all eight. |
| صحّح انطلاقاً من الدليلDebug from evidence | 30 | تدريسInstruction | اعرض مقارنة المتوقع بالفعلي، واعزل السطر المسؤول، وأجرِ تغييراً واحداً، ثم أعد تشغيل الحالة الفاشلة وحالة قريبة ناجحة باستخدام: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذModel expected versus actual, isolate the responsible line, make one change, and rerun the failed case plus a nearby passing case using: 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 | لكل عينة مستقلة، اذكر الإدخال الفاشل والنوع المتوقع والنتيجة الفعلية والتشخيص وتصحيحاً مقترحاً واحداً وحالة اختبار رجعي.For each independent sample, state the failed input, expected kind, actual result, diagnosis, one proposed correction, and regression case. |
| سجل قرار الذكاء الاصطناعي والخصوصيةAI and privacy decision log | 30 | تدريسInstruction | اعرض سؤال صياغة محجوب التفاصيل وأكمل كل حقل دون لصق سجل مشارك أو مسار شخصي أو رسالة خاصة أو بيانات دخول: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم:Demonstrate a redacted syntax question and complete every field without pasting a participant record, personal path, private message, or credential: 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: | احفظ الطلب كما هو والاقتراح وقرار القبول أو الرفض وسببه ودليل الاختبار والشرح النهائي بصياغتك؛ واحجب التفاصيل قبل أي تفاعل مع الذكاء الاصطناعي.Preserve the exact prompt, suggestion, accepted-or-rejected decision, reason, test evidence, and final personal explanation; redact before any AI interaction. |
| تمرين التشخيص والتصحيحDiagnose-and-correct exercise | 60 | ممارسة موجّهةGuided practice | وزّع عينة معطوبة واحدة على كل زوج، واطلب تشخيصاً يبدأ بالدليل، واجعل كل متعلم يكتب الشرح النهائي بصورة فردية.Assign one broken sample per pair, require an evidence-first diagnosis, and have each learner independently write the final explanation. | أكمل ورقتي عمل اليوم الرابع، وصحّح عينة منفصلة واحدة، وأعد تشغيل حالتها الفاشلة والحالة المجاورة، وسجّل أي قرار متعلق بالذكاء الاصطناعي.Complete both Day 4 worksheets, correct one isolated sample, rerun its failed and neighboring cases, and record any AI decision. |
| المختبر: إعداد خطة دمج وأدلة فرديةLab: prepare an individual integration and evidence plan | 120 | مختبر خاضع للإشرافSupervised lab | تحقق من خريطة المسار وترتيب الاختبارات لكل متعلم، ووجّه مساراً فاشلاً واحداً دون تقديم كود مدمج، وتحقق من سجل الذكاء الاصطناعي واقتصاص الخصوصية.Check each learner's flow map and test order, coach one failing path without supplying integrated code, and verify the AI log and privacy crop. | اعمل بصورة فردية انطلاقاً من ملف البداية غير المكتمل، واربط المسؤوليات في مسودة شخصية، وشغّل الحالات الثماني المقدمة، وصحّح فشلاً واحداً، واحفظ الأدلة، ثم أعد الملف إلى نسخة البداية العامة قبل التحقق إذا طلب المدرّب.Work individually from the incomplete starter, connect responsibilities in a personal draft, run all eight supplied cases, correct one failure, preserve evidence, and reset to the public starter before the checkpoint if instructed. |
ملاحظات الشرحExplanation notes
ادمج المسؤوليات لا المقتطفات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.
أمثلة العرضDemonstration 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.
أمثلة العرضDemonstration 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:تسلسل الشرائح والعرضSlide and demonstration sequence
تيسير الممارسة الموجّهةGuided-practice facilitation
- شخّص عينة الحد باستخدام الإدخال الفاشل والنوع المتوقع والنوع الفعلي والتعبير المسؤول وتصحيح واحد وإدخال الاختبار الرجعي 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:
تيسير المختبرLab facilitation
- افتح 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 واختبر كل مسار.
- ارسم المسار ذي المراحل الخمس، واربط كل حالة من الحالات الثماني المقدمة بالمرحلة والمسار اللذين تختبرهما قبل التعديل.Draw the five-stage flow and assign each of the eight supplied cases to the stage and path it tests before editing.
- اعمل بصورة فردية على مسودة، وشغّل الحالات بالترتيب المخطط، وسجّل السلوك المتوقع مقابل الفعلي لأول فشل.Work individually on a draft, run cases in the planned order, and record expected versus actual behavior for the first failure.
- صحّح مساراً فاشلاً واحداً، وأعد تشغيله وتشغيل حالة مجاورة، وأكمل سجل قرار الذكاء الاصطناعي، واحفظ أدلة محجوبة؛ ولا توزع تنفيذاً مدمجاً.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.
الأدلة المتوقعةExpected evidence
- يُشخّص مسار فاشل واحد ويُصحح ويُعاد اختباره ويُفحص مقابل مسار مجاور.One failing path is diagnosed, corrected, retested, and checked against a neighboring path.
w1d4-debug-evidence - يحفظ سجل قرار الذكاء الاصطناعي الطلب المحجوب والاقتراح والقرار وسببه والاختبار وشرح المتعلم.The AI-decision record preserves the redacted prompt, suggestion, decision, reason, test, and learner explanation.
w1d4-ai-review-evidence
معايير التحقق المنشورةPublished checkpoint criteria
مهمة التحقق المنشورةPublished checkpoint prompt
اقرأ إدخالاً وتحقق من قيمة بسيطة ونفّذ تفرعاً لاتخاذ قرار واطبع نتيجة مفيدة.Read input, validate a simple value, branch on a decision, and print a useful result.
- يُرفض الإدخال غير الصالح برسالة تصحيحية.Invalid input is rejected with a corrective message.
- ينتج الشرط الفرع الصحيح عند الحد.The condition produces the correct branch at the boundary.
- توضح المخرجات القرار والخطوة التالية المناسبة.Output states the decision and an appropriate next step.
الأخطاء الشائعةCommon errors
- يغيّر المتعلم عدة مراحل قبل تشغيل حالة فاشلة مركزة، فلا يمكن عزل السبب.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.
تدخلات المدرّبTrainer interventions
- أوقف التعديل مؤقتاً، وارجع إلى المسار ذي المراحل الخمس، واسأل عن أول مرحلة يختلف سلوكها الفعلي عن المتوقع.Freeze editing, return to the five-stage flow, and ask for the first stage whose actual behavior differs from expected behavior.
- قدّم جدول السلوك المتوقع وعينة فاشلة منفصلة واحدة، لكن اطلب من المتعلم اختيار التصحيح وشرحه.Provide the expected-behavior table and one isolated failing sample, but require the learner to choose and explain the correction.
- إذا ظهرت بيانات خاصة أو بيانات دخول، فأوقف التفاعل وأزل المادة، ثم أعد البدء بملف البداية العام النظيف والحالات المقدمة.If private data or a credential appears, stop the interaction, remove the material, and restart with the clean public starter and supplied cases.
الاستدراك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.
البديل عند الانقطاعInterruption fallback
استخدم العرض المسجّل والحزمة العربية القابلة للتنزيل والنسخة المحلية من البداية؛ واعتمد دليلاً مكافئاً عن بُعد أو دون اتصال بعد أن يسجل المنسق الانقطاع.Use the recorded demonstration, downloadable Arabic-first pack and local starter copy; approve equivalent remote or offline evidence after the coordinator records the interruption.
الخصوصية والذكاء الاصطناعيPrivacy and AI reminders
الخصوصية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.
الذكاء الاصطناعي المسؤولResponsible AI
يجب أن يحفظ المتعلم الطلب المحجوب والاقتراح وقرار القبول أو الرفض وسببه ودليل الاختبار والشرح النهائي. لا تشارك بيانات شخصية أو بيانات دخول أبداً، ولا تقبل اقتراحاً دون اختباره وشرحه بنفسك.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.
نص التسجيلRecording script
السردNarration
- افتح ملف البداية القابل للتشغيل وغير المكتمل 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 وتوقّع ما يلي كما هو: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. لا تستبدل علامات TODO بحل مكتمل في التسجيل. اعرض جدول السلوك الكامل: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. شخّص العينتين المستقلتين التاليتين: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذ أكمل بنية سجل قرار الذكاء الاصطناعي بسؤال صياغة خيالي ومحجوب التفاصيل: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم: اشرح المسؤوليات الخمس ودورة التصحيح التي تبدأ بالدليل وتغطية الاختبارات وملكية المتعلم لكل قرار متعلق بالذكاء الاصطناعي.Open the runnable incomplete starter integration.py containing 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 واختبر كل مسار.") Run it once with supplied input 16 and expect exactly: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. Do not replace the TODO markers with a completed solution in the recording. Show this complete behavioral table: 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. Diagnose these two independent samples: 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 Complete this AI-decision log structure with a fictional, redacted syntax question: 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: Explain the five responsibilities, evidence-first debugging cycle, test coverage, and learner ownership of every AI decision.
إجراءات الشاشةScreen actions
- افتح ملف البداية القابل للتشغيل وغير المكتمل 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 وتوقّع ما يلي كما هو: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. لا تستبدل علامات TODO بحل مكتمل في التسجيل. اعرض جدول السلوك الكامل: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. شخّص العينتين المستقلتين التاليتين: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذ أكمل بنية سجل قرار الذكاء الاصطناعي بسؤال صياغة خيالي ومحجوب التفاصيل: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم: أبقِ كل TODO ظاهرة، وشغّل المخرجات المؤقتة فقط، وحدد المتوقع مقابل الفعلي في العينتين المنفصلتين، واعرض الحجب قبل إظهار سجل الذكاء الاصطناعي.Open the runnable incomplete starter integration.py containing 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 واختبر كل مسار.") Run it once with supplied input 16 and expect exactly: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. Do not replace the TODO markers with a completed solution in the recording. Show this complete behavioral table: 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. Diagnose these two independent samples: 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 Complete this AI-decision log structure with a fictional, redacted syntax question: 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: Keep every TODO visible, run only the placeholder, annotate expected versus actual in the isolated samples, and demonstrate redaction before showing the AI log.
النصوص الظاهرةCaptions
- افتح ملف البداية القابل للتشغيل وغير المكتمل 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 وتوقّع ما يلي كما هو: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. لا تستبدل علامات TODO بحل مكتمل في التسجيل. اعرض جدول السلوك الكامل: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. شخّص العينتين المستقلتين التاليتين: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذ أكمل بنية سجل قرار الذكاء الاصطناعي بسؤال صياغة خيالي ومحجوب التفاصيل: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم: التعليقات: «ملف البداية العام غير مكتمل»؛ «تغيير واحد ثم إعادة الاختبار»؛ «اقتراح الذكاء الاصطناعي ليس دليلاً»؛ «الأعمار المقدمة فقط».Open the runnable incomplete starter integration.py containing 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 واختبر كل مسار.") Run it once with supplied input 16 and expect exactly: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. Do not replace the TODO markers with a completed solution in the recording. Show this complete behavioral table: 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. Diagnose these two independent samples: 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 Complete this AI-decision log structure with a fictional, redacted syntax question: 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: Captions: “The public starter is incomplete”; “one change, then retest”; “AI suggestion is not evidence”; “only supplied ages.”
نقاط التوقفPause points
- افتح ملف البداية القابل للتشغيل وغير المكتمل 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 وتوقّع ما يلي كما هو: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. لا تستبدل علامات TODO بحل مكتمل في التسجيل. اعرض جدول السلوك الكامل: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. شخّص العينتين المستقلتين التاليتين: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذ أكمل بنية سجل قرار الذكاء الاصطناعي بسؤال صياغة خيالي ومحجوب التفاصيل: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم: توقف لترتيب المسؤوليات الخمس واختيار مجموعة اختبارات دنيا وتشخيص كل عينة وتقرير قبول اقتراح الذكاء الاصطناعي الخيالي أو رفضه.Open the runnable incomplete starter integration.py containing 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 واختبر كل مسار.") Run it once with supplied input 16 and expect exactly: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. Do not replace the TODO markers with a completed solution in the recording. Show this complete behavioral table: 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. Diagnose these two independent samples: 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 Complete this AI-decision log structure with a fictional, redacted syntax question: 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: Pause to order the five responsibilities, select a minimal test subset, diagnose each sample, and decide whether the fictional AI suggestion should be accepted or rejected.
قائمة التحقق من التسجيلRecording checklist
- افتح ملف البداية القابل للتشغيل وغير المكتمل 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 وتوقّع ما يلي كما هو: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. لا تستبدل علامات TODO بحل مكتمل في التسجيل. اعرض جدول السلوك الكامل: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. شخّص العينتين المستقلتين التاليتين: if age <= 16: print("غير مؤهل") # الإدخال 16: النوع الفعلي not-eligible؛ النوع المتوقع eligible # التشخيص: أُلحقت المساواة بالمسار غير الصحيح # التصحيح المقترح: قارن مسار ما دون الحد باستخدام age < 16 age = int(raw_age) # الإدخال "": النتيجة الفعلية ValueError؛ النوع المتوقع correction # التشخيص: لا يوجد مسار مضبوط لمعالجة خطأ التحويل المحتمل # التصحيح المقترح: اضبط التحويل واطبع رسالة تصحيح عربية قابلة للتنفيذ أكمل بنية سجل قرار الذكاء الاصطناعي بسؤال صياغة خيالي ومحجوب التفاصيل: الطلب المحجوب بلا بيانات شخصية أو بيانات دخول: الاقتراح المستلم: القرار: مقبول أو مرفوض: سبب القرار: دليل الاختبار بعد القرار: الشرح النهائي بصياغة المتعلم: تحقق من تقديم العربية أولاً، وبقاء ملف البداية غير مكتمل، ووضوح كل الحالات وحقول السجل، وعدم كشف حل مدمج، وعدم ظهور بيانات شخصية أو بيانات دخول أو مسار خاص أو قرار حقيقي.Open the runnable incomplete starter integration.py containing 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 واختبر كل مسار.") Run it once with supplied input 16 and expect exactly: أدخل عمراً اصطناعياً: 16 لم يكتمل التنفيذ بعد: أكمل علامات TODO واختبر كل مسار. Do not replace the TODO markers with a completed solution in the recording. Show this complete behavioral table: 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. Diagnose these two independent samples: 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 Complete this AI-decision log structure with a fictional, redacted syntax question: 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: Confirm Arabic is first, the starter remains incomplete, all cases and log fields are readable, no integrated solution is revealed, and no personal data, credential, private path, or real decision appears.
اليوم 5Day 5
اليوم الخامس — البناء الفردي وأدلة التحقق وخطة الاستدراكDay 5 — individual build, checkpoint evidence, and recovery plan
التحضيرPreparation
- أحضر نسخة نظيفة من ملف البداية العام غير المكتمل التالي كما هو، والحالات الثماني المقدمة، وجدول قرار فارغاً، وأدلتك الشخصية من الأيام الأول حتى الرابع: 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.
المواد المطلوبةRequired materials
- تسلسل الشرائح العام لهذه الجلسة (6 شرائح).Public slide sequence for this session (6 slides).
- ورقة عمل المتعلم القابلة للطباعة للمهام المنشورة وعددها 2.Printable learner worksheet for the 2 published tasks.
- نسخة دون اتصال من الجلسة وتسميات الأدلة والملفات العامة المعتمدة.An offline copy of the session, evidence labels, and approved public files.
- حالات الإدخال الاصطناعية المقدمة فقط وعددها 8؛ دون بيانات مشاركين حقيقية.Only the 8 supplied synthetic input cases; no real participant data.
الأهداف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.
جدول التنفيذ الدقيقExact run sheet
| الفقرةBlock | الدقائقMinutes | النمطMode | إجراء المدرّبTrainer action | إجراء المتعلّمLearner action |
|---|---|---|---|---|
| الخطة الفردية وجدول القرارIndividual plan and decision table | 45 | مختبر خاضع للإشرافSupervised lab | قدّم ملف بداية نظيفاً غير مكتمل ونماذج فارغة، واشرح حدود العمل الفردي، وأجب عن الأسئلة الإجرائية دون اقتراح كود.Issue a clean incomplete starter and blank templates, explain the individual-work boundary, and answer procedural questions without suggesting code. | أكمل خطة المسار والاختبار التالية بصورة فردية قبل فتح المحرر: حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط: ثم املأ الأنواع المتوقعة من: الإدخال "" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "ستة عشر" ← النوع correction ← تصحيح: أدخل العمر بالأرقام فقط. الإدخال "-1" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120. الإدخال "15" ← النوع not-eligible ← غير مؤهل حالياً: الحد الأدنى 16 عاماً. راجع ورشة مناسبة للفئة الأصغر. الإدخال "16" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "20" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "120" ← النوع eligible ← مؤهل: يمكنك الانتقال إلى خطوة التسجيل التجريبية. الإدخال "121" ← النوع correction ← تصحيح: أدخل عمراً من 0 إلى 120.Complete this flow and test plan individually before opening the editor: 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: Then fill expected kinds from: 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. |
| البناء الفرديIndividual build | 150 | مختبر خاضع للإشرافSupervised lab | راقب العملية واحمِ هدوء العمل الفردي؛ وقدّم فقط المنهاج المنشور والنماذج وأسئلة محايدة مثل: أي مرحلة مخططة تفشل؟Observe process and protect quiet individual work; offer only the published curriculum, templates, and neutral prompts such as which planned stage is failing. | نفّذ المسؤوليات الخمس المخططة بنفسك، وشغّل حالات اصطناعية مركزة أثناء العمل، واحفظ ملاحظة موجزة للمتوقع مقابل الفعلي لكل تصحيح.Implement the five planned responsibilities personally, run focused synthetic cases while working, and preserve a brief expected-versus-actual note for each correction. |
| الاختبارات المقدمة واختبارات الحدود مع حفظ الأدلةSupplied and boundary tests with evidence capture | 45 | مختبر خاضع للإشرافSupervised lab | قدّم جدول السلوك الثابت، وراقب ترتيب الاختبارات الدقيق، وتحقق من معرّفات الأدلة والخصوصية في اللقطات قبل التقديم.Provide the immutable behavioral table, observe the exact test order, and check evidence crops for required IDs and privacy before submission. | شغّل الحالات الثماني المقدمة، وقارن النوع الفعلي لكل منها بالنوع المتوقع، واحفظ مجموعات الأدلة الخمس الأولى المدرجة هنا: w1-source-evidence — دليل المصدر الفردي مع إمكانية تحديد المسؤوليات w1-invalid-evidence — دليل لتصحيح الإدخال الفارغ أو المكتوب بالكلمات، مع تصحيح واحد للنطاق w1-boundary-evidence — دليل تشغيل منفصل للقيمة 15 وللقيمة 16 عند الحد الدقيق w1-eligible-evidence — دليل تشغيل لقيمة مؤهلة مقدمة فوق 16 w1-ai-log-evidence — دليل يحفظ الطلب والاقتراح والقرار والسبب والاختبار والشرح النهائي، أو يسجل صراحةً عدم استخدام الذكاء الاصطناعي w1-explanation-evidence — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحدRun all eight supplied cases, compare each actual kind with the expected kind, and capture the first five evidence groups listed here: 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 |
| شرح التحقق الفردي الملاحظObserved individual checkpoint explanation | 30 | مختبر خاضع للإشرافSupervised lab | اختر حالة غير صالحة وإحدى القيمتين 15 أو16 وحالة مؤهلة؛ واطلب من المتعلم تتبّع الإدخال والتحقق والفرع والمخرجات وتصحيح واحد دون مساعدة خارجية.Select one invalid case, either 15 or 16, and one eligible case; ask the learner to trace input, validation, branch, output, and one correction without external help. | شغّل الحالات المختارة، وأشر إلى أجزاء المصدر المسؤولة، واشرح الحد والنتيجة العربية القابلة للتنفيذ، واشرح أي قرار مسجل للذكاء الاصطناعي بصياغتك.Run the selected cases, point to the responsible source regions, explain the boundary and actionable Arabic result, and explain any recorded AI decision in personal words. |
| التأمل وملاحظات المدرّب وتخطيط الاستدراكReflection, trainer feedback, and recovery planning | 30 | مختبر خاضع للإشرافSupervised lab | سجّل ملاحظات مرتبطة بالمعايير، وحدد اكتمال الأدلة أو الحاجة إلى استدراك، واتفق عند الحاجة على موعد تقديم لا يتجاوز أسبوعاً واحداً دون تقديم حل.Record criterion-based feedback, mark evidence complete or recovery required, and when needed agree a submission date no later than one week without supplying a solution. | أكمل التأمل، وتلقَّ الملاحظات، وسجّل إجراء الاستدراك الدقيق وتاريخه عند الحاجة: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك:Complete the reflection, receive feedback, and record the exact recovery action and date when 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: |
ملاحظات الشرحExplanation notes
يقيّم التحقق سلوكاً مكتملًا بصورة فردية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.
أمثلة العرضDemonstration 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.
أمثلة العرضDemonstration 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تسلسل الشرائح والعرضSlide and demonstration sequence
تيسير الممارسة الموجّهةGuided-practice facilitation
- لا توجد دقائق تدريب موجّه في اليوم الخامس. يمكن للمتعلم مراجعة السلوك المنشور وأدلته الشخصية بصمت أثناء المختبر الفردي تحت الإشراف.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.
تيسير المختبرLab facilitation
- تسلّم نسخة نظيفة من ملف البداية العام غير المكتمل التالي كما هو، وأكمل بصورة فردية المسار وجدول القرار وترتيب الاختبارات قبل كتابة الكود: 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 واختبر كل مسار.")
- ابنِ بصورة فردية واستخدم العمر الاصطناعي فقط؛ واحتفظ بملاحظة موجزة للمتوقع مقابل الفعلي كلما فشل مسار.Build individually and use only synthetic age; keep a brief expected-versus-actual note whenever a path fails.
- شغّل السطور الثمانية وحدد نتائجها، ثم احفظ مجموعات الأدلة الست: الإدخال "" ← النوع 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
- أكمل الشرح الملاحظ، وتلقَّ ملاحظات مرتبطة بالمعايير، وسجّل عند الحاجة جدول المدرّب ومساراً فاشلاً واحداً وموعد إعادة تقديم خلال أسبوع واحد.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.
الأدلة المتوقعةExpected evidence
- يُظهر المصدر الفردي مسؤوليات الإدخال والتحقق والقرار والمخرجات العربية المكتملة.Individual source shows the complete input, validation, decision, and Arabic-output responsibilities.
w1-source-evidence - تُظهر التشغيلات الفردية تصحيحاً للتحويل وتصحيحاً للنطاق.Individual runs demonstrate a conversion correction and a range correction.
w1-invalid-evidence - تُظهر تشغيلات منفصلة العمر 15 دون الحد والعمر 16 عند الحد الدقيق.Separate runs demonstrate the below-boundary age 15 and exact-boundary age 16.
w1-boundary-evidence - ينتج عمر مقدم فوق 16 نتيجة أهلية خيالية صحيحة وقابلة للتنفيذ.A supplied age above 16 produces the correct actionable fictional eligibility result.
w1-eligible-evidence - يُوثق استخدام الذكاء الاصطناعي أو عدم استخدامه بحقول القرار والاختبار المطلوبة ودون بيانات خاصة.AI use or non-use is documented with the required decision and test fields and no private data.
w1-ai-log-evidence - يشرح المتعلم بصورة فردية الإدخال والتحقق وفرع الحد والمخرجات وتصحيحاً واحداً.The learner individually explains input, validation, boundary branch, output, and one correction.
w1-explanation-evidence
معايير التحقق المنشورةPublished checkpoint criteria
مهمة التحقق المنشورةPublished checkpoint prompt
اقرأ إدخالاً وتحقق من قيمة بسيطة ونفّذ تفرعاً لاتخاذ قرار واطبع نتيجة مفيدة.Read input, validate a simple value, branch on a decision, and print a useful result.
- يُرفض الإدخال غير الصالح برسالة تصحيحية.Invalid input is rejected with a corrective message.
- ينتج الشرط الفرع الصحيح عند الحد.The condition produces the correct branch at the boundary.
- توضح المخرجات القرار والخطوة التالية المناسبة.Output states the decision and an appropriate next step.
الأخطاء الشائعةCommon errors
- يبدأ المتعلم كتابة الكود قبل إعداد جدول القرار، فيغفل مساراً غير صالح أو مسار حد.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.
تدخلات المدرّبTrainer interventions
- اطلب من المتعلم الإشارة إلى المرحلة المخططة والسطر المتوقع المرتبطين بالفشل الحالي؛ ولا تقترح صياغة التنفيذ.Ask the learner to point to the planned stage and expected row that correspond to the current failure; do not suggest implementation syntax.
- استخدم أسئلة محايدة للشرح الملاحظ: ما الإدخال؟ وما الذي جعله صالحاً؟ وأي شرط كان صحيحاً؟ وماذا عرف المستخدم الخيالي؟Use neutral observed-explanation prompts: what came in, what made it usable, which condition was true, and what did the fictional user learn.
- عند نقص الأدلة، حدّد مساراً فاشلاً واحداً وقدّم جدول الاستدراك وموعده دون مشاركة حل أو عمل متعلم آخر.When evidence is incomplete, identify one failing path and issue the recovery table and deadline without sharing a solution or another learner's work.
الاستدراك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.
البديل عند الانقطاعInterruption fallback
استخدم العرض المسجّل والحزمة العربية القابلة للتنزيل والنسخة المحلية من البداية؛ واعتمد دليلاً مكافئاً عن بُعد أو دون اتصال بعد أن يسجل المنسق الانقطاع.Use the recorded demonstration, downloadable Arabic-first pack and local starter copy; approve equivalent remote or offline evidence after the coordinator records the interruption.
الخصوصية والذكاء الاصطناعيPrivacy and AI reminders
الخصوصية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.
الذكاء الاصطناعي المسؤولResponsible AI
تنفيذ التحقق وشرحه الملاحظ عملان فرديان. ويتطلب أي استخدام سابق للذكاء الاصطناعي حفظ الطلب المحجوب والاقتراح وقرار القبول أو الرفض وسببه ودليل الاختبار والشرح النهائي؛ ولا يجوز مشاركة بيانات شخصية أو بيانات دخول.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.
نص التسجيلRecording script
السردNarration
- قدّم التحقق الفردي دون عرض كود تنفيذ مكتمل. اعرض ملف البداية غير المكتمل كما هو مع إبقاء كل 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 واختبر كل مسار.") اعرض نموذج الخطة التالي: حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط: اعرض جدول السلوك المقدم كما هو: الإدخال "" ← النوع 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 — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحد اعرض سجل الذكاء الاصطناعي: الطلب المحجوب أو لم يُستخدم الذكاء الاصطناعي: الاقتراح المستلم أو لا يوجد: القرار: مقبول أو مرفوض: السبب: دليل الاختبار: الشرح النهائي بصياغتي: اعرض نموذج التأمل والاستدراك: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك: اشرح حدود العمل الفردي والجدول الدقيق ذي الكتل الخمس ومعايير السلوك ومراجعة الأدلة والشرح الملاحظ والملاحظات والاستدراك خلال أسبوع واحد.Present the individual checkpoint without showing completed implementation code. Show the exact incomplete starter with every TODO unresolved: 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 واختبر كل مسار.") Show this plan template: 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: Show the exact supplied behavioral table: 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. Show the six evidence requirements: 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 Show the AI log: Prompt (redacted) or no AI used: Suggestion received or none: Accepted or rejected decision: Reason: Test evidence: Final explanation in my own words: Show the reflection and recovery template: 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: Explain the individual-work boundary, the exact five-block schedule, the behavioral criteria, evidence review, observed explanation, feedback, and one-week recovery.
إجراءات الشاشةScreen actions
- قدّم التحقق الفردي دون عرض كود تنفيذ مكتمل. اعرض ملف البداية غير المكتمل كما هو مع إبقاء كل 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 واختبر كل مسار.") اعرض نموذج الخطة التالي: حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط: اعرض جدول السلوك المقدم كما هو: الإدخال "" ← النوع 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 — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحد اعرض سجل الذكاء الاصطناعي: الطلب المحجوب أو لم يُستخدم الذكاء الاصطناعي: الاقتراح المستلم أو لا يوجد: القرار: مقبول أو مرفوض: السبب: دليل الاختبار: الشرح النهائي بصياغتي: اعرض نموذج التأمل والاستدراك: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك: اعرض النماذج الفارغة ومتطلبات السلوك فقط، ووضّح تسمية مجلد الأدلة باستخدام عناصر نائبة فارغة، ولا تفتح كود متعلم أو نتيجة مكتملة أبداً.Present the individual checkpoint without showing completed implementation code. Show the exact incomplete starter with every TODO unresolved: 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 واختبر كل مسار.") Show this plan template: 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: Show the exact supplied behavioral table: 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. Show the six evidence requirements: 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 Show the AI log: Prompt (redacted) or no AI used: Suggestion received or none: Accepted or rejected decision: Reason: Test evidence: Final explanation in my own words: Show the reflection and recovery template: 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: Display only blank templates and behavioral requirements, demonstrate evidence folder naming with empty placeholders, and never open learner code or a completed result.
النصوص الظاهرةCaptions
- قدّم التحقق الفردي دون عرض كود تنفيذ مكتمل. اعرض ملف البداية غير المكتمل كما هو مع إبقاء كل 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 واختبر كل مسار.") اعرض نموذج الخطة التالي: حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط: اعرض جدول السلوك المقدم كما هو: الإدخال "" ← النوع 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 — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحد اعرض سجل الذكاء الاصطناعي: الطلب المحجوب أو لم يُستخدم الذكاء الاصطناعي: الاقتراح المستلم أو لا يوجد: القرار: مقبول أو مرفوض: السبب: دليل الاختبار: الشرح النهائي بصياغتي: اعرض نموذج التأمل والاستدراك: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك: التعليقات: «تحقق فردي»؛ «العمر الاصطناعي فقط»؛ «اختبر دون 16 وعندها»؛ «الأدلة نفسها خلال أسبوع واحد»؛ «لا يوجد حل عام بعد».Present the individual checkpoint without showing completed implementation code. Show the exact incomplete starter with every TODO unresolved: 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 واختبر كل مسار.") Show this plan template: 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: Show the exact supplied behavioral table: 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. Show the six evidence requirements: 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 Show the AI log: Prompt (redacted) or no AI used: Suggestion received or none: Accepted or rejected decision: Reason: Test evidence: Final explanation in my own words: Show the reflection and recovery template: 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: Captions: “individual checkpoint”; “synthetic age only”; “test below and at 16”; “same evidence within one week”; “no public solution yet.”
نقاط التوقفPause points
- قدّم التحقق الفردي دون عرض كود تنفيذ مكتمل. اعرض ملف البداية غير المكتمل كما هو مع إبقاء كل 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 واختبر كل مسار.") اعرض نموذج الخطة التالي: حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط: اعرض جدول السلوك المقدم كما هو: الإدخال "" ← النوع 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 — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحد اعرض سجل الذكاء الاصطناعي: الطلب المحجوب أو لم يُستخدم الذكاء الاصطناعي: الاقتراح المستلم أو لا يوجد: القرار: مقبول أو مرفوض: السبب: دليل الاختبار: الشرح النهائي بصياغتي: اعرض نموذج التأمل والاستدراك: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك: توقف كي يعيد المتعلمون شرح المساعدة المسموحة ويرتبوا اختباراتهم ويتحققوا من معرّفات الأدلة الستة ويحددوا إجراء الاستدراك دون مناقشة التنفيذ.Present the individual checkpoint without showing completed implementation code. Show the exact incomplete starter with every TODO unresolved: 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 واختبر كل مسار.") Show this plan template: 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: Show the exact supplied behavioral table: 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. Show the six evidence requirements: 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 Show the AI log: Prompt (redacted) or no AI used: Suggestion received or none: Accepted or rejected decision: Reason: Test evidence: Final explanation in my own words: Show the reflection and recovery template: 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: Pause for learners to restate permitted help, order their tests, check six evidence IDs, and identify a recovery action without discussing implementation.
قائمة التحقق من التسجيلRecording checklist
- قدّم التحقق الفردي دون عرض كود تنفيذ مكتمل. اعرض ملف البداية غير المكتمل كما هو مع إبقاء كل 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 واختبر كل مسار.") اعرض نموذج الخطة التالي: حقل الإدخال المسموح: العمر الاصطناعي فقط المرحلة 1 — قراءة النص الخام: المرحلة 2 — التحويل أو إصدار رسالة تصحيح: المرحلة 3 — فرض النطاق الشامل من 0 إلى 120: المرحلة 4 — تطبيق حد العمر الخيالي 16: المرحلة 5 — طباعة نتيجة عربية واحدة قابلة للتنفيذ: ترتيب الاختبارات المخطط: اعرض جدول السلوك المقدم كما هو: الإدخال "" ← النوع 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 — دليل شرح فردي ملاحظ للإدخال والتحقق والفرع والمخرجات وتصحيح واحد اعرض سجل الذكاء الاصطناعي: الطلب المحجوب أو لم يُستخدم الذكاء الاصطناعي: الاقتراح المستلم أو لا يوجد: القرار: مقبول أو مرفوض: السبب: دليل الاختبار: الشرح النهائي بصياغتي: اعرض نموذج التأمل والاستدراك: مسار واحد أستطيع شرحه بثقة: اختبار واحد غيّر الكود الذي كتبته: فحص خصوصية واحد أكملته: إجراء التدريب التالي: هل الاستدراك مطلوب؟ نعم أو لا: موعد التقديم المتفق عليه خلال أسبوع واحد عند الحاجة إلى الاستدراك: تحقق من تقديم العربية أولاً، وأن الكتل الخمس تساوي 300 دقيقة مختبر تحت الإشراف، ودقة كل حالة ومعرّف دليل، وذكر قواعد الخصوصية والذكاء الاصطناعي، وأن الاستدراك خلال أسبوع واحد، وعدم ظهور كود حل أو مفتاح إجابة.Present the individual checkpoint without showing completed implementation code. Show the exact incomplete starter with every TODO unresolved: 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 واختبر كل مسار.") Show this plan template: 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: Show the exact supplied behavioral table: 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. Show the six evidence requirements: 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 Show the AI log: Prompt (redacted) or no AI used: Suggestion received or none: Accepted or rejected decision: Reason: Test evidence: Final explanation in my own words: Show the reflection and recovery template: 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: Confirm Arabic is first, all five blocks total 300 supervised-lab minutes, every case/evidence ID is exact, privacy and AI rules are stated, recovery is within one week, and no solution code or answer key appears.