Skip to content

📅 خطة الفصل الدراسي — 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)

المحتوى

الأسبوعالحصةالموضوع
71لماذا الدوال؟ التعريف والاستدعاء
72المعاملات
73القيم المُرجعة (ارجع)
81القيم الافتراضية
82دوال داخل دوال
83مقدمة في التكرار (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%

📝 نصائح للتنفيذ

مرونة الخطة

هذه خطة مقترحة — عدّلها حسب مستوى طلابك وسرعتهم.

الممارسة أهم من الحفظ

خصص وقتاً كافياً للتطبيق العملي. البرمجة مهارة تُكتسب بالممارسة.

التعلم من الأخطاء

شجّع الطلاب على تجربة أفكارهم حتى لو أخطأوا. الأخطاء جزء طبيعي من التعلم.


استخدم هذه الخطة كقاعدة وعدّلها حسب احتياجاتك

مُرخَّص بموجب رخصة MIT