الانتقال إلى المحتوى

التطوير الإبداعي

AP مبادئ علوم الحاسوب · الموضوع 1

درس فيديو لهذا الموضوع افتح صفحة الفيديو
6:15

التطوير الإبداعي

إليك برنامج يطبع المتوسط الحسابي لعددين. يعمل. لا يتوقف عن العمل. يطبع إجابة — والإجابة خاطئة. أعطه أربعة وستة…

سرد باللغة الإنجليزية · ترجمة مدمجة بالإنجليزية + الصينية

1.1

التعاون

المنهج

فهم دائم (CRD-1): دمج وجهات نظر متعددة من خلال التعاون يحسن الابتكارات الحاسوبية أثناء تطويرها.

هدف التعلم CRD-1.A: اشرح كيف تتحسن الابتكارات الحاسوبية من خلال التعاون. [مهارة 1.C]

  • CRD-1.A.1 تتضمن الابتكار الحاسوبي برنامجًا كجزء لا يتجزأ من وظيفته.
  • CRD-1.A.2 يمكن أن يكون الابتكار الحاسوبي ماديًا (مثل سيارة ذاتية القيادة)، أو برمجيات حاسوبية غير مادية (مثل برامج تعديل الصور)، أو مفهوم حاسوبي غير مادي (مثل التجارة الإلكترونية).
  • CRD-1.A.3 ينتج التعاون الفعال ابتكارًا حاسوبيًا يعكس تنوع المهارات ووجهات النظر لأولئك الذين صمموه.
  • CRD-1.A.4 يساعد التعاون الذي يتضمن وجهات نظر متنوعة في تجنب التحيز في تطوير الابتكارات الحاسوبية.
  • CRD-1.A.5 الاستشارة والتواصل مع المستخدمين جوانب مهمة من تطوير الابتكارات الحاسوبية.
  • CRD-1.A.6 يمكن استخدام المعلومات المستخرجة من المستخدمين المحتملين لفهم غرض البرنامج من وجهات نظر متنوعة وتطوير برنامج يدمج هذه الوجهات نظر بشكل كامل.

هدف التعلم CRD-1.B: اشرح كيف يتم تطوير الابتكارات الحاسوبية من قبل مجموعات من الناس. [مهارة 1.C]

  • CRD-1.B.1 تدعم الأدوات عبر الإنترنت التعاون من خلال السماح للمبرزين بمشاركة الأفكار والمستندات وتقديم التعليقات عليها.
  • CRD-1.B.2 توجد نماذج شائعة مثل البرمجة الزوجية لسهولة التعاون.

هدف التعلم CRD-1.C: إظهار مهارات تواصل فعالة أثناء التعاون. [مهارة 1.C]

  • CRD-1.C.1 فرق التعاون الفعالة تطبق مهارات التواصل بين الأشخاص، بما في ذلك على سبيل المثال لا الحصر:
    • التواصل
    • بناء الإجماع
    • حل النزاعات
    • التفاوض

المصدر: وصف دورة وامتحان College Board AP

لغز جigsaw قيد الإنشاء: التعاون والتصميم المعياري يكملان الحل معاً
لغز جigsaw قيد الإنشاء: التعاون والتصميم المعياري يكملان الحل معاً

علم الحاسوب نشاط تعاوني. العمل في فريق يجلب وجهات نظر أكثر، يكشف أخطاء أكثر، وينتج برامج أفضل من العمل الفردي. التعاون الجيد يستخدم بناء الإجماع، التواصل الواضح، وقدرات كل عضو. البرمجة الزوجية – شخصان عند جهاز كمبيوتر واحد، أحدهما يكتب والآخر يراجع – ممارسة شائعة. في الامتحان، يجب أن تكون قادراً على شرح كيف حسّن التعاون البرنامج (أفكار أكثر، أخطاء أقل، اختبار أوسع).

مفردات تدريب
English العربية
collaborative/kəˈlæbrətɪv/ تعاوني
Pair programming/peə ˈprəʊɡræmɪŋ/ البرمجة الزوجية
input/ˈɪnpʊt/ مدخلات
output/ˈaʊtpʊt/ نقرة فأرة تُبدأ عملاً هي مثال على
iterative/ˈɪtərətɪv/ تكرارية
decomposition/ˌdiːkɒmpəˈzɪʃn/ تحلل
Comments/ˈkɒments/ التعليقات
surveys/ˈsɜːveɪz/ استطلاعات
diagrams representing the layout of the user interface مخططات تمثل تخطيط واجهة المستخدم
event/ɪˈvent/ مخرجات
event handler/ɪˈvent ˈhændlə/ معالج الأحداث
debugging/ˈdiːbʌɡɪŋ/ تصحيح الأخطاء
syntax error/ˈsɪntæks ˈerə/ خطأ صياغة
runtime error/ˈrʌntaɪm ˈerə/ خطأ وقت التشغيل
logic error/ˈlɒdʒɪk ˈerə/ خطأ منطق
1.2

وظيفة البرنامج والغرض منه

المنهج

فهم دائم (CRD-2): المطورون يبتكرون ويبتكرون باستخدام عملية تصميم تكرارية تركز على المستخدم، وتدمج دورات التنفيذ/التغذية الراجعة، وتترك مجالًا واسعًا للتجربة والمخاطرة.

هدف التعلم CRD-2.A: صف غرض الابتكار الحاسوبي. [مهارة 1.A]

  • CRD-2.A.1 غرض الابتكارات الحاسوبية هو حل المشكلات أو السعي وراء الاهتمامات من خلال التعبير الإبداعي.
  • CRD-2.A.2 فهم غرض الابتكار الحاسوبي يوفر للمطورين قدرة محسنة على تطوير هذا الابتكار الحاسوبي.

هدف التعلم CRD-2.B: اشرح كيف يعمل برنامج أو مقطع كود. [مهارة 4.A]

  • CRD-2.B.1 البرنامج هو مجموعة من عبارات البرنامج تنفذ مهمة محددة عند تشغيلها بواسطة جهاز كمبيوتر. غالبًا ما يُشار إلى البرنامج بـ البرمجيات.
  • CRD-2.B.2 مقطع الكود هو مجموعة من عبارات البرنامج تكون جزءًا من برنامج.
  • CRD-2.B.3 يحتاج البرنامج إلى العمل لمجموعة متنوعة من المدخلات والمواقف.
  • CRD-2.B.4 سلوك البرنامج هو كيفية عمل البرنامج أثناء التنفيذ وغالبًا ما يُوصف بكيفية تفاعل المستخدم معه.
  • CRD-2.B.5 يمكن وصف البرنامج بشكل عام بما يقوم به، أو بتفصيل أكبر من خلال ما يقوم به البرنامج وكيفية تحقيق جمل البرنامج لهذه الوظيفة.

هدف التعلم CRD-2.C: تحديد المدخلات(ات) للبرنامج. [مهارة 3.A]

  • CRD-2.C.1 مدخلات البرنامج هي بيانات تُرسل إلى جهاز الحاسوب لمعالجتها بواسطة برنامج. قد تأتي المدخلات بأشكال متنوعة، مثل اللمس، والصوت، والمرئي، أو النص.
  • CRD-2.C.2 يرتبط حدث بإجراء ويوفر بيانات مدخلات للبرنامج.
  • CRD-2.C.3 يمكن توليد الأحداث عند الضغط على مفتاح، أو النقر بالماوس، أو بدء برنامج، أو حدوث أي إجراء آخر محدد يؤثر على تدفق التنفيذ.
  • CRD-2.C.4 عادةً ما تؤثر المدخلات على المخرجات التي ينتجها البرنامج.
  • CRD-2.C.5 في البرمجة القائمة على الأحداث، يتم تنفيذ جمل البرنامج عند التفعيل بدلاً من خلال التدفق المتسلسل للتحكم.
  • CRD-2.C.6 يمكن أن تأتي المدخلات من مستخدم أو برامج أخرى.

هدف التعلم CRD-2.D: تحديد المخرجات(ات) التي ينتجها البرنامج. [مهارة 3.A]

  • CRD-2.D.1 مخرجات البرنامج هي أي بيانات تُرسل من برنامج إلى جهاز. يمكن أن تأتي مخرجات البرنامج بأشكال متنوعة، مثل اللمس، والصوت، والمرئي، أو النص.
  • CRD-2.D.2 عادةً ما تعتمد مخرجات البرنامج على مدخلات البرنامج أو حالته السابقة (مثل القيم الداخلية).

المصدر: وصف دورة وامتحان College Board AP

كل برنامج كُتب لغرض ما – يحل مشكلة أو يطبع اهتماماً. يأخذ البرنامج مدخلات، يعالجها، وينتج مخرجات. المدخلات يمكن أن تأتي من مستخدم، جهاز، ملف، أو برنامج آخر؛ المخرجات يمكن أن تكون مرئية، سمعية، نصية، أو إشارة لجهاز. القدرة على صياغة غرض البرنامج ووصف مدخلاته ومخرجاته بوضوح هي مهارة جوهرية (وتجزء من مهمة الأداء Create).

كل برنامج يتحلل إلى مدخلات، معالجة، ومخرجات
كل برنامج يتحلل إلى مدخلات، معالجة، ومخرجات
كل برنامج يتبع نموذج المدخلات-المعالجة-المخرجات
كل برنامج يتبع نموذج المدخلات-المعالجة-المخرجات
استكشف

استكشف نموذج الإدخال → المعالجة → المخرج

مرّ بـ نموذج IPO. كل برنامج يأخذ بعض المدخلات، يقوم معالجة عليها بتوجيه تعليماته، ثم ينتج مخرجات — تتبع مثال تطبيق الطقس عبر هذا المسار.

1.3

تصميم وتطوير البرامج

المنهج

فهم دائم (CRD-2): المطورون يبتكرون ويبتكرون باستخدام عملية تصميم تكرارية تركز على المستخدم، وتدمج دورات التنفيذ/التغذية الراجعة، وتترك مجالًا واسعًا للتجربة والمخاطرة.

هدف التعلم CRD-2.E: تطوير برنامج باستخدام عملية تطوير. [مهارة 1.B]

  • CRD-2.E.1 يمكن أن تكون عملية التطوير مرتبة ومقصودة، أو استكشافية بطبيعتها.
  • CRD-2.E.2 توجد عمليات تطوير متعددة. المراحل التالية شائعة الاستخدام عند تطوير برنامج:
    • الاستكشاف والتأمل
    • التصميم
    • بناء النموذج الأولي
    • الاختبار
  • CRD-2.E.3 تتطلب عملية التطوير التكراري التحسين والمراجعة بناءً على التغذية الراجعة، أو الاختبار، أو التأمل طوال العملية. قد يتطلب ذلك العودة إلى مراحل سابقة من العملية.
  • CRD-2.E.4 عملية التطوير التدريجي هي التي تقسم المشكلة إلى أجزاء أصغر وتتأكد من عمل كل جزء قبل إضافته إلى الكل.

هدف التعلم CRD-2.F: تصميم برنامج وواجهة المستخدم الخاصة به. [مهارة 1.B]

  • CRD-2.F.1 يتضمن تصميم البرنامج استكشافاً لتحديد متطلباته.
  • CRD-2.F.2 يكون الاستكشاف في عملية التطوير مفيداً لفهم وتحديد قيود البرنامج، بالإضافة إلى اهتمامات ومشاعر الأشخاص الذين سيستخدمون البرنامج.
  • CRD-2.F.3 بعض طرق إجراء الاستكشاف كما يلي:
    • جمع البيانات من خلال الاستطلاعات
    • اختبار المستخدمين
    • المقابلات
    • الملاحظات المباشرة
  • CRD-2.F.4 تصف متطلبات البرنامج كيفية عمل البرنامج وقد تتضمن وصفاً للتفاعلات التي يجب أن يوفرها البرنامج مع المستخدم.
  • CRD-2.F.5 تحدد مواصفات البرنامج متطلباته.
  • CRD-2.F.6 في عملية التطوير، ترسم مرحلة التصميم كيف يمكن إنجاز مواصفات برنامج معينة.
  • CRD-2.F.7 قد تشمل مرحلة تصميم البرنامج ما يلي:
    • العصف الذهني
    • التخطيط ورسم المشاهد
    • تنظيم البرنامج في وحدات ومكونات وظيفية
    • إنشاء مخططات تمثل تخطيطات واجهة المستخدم
    • تطوير استراتيجية اختبار للبرنامج

هدف التعلم CRD-2.G: وصف الغرض من قطعة كود أو برنامج عن طريق كتابة التوثيق. [مهارة 4.A]

  • CRD-2.G.1 توثيق البرنامج هو وصف مكتوب لوظيفة قطعة كود، أو حدث، أو إجراء، أو برنامج وكيف تم تطويره.
  • CRD-2.G.2 التعليقات هي شكل من أشكال توثيق البرنامج يُكتب داخل البرنامج ليقرأه البشر ولا تؤثر على طريقة تشغيل البرنامج.
  • CRD-2.G.3 يجب على المبرمجين توثيق البرنامج طوال فترة تطويره.
  • CRD-2.G.4 يساعد توثيق البرنامج في تطوير وصيانة برامج صحيحة عند العمل بشكل فردي أو في بيئات برمجة تعاونية.
  • CRD-2.G.5 لا تدعم جميع بيئات البرمجة التعليقات، لذا قد تكون هناك حاجة لطرق أخرى للتوثيق.

هدف التعلم CRD-2.H: الاعتراف بقطع الكود المستخدمة من مصادر أخرى. [مهارة 1.C]

  • CRD-2.H.1 من المهم الاعتراف بأي قطع كود طُورت بشكل تعاوني أو بواسطة مصدر آخر.
  • CRD-2.H.2 يمكن أن يكون الاعتراف بقطعة(قطاعات) كود كتبها شخص آخر ومُستخدمة في البرنامج ضمن توثيق البرنامج. يجب أن يشمل الاعتراس أصل الكود أو اسم المؤلف الأصلي.

المصدر: وصف دورة وامتحان College Board AP

مبرمج يصحح أخطاء في محطة عمل متعددة الشاشات — التصميم والتكرار
مبرمج يصحح أخطاء في محطة عمل متعددة الشاشات — التصميم والتكرار

تُبنى البرامج عبر عملية تكرارية، وليس في خط مستقيم واحد: استقصِ المشكلة والمستخدمين، صمّم (غالباً باستخدام مخطط أو خطة مكتوبة)، نفذ الكود، وختبر – ثم كرر. يتم تقسيم المشكلات الكبيرة إلى أجزاء أصغر (التجزئة). تُوثّق التعليقات وتسميات واضحة التصميم حتى يتمكن الآخرون (وأنت في المستقبل) من فهمه. التطوير تدريجي – بنِ واختبر جزءاً صغيراً، ثم أضف الجزء التالي.

مراحل تطوير البرنامج، مع إعادة الاختبار لإصلاح وتحسين
مراحل تطوير البرنامج، مع إعادة الاختبار لإصلاح وتحسين
يتم بناء البرمجيات عبر عملية تطوير تكرارية وتدرجية
يتم بناء البرمجيات عبر عملية تطوير تكرارية وتدرجية

استقصاء ما يحتاجه المستخدمون حقاً

قبل كتابة أي كود، يستقصي المطور المشكلة والأشخاص الذين سيستخدمون البرنامج. ثلاث طرق للقيام بذلك:

  • استبيانات تُرسل للمستخدمين المحتملين، لجمع البيانات من عدد كبير من الناس بسرعة؛
  • مقابلات ومراقبة مباشرة للمستخدمين أثناء أداء المهمة يدوياً؛
  • دراسة الحلول الموجودة لمعرفة ما يعمل بالفعل وما يسبب الإحباط للناس.

تُحوّل النتائج إلى تصميم. يقوم عنصران بذلك: قائمة متطلبات البرنامج التي تحدد بدقة ما يجب على البرنامج فعله، ومخططات تمثل تخطيط واجهة المستخدم – رسومات توضح أي الأزرار تظهر أين، وماذا تفعل كل منها عند استخدامها. تصميم الواجهة على الورق أولاً أرخص من اكتشاف بعد كتابة الكود أن الأزرار في المكان الخطأ.

الأحداث، والبرامج التي تنتظر

لا يعمل كل برنامج بشكل مباشر من الأعلى إلى الأسفل. يتم توليد حدث عند الضغط على مفتاح، أو النقر بالماوس، أو بدء البرنامج، أو حدوث أي إجراء آخر محدد – ويغير الحدث مسار التنفيذ: يتوقف البرنامج عن ما كان يفعله وينفذ الكود المرتبط بهذا الحدث، والذي يُسمى معالج الأحداث.

ولهذا قد يبدو أن برنامجاً ذو واجهة رسومية لا يفعل شيئاً: فهو ينتظر الحدث التالي. ترتيب وصول هذه الأحداث يحدده المستخدم، وليس المبرمج، لذا يمكن لنفس البرنامج تنفيذ كتبه بترتيب مختلف في كل مرة يستخدم فيها.

استكشف

مرّ بعملية التطوير التكرارية

التطوير تكراري — تكرار المراحل، وتحسين البرنامج قليلاً في كل دورة. مرّ حول الحلقة ولاحظ أنها تعود للبداية بدلاً من الانتهاء بعد تشغيل واحد.

1.4

تحديد الأخطاء وتصحيحها

المنهج

فهم دائم (CRD-2): المطورون يبتكرون ويبتكرون باستخدام عملية تصميم تكرارية تركز على المستخدم، وتدمج دورات التنفيذ/التغذية الراجعة، وتترك مجالًا واسعًا للتجربة والمخاطرة.

هدف التعلم CRD-2.I: للأخطاء في خوارزمية أو برنامج: أ. تحديد الخطأ. [مهارة 4.C] ب. تصحيح الخطأ. [مهارة 4.C]

  • CRD-2.I.1 الخطأ المنطقي هو خطأ في الخوارزمية أو البرنامج يتسبب في سلوكه بشكل غير صحيح أو غير متوقع.
  • CRD-2.I.2 الخطأ اللغوي هو خطأ في البرنامج حيث لا تُتبع قواعد لغة البرمجة.
  • CRD-2.I.3 خطأ وقت التشغيل هو خطأ في البرنامج يحدث أثناء تنفيذ البرنامج. تحدد لغات البرمجة أخطاء وقت التشغيل الخاصة بها.
  • CRD-2.I.4 خطأ الاندفاع هو خطأ يحدث عندما يحاول الحاسوب التعامل مع رقم يقع خارج نطاق القيم المعرف.
  • CRD-2.I.5 الطرق الفعالة لإيجاد الأخطاء وتصحيحها هي:
    • حالات الاختبار
    • تتبع يدوي
    • التصورات البصرية
    • أدوات تصحيح الأخطاء
    • إضافة جملة(ات) إخراج إضافية

هدف التعلم CRD-2.J: تحديد المدخلات والمخرجات المتوقعة أو السلوكيات المقابلة التي يمكن استخدامها للتحقق من صحة خوارزمية أو برنامج. [مهارة 4.C]

  • CRD-2.J.1 في عملية التطوير، يستخدم الاختبار مدخلات محددة للتأكد من أن الخوارزمية أو البرنامج ينتج النتائج المتوقعة. يستخدم المبرمجون نتائج الاختبار لمراجعة خوارزمياتهم أو برامجهم.
  • CRD-2.J.2 يجب أن تُظهر المدخلات المحددة المستخدمة لاختبار البرنامج مخرجات متوقعة مختلفة تكون عند حدود البيانات المدخلة القصوى (الحد الأدنى والأقصى) أو قريبًا منها.
  • CRD-2.J.3 متطلبات البرنامج ضرورية لتحديد المدخلات المحددة المناسبة للاختبار.

المصدر: وصف دورة وامتحان College Board AP

الخلل البرمجي هو خطأ في البرنامج؛ إصلاح الأخطاء هو العثور عليه وإصلاحه. ثلاثة أنواع:

جدول التتبع يسجل قيمة كل متغير أثناء تشغيل البرنامج، لإيجاد الأخطاء
جدول التتبع يسجل قيمة كل متغير أثناء تشغيل البرنامج، لإيجاد الأخطاء
  • خطأ في الصياغة يخالف قواعد اللغة، لذلك لن يعمل البرنامج؛
  • خطأ وقت التشغيل يتسبب في انهيار البرنامج أثناء عمله (مثل القسمة على صفر)؛
  • خطأ منطقي يسمح له بالعمل لكن يعطي نتيجة خاطئة.

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

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

ثلاثة أنواع من أخطاء البرمجة: الصياغة، المنطق، ووقت التشغيل
ثلاثة أنواع من أخطاء البرمجة: الصياغة، المنطق، ووقت التشغيل

مثال محلول. برنامج مُصمم لطباعة متوسط عددين يقوم بدلاً من ذلك بتنفيذ avg = a + b / 2. بتتبع ترتيب العمليات، / يعمل قبل +، لذا يحسب $a+\tfrac{b}{2}$ بدلاً من المتوسط. أضف أقواس لحل المشكلة: avg = (a + b) / 2. الاختبار باستخدام $a=4,\ b=6$ يؤكد الإصلاح — السطر الخاطئ يعطي $4+3=7$، والسطر المصحح يعطي $\tfrac{10}{2}=5$. اختبار المدخلات المعروفة هو بالضبط كيف تجد وتؤكد خطأ المنطق.

استكشف

تتبع منطق لعبة التخمين واكتشف خطأ منطقياً

اسحب التخمين وانظر أي فرع سيتم تنفيذه. خطأ منطقي قد يوجه نفس التخمين إلى فرع خاطئ — البرنامج لا يزال يعمل، لكنه يعطي رسالة غير صحيحة. الرقم السري هنا هو 50.

1.4

نصائح للامتحان

  • يتم تقييم الكثير من CSP من خلال مهام الإنشاء وأداء الكتابة – اشرح استدراكك بوضوح، وليس فقط نتيجتك.
  • تعرف فوائد التعاون وكيف تقلل وجهات النظر المتنوعة من التحيز في البرنامج.
  • استخدم مفردات دقيقة (التطوير التكراري، متطلبات البرنامج) عندما تصف عملية التصميم.
  • قدم واستقبل الملاحظات بشكل بناء؛ أعطِ الائتمان للمشاركين والمصادر.
  • قم بتقسيم مشكلة كبيرة إلى وحدات أصغر يمكن لفريق بنائها بالتوازي.

دروس تفاعلية حول هذا الموضوع

ا-working عليه خطوة بخطوة، مع تمارين تحقق فوري.

أوراق الامتحانات السابقة

المزيد من المواضيع في AP مبادئ علوم الحاسوب

تسجيل الدخول أو إنشاء حساب

IGCSE, A-Level & AP