تطبيق عملي · التمارين

المشروع النهائي

حوّل المفاهيم إلى شيفرة قابلة للاختبار، مع الرجوع دائمًا إلى مواصفات CS50 الأصلية.

جلسة دراسة مقترحة: حتى 60 دقيقةالجهد الكلي التقريبي: 180 دقيقة · أكمل من حيث توقفت لاحقًا.Week 10
محاور هذه الخطوة
  • المشروع النهائي
  • التجريد
  • حل المشكلات
  • العرض

ترجمة آلية تحت المراجعة

المشروع النهائي

المصدر الأصلي

المشروع النهائي

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

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

أفكار

  • تطبيق قائم على الويب باستخدام JavaScript وPython وSQL
  • تطبيق iOS يستخدم Swift
  • لعبة تستخدم Lua مع LÖVE
  • تطبيق Android يستخدم Java
  • امتداد Chrome باستخدام JavaScript
  • برنامج سطر أوامر باستخدام لغة C
  • تطبيق قائم على الأجهزة والذي تقوم ببرمجة بعض الأجهزة له

البدء

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

  • ماذا سيفعل برنامجك؟ ما هي الميزات التي سيكون لها؟ كيف سيتم تنفيذه؟
  • ما هي المهارات الجديدة التي ستحتاج إلى اكتسابها؟ ما هي المواضيع التي ستحتاج إلى البحث فيها؟
  • إذا كنت تعمل مع زميل أو اثنين في الفصل، فمن سيفعل ماذا؟
  • في عالم البرمجيات، يستغرق تنفيذ معظم الأشياء وقتًا أطول مما تتوقع. ولذلك ليس من غير المألوف أن تنجز أقل مما تأمل في فترة زمنية محددة. ما الذي قد تعتبره نتيجة جيدة لمشروعك؟ نتيجة أفضل؟ أفضل نتيجة؟

فكر في تحديد أهداف رئيسية لإبقائك على المسار الصحيح.

في حالة استخدام CS50 Codespace، قم بإنشاء دليل يسمى project لتخزين الالشيفرة المصدريةي لمشروعك والملفات الأخرى. نرحب بك لتطوير مشروعك خارج نطاق CS50 Codespace.

كيفية الإرسال

الخطوة 1 من 3

أنشئ مقطع فيديو قصيرًا (لا تزيد مدته عن 3 دقائق) تقدم فيه مشروعك للعالم. الفيديو الخاص بك يجب يبدأ بقسم افتتاحي يعرض:

  • عنوان مشروعك؛
  • اسمك؛
  • أسماء مستخدمي GitHub وedX الخاصة بك؛
  • مدينتك وبلدك؛
  • وتاريخ تسجيل هذا الفيديو.

يجب أن يستمر بعد ذلك في عرض مشروعك عمليًا، كما هو الحال مع الشرائح ولقطات الشاشة والتعليق الصوتي و/أو الإجراء المباشر. انظر howtogeek.com/205742/how-to-record-your-windows-mac-linux-android-or-ios-screen للحصول على نصائح حول كيفية عمل "تسجيل للشاشة"، على الرغم من أنه يمكنك استخدام كاميرا فعلية. قم بتحميل مقطع الفيديو الخاص بك على موقع YouTube (أو على موقع مشابه إذا كان محظورًا في بلدك) ولاحظ عنوان URL الخاص به؛ من الجيد وضع علامة عليها على أنها "غير مدرجة"، لكن لا تضع علامة عليها على أنها "خاصة".

أرسل هذا النموذج!

الخطوة 2 من 3

قم بإنشاء README.md ملف نصي (يسمى هذا بالضبط!) في ملفك project مجلد يشرح مشروعك. يجب أن يتضمن هذا الملف عنوان مشروعك وعنوان URL الخاص بالفيديو (الذي تم إنشاؤه في الخطوة 1 أعلاه) ووصفًا لمشروعك. يمكنك استخدام ما يلي كقالب.

# YOUR PROJECT TITLE
#### Video Demo:  <URL HERE>
#### Description:
TODO

إذا لم تكن على دراية ببناء جملة Markdown، فقد تجد GitHub قواعد الكتابة والتنسيق الأساسية مفيد. يمكنك أيضًا معاينة ملفك .md بالضغط على أيقونة "المعاينة" كما هو موضح هنا: معاينة تخفيض السعر في vscode. مشروع البرمجيات القياسية يمكن أن يصل طول READMEغالبًا إلى آلاف أو عشرات الآلاف من الكلمات؛ ليس من الضروري أن تكون كلماتك طويلة جدًا، ولكن يجب أن تكون على الأقل عدة مئات من الكلمات التي تصف الأشياء بالتفصيل!

تنفيذ أمر submit50 أدناه من داخل ملفك دليل project (أو من أي دليل يحتوي على README.md ورمز مشروعك، والذي يجب إرساله أيضًا)، وقم بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور الخاصين بـ GitHub عند المطالبة بذلك. لأغراض الأمان، سترى العلامات النجمية بدلاً من الأحرف الفعلية في كلمة المرور الخاصة بك.

submit50 cs50/problems/2026/x/project
هل تواجه مشكلة في الإرسال؟

إذا واجهت مشكلات لأن مشروعك كبير جدًا، فحاول ضغط جميع محتويات هذا الدليل (باستثناء README.md) ثم أرسل ذلك بدلاً من ذلك. إذا كان لا يزال كبيرًا جدًا، فحاول إزالة ملفات تكوين معينة، أو تقليل حجم الإرسال الخاص بك إلى أقل من 100 ميجابايت، أو حاول التحميل مباشرة باستخدام واجهة الويب الخاصة بـ GitHub من خلال الزيارة github.com/me50/USERNAME (أين USERNAME هو اسم مستخدم GitHub الخاص بك) وقم بسحب المجلدات وإسقاطها يدويًا، مما يضمن أنك تقوم بذلك عند التحميل على جهازك. فرع cs50/problems/2026/x/project ، وإلا فلن يتمكن النظام من التحقق منه!

الخطوة 3 من 3

تأكد من زيارة دفتر العلامات الخاص بك على cs50.me/cs50x بعد دقائق قليلة من الإرسال. فقط عن طريق تحميل دفتر التقديرات الخاص بك، يمكن للنظام التحقق لمعرفة ما إذا كنت قد أكملت الدورة التدريبية، وهذا أيضًا ما يؤدي إلى الإنشاء (الفوري) لشهادة CS50 المجانية الخاصة بك وإنشاء (في غضون 30 يومًا) للشهادة التي تم التحقق منها من edX، إذا كنت قد أكملت جميع المهام الأخرى. تأكد من المطالبة بشهادتك المجانية (باتباع الرابط الموجود أعلى دفتر التقديرات الخاص بك) قبل ذلك 2026-12-31T23:59:00+00:00.

هذا كل شيء! يجب أن يتم تصنيف مشروعك في غضون دقائق قليلة. إذا لم تشاهد أي نتائج في دفتر التقديرات الخاص بك، فمن الأفضل إعادة الإرسال (تشغيل ما ورد أعلاه). أمر submit50 ) مع ملف README.md فقط هذه المرة. لا حاجة لإعادة إرسال النموذج الخاص بك.

كان هذا هو CS50x!

خطوتك التالية

اختر تمرينًا، واقرأ مواصفاته الأصلية قبل كتابة الشيفرة

بعد الاختبار، عد إلى هذه الصفحة وعلّم صفحة التمارين كمكتملة يدويًا.

أنهيت قراءة المتطلبات واختيار التمرين؟

يمكنك قراءة الدورة كاملة دون حساب. يصبح حفظ التقدم متاحًا بعد تفعيل الحساب، ويبقى محفوظًا بعد انتهاء العضوية.