📅 خطة الفصل الدراسي — 12 أسبوع
الفئة المستهدفة: طلاب المرحلة الثانوية أو الجامعية (مبتدئون) المدة: 12 أسبوع × 3 ساعات = 36 ساعة تدريسية المتطلبات: جهاز كمبيوتر + متصفح إنترنت
📊 نظرة عامة
┌────────────────────────────────────────────────────────────────┐
│ الأسابيع 1-4 │ الأساسيات والتحكم في التدفق │
├────────────────────────────────────────────────────────────────┤
│ الأسابيع 5-6 │ الدوال │
├────────────────────────────────────────────────────────────────┤
│ الأسبوع 6 │ ★ اختبار منتصف الفصل │
├────────────────────────────────────────────────────────────────┤
│ الأسابيع 7-9 │ هياكل البيانات │
├────────────────────────────────────────────────────────────────┤
│ الأسابيع 10-11 │ البرمجة الكائنية + المشروع │
├────────────────────────────────────────────────────────────────┤
│ الأسبوع 12 │ ★ المشروع النهائي + الاختبار │
└────────────────────────────────────────────────────────────────┘🗓️ الأسبوع 1: مقدمة وأول برنامج
أهداف التعلم
- فهم ما هي البرمجة ولماذا نتعلمها
- كتابة وتشغيل أول برنامج بلغة ص
- استخدام الـ Playground
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | ما هي البرمجة؟ لماذا لغة ص؟ | عرض + نقاش |
| 2 | تجهيز البيئة + أول برنامج | تطبيق عملي |
| 3 | الطباعة والتعليقات | تمارين |
الدروس المرتبطة
- l1_01: مرحبا بالعالم
- l1_02: التعليقات
- l1_03: الطباعة المتقدمة
الواجب المنزلي
sad
# اطبع بطاقة تعريفية عن نفسك:
# - اسمك
# - عمرك
# - هوايتك المفضلة
# - لماذا تريد تعلم البرمجةمعايير النجاح ✅
- [ ] الطالب يستطيع الوصول للـ Playground
- [ ] الطالب يكتب برنامج يطبع نصاً
- [ ] الطالب يفهم الفرق بين
اطبعواطبع_سطر
🗓️ الأسبوع 2: المتغيرات والأنواع
أهداف التعلم
- فهم مفهوم المتغير والثابت
- التعرف على أنواع البيانات الأساسية
- تحويل الأنواع
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | المتغيرات — صناديق تخزين | شرح + أمثلة |
| 2 | الأنواع: رقم، نص، منطقي | تطبيق |
| 3 | قراءة الإدخال من المستخدم | تمرين تفاعلي |
الدروس المرتبطة
- l1_04: قراءة الإدخال
- l1_05: المتغيرات
- l1_06: أسماء المتغيرات
- l1_07: الثوابت
- l1_08: أنواع البيانات
الواجب المنزلي
sad
# اكتب برنامجاً يسأل المستخدم عن:
# 1. اسمه
# 2. عمره
# 3. مدينته
# ثم يطبع ملخصاً: "أنت [الاسم] من [المدينة]، عمرك [العمر] سنة"معايير النجاح ✅
- [ ] الطالب يُعرّف متغيرات بأسماء عربية واضحة
- [ ] الطالب يفرّق بين المتغير والثابت
- [ ] الطالب يقرأ إدخال المستخدم ويستخدمه
🗓️ الأسبوع 3: العمليات الحسابية والمنطقية
أهداف التعلم
- إجراء العمليات الحسابية الأربع
- فهم أولوية العمليات
- استخدام العوامل المنطقية
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | +، -، *، /، %، ** | حاسبة بسيطة |
| 2 | أولوية العمليات | تمارين |
| 3 | العمليات المنطقية: و، أو، ليس | تمارين |
الدروس المرتبطة
- l1_09 → l1_15
الواجب المنزلي
sad
# آلة حاسبة متوسط الدرجات
# اسأل المستخدم عن 3 درجات
# احسب المجموع والمتوسط
# اطبع النتائجمشروع صغير: آلة حاسبة
sad
# إنشاء آلة حاسبة بسيطة
اطبع("الرقم الأول: ")
متغير أ = رقم(اقرأ())
اطبع("الرقم الثاني: ")
متغير ب = رقم(اقرأ())
اطبع("العملية (+، -، *، /): ")
متغير عملية = اقرأ()
إذا (عملية == "+")
اطبع_سطر("الناتج: " + (أ + ب))
وإلا إذا (عملية == "-")
اطبع_سطر("الناتج: " + (أ - ب))
# ... إلخ
نهاية🗓️ الأسبوع 4: الشروط (إذا/وإلا)
أهداف التعلم
- كتابة شروط بسيطة ومركبة
- استخدام وإلا إذا للحالات المتعددة
- فهم الشرط المتداخل
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | إذا البسيط | أمثلة تفاعلية |
| 2 | إذا/وإلا | نظام تقييم الدرجات |
| 3 | الشروط المتداخلة | لعبة تخمين |
الدروس المرتبطة
- l1_16 → l1_20
مشروع: نظام التقييم
sad
اطبع("أدخل الدرجة: ")
متغير درجة = رقم(اقرأ())
إذا (درجة >= 90)
اطبع_سطر("ممتاز! 🌟")
وإلا إذا (درجة >= 80)
اطبع_سطر("جيد جداً 👍")
وإلا إذا (درجة >= 70)
اطبع_سطر("جيد")
وإلا إذا (درجة >= 60)
اطبع_سطر("مقبول")
وإلا
اطبع_سطر("راسب — حاول مجدداً!")
نهاية🗓️ الأسبوع 5: الحلقات (التكرار)
أهداف التعلم
- استخدام حلقة
بينما - استخدام حلقة
لكل - التحكم في الحلقات:
توقفواستمر
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | حلقة بينما | عداد + أنماط |
| 2 | حلقة لكل مع مدى | جدول الضرب |
| 3 | توقف واستمر | البحث في قائمة |
الدروس المرتبطة
- l1_21 → l1_30
مشروع: جدول الضرب
sad
اطبع("أدخل رقم الجدول: ")
متغير الرقم = رقم(اقرأ())
اطبع_سطر("═══ جدول ضرب " + الرقم + " ═══")
لكل ع في 1..13
اطبع_سطر(الرقم + " × " + ع + " = " + (الرقم * ع))
نهايةمشروع: لعبة تخمين الرقم
sad
# اللعبة تختار رقماً عشوائياً
# اللاعب يحاول تخمينه
# اللعبة تقول "أكبر" أو "أصغر" حتى يصيب🗓️ الأسبوع 6: اختبار منتصف الفصل + مراجعة
الجدول
| الحصة | النشاط |
|---|---|
| 1 | مراجعة شاملة — أسئلة وأجوبة |
| 2 | ★ الاختبار (45 دقيقة) |
| 3 | مناقشة الحلول + تصحيح جماعي |
توزيع درجات الاختبار
- القسم أ: اختيار من متعدد (10 درجات)
- القسم ب: أكمل الكود (10 درجات)
- القسم ج: اكتب برنامج (10 درجات)
🗓️ الأسبوع 7-8: الدوال
أهداف التعلم (أسبوعان)
- تعريف واستدعاء الدوال
- المعاملات والقيم المُرجعة
- القيم الافتراضية للمعاملات
- الدوال المتكررة (Recursion)
المحتوى
| الأسبوع | الحصة | الموضوع |
|---|---|---|
| 7 | 1 | لماذا الدوال؟ التعريف والاستدعاء |
| 7 | 2 | المعاملات |
| 7 | 3 | القيم المُرجعة (ارجع) |
| 8 | 1 | القيم الافتراضية |
| 8 | 2 | دوال داخل دوال |
| 8 | 3 | مقدمة في التكرار (Recursion) |
الدروس المرتبطة
- l2_01 → l2_10
مشروع: مكتبة دوال رياضية
sad
# اكتب دوال:
# 1. مساحة_دائرة(نصف_القطر)
# 2. مساحة_مثلث(قاعدة، ارتفاع)
# 3. تحويل_درجة(درجة، من_نظام) # من فهرنهايت لسيلسيوس والعكس🗓️ الأسبوع 9: المصفوفات والخرائط
أهداف التعلم
- إنشاء واستخدام المصفوفات
- عمليات المصفوفات: إضافة، حذف، بحث
- الخرائط (القواميس)
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | المصفوفات — الأساسيات | قائمة طلاب |
| 2 | عمليات المصفوفات | ترتيب، بحث، فلترة |
| 3 | الخرائط | دليل هاتف بسيط |
الدروس المرتبطة
- l2_30 → l2_40
مشروع: مدير جهات الاتصال
sad
متغير جهات = []
دالة أضف_جهة(الاسم، الهاتف)
جهات.أضف({"الاسم": الاسم، "الهاتف": الهاتف})
اطبع_سطر("تمت الإضافة ✓")
نهاية
دالة ابحث(الاسم)
لكل جهة في جهات
إذا (جهة["الاسم"] == الاسم)
ارجع جهة["الهاتف"]
نهاية
نهاية
ارجع "غير موجود"
نهاية
# ... واجهة تفاعلية🗓️ الأسبوع 10: مقدمة البرمجة الكائنية (OOP)
أهداف التعلم
- فهم مفهوم الصنف والكائن
- الباني والخصائص
- الدوال داخل الأصناف
المحتوى
| الحصة | الموضوع | النشاط |
|---|---|---|
| 1 | ما هي OOP؟ الصنف = قالب | شرح بصري |
| 2 | صنف طالب — الباني والخصائص | تطبيق |
| 3 | إضافة دوال للصنف | تمارين |
الدروس المرتبطة
- l3_01 → l3_10
مشروع: صنف الطالب
sad
صنف طالب
متغير الاسم
متغير الدرجة
باني(اسم، درجة)
هذا.الاسم = اسم
هذا.الدرجة = درجة
نهاية
دالة النتيجة()
إذا (هذا.الدرجة >= 60)
ارجع "ناجح"
نهاية
ارجع "راسب"
نهاية
دالة طباعة()
اطبع_سطر(هذا.الاسم + ": " + هذا.الدرجة + " — " + هذا.النتيجة())
نهاية
نهاية
متغير أحمد = طالب("أحمد", 85)
أحمد.طباعة()🗓️ الأسبوع 11: المشروع الختامي — التطوير
الهدف
تطبيق كل ما تعلمه الطالب في مشروع متكامل.
خيارات المشاريع
| المشروع | الصعوبة | المفاهيم المُغطاة |
|---|---|---|
| 🎮 لعبة Quiz تفاعلية | ⭐⭐ | مصفوفات، دوال، شروط |
| 📚 نظام مكتبة بسيط | ⭐⭐⭐ | OOP، مصفوفات، ملفات |
| 🛒 سلة تسوق | ⭐⭐ | خرائط، دوال، حلقات |
| 📊 محلل درجات | ⭐⭐⭐ | دوال، إحصائيات، OOP |
معايير المشروع
- [ ] الكود يعمل بدون أخطاء
- [ ] استخدام دالتين على الأقل
- [ ] تعليقات توضيحية
- [ ] واجهة مستخدم نصية واضحة
- [ ] معالجة حالات الخطأ
جدول الأسبوع
| الحصة | النشاط |
|---|---|
| 1 | اختيار المشروع + التخطيط |
| 2 | البدء بالتطوير |
| 3 | مراجعة التقدم + مساعدة |
🗓️ الأسبوع 12: العرض والاختبار النهائي
الجدول
| الحصة | النشاط |
|---|---|
| 1 | عروض المشاريع (كل طالب 5 دقائق) |
| 2 | ★ الاختبار النهائي (60 دقيقة) |
| 3 | توزيع الدرجات + تقييم المقرر |
توزيع الدرجات النهائية
| المكون | النسبة |
|---|---|
| الواجبات والمشاركة | 20% |
| اختبار منتصف الفصل | 20% |
| المشروع الختامي | 30% |
| الاختبار النهائي | 30% |
📝 نصائح للتنفيذ
مرونة الخطة
هذه خطة مقترحة — عدّلها حسب مستوى طلابك وسرعتهم.
الممارسة أهم من الحفظ
خصص وقتاً كافياً للتطبيق العملي. البرمجة مهارة تُكتسب بالممارسة.
التعلم من الأخطاء
شجّع الطلاب على تجربة أفكارهم حتى لو أخطأوا. الأخطاء جزء طبيعي من التعلم.
استخدم هذه الخطة كقاعدة وعدّلها حسب احتياجاتك