اختر لغتك
دورة C++
أكثر من 2 مليون طالب حول العالم

دورة C++

٤٫٦

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

Dedika للشركات

ماذا ستتعلم:

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

كيف تدرس بشكل عملي دورة C++

كيف تتدرب دورة C++

لك إذا كنت شركة وتريد تدريب فريقك

في Dedika للشركات، يأتي الكورس مع تمارين وأمثلة من عملك نفسه وبالطريقة التي تحتاجها شركتك.

اضغط هنا

محتوى الدورة

8 فصول • 40 دروسمدة بين 4 و 360 ساعة (أنت تقرر)

الفصل 1عرض التفاصيل

أساسيات لغة C++ وإعداد البيئة

  • الدرس 1 • المتغيرات والأنواع والقيم الحرفية

    يقدم أنواع البيانات الأساسية، تعريف المتغيرات، والقيم الحرفية. يبني المفردات اللازمة لكل عمليات معالجة البيانات المستقبلية.

  • الدرس 2 • إعداد بيئة التطوير

    تثبيت المترجمات وبيئات التطوير المتكاملة وأدوات البناء لتطوير تطبيقات C++. يوفر الأساس التقني الذي يعتمد عليه كل فصل تالٍ.

  • الدرس 3 • العوامل والتعبيرات

    يستكشف العوامل الحسابية والعلائقية والمنطقية وعوامل البت. تطبق قواعد أسبقية العوامل لكتابة تعبيرات صحيحة.

  • الدرس 4 • القواعد الأساسية وهيكل البرنامج

    يغطي تشريح ملف مصدر C++، بما في ذلك الرؤوس والدالة الرئيسية والتعليمات. يربط القواعد النحوية بكود قابل للقراءة والترجمة.

  • الدرس 5 • الإدخال والإخراج باستخدام iostream

    يعلم الإدخال والإخراج عبر وحدة التحكم باستخدام cin و cout من المكتبة القياسية. يتيح بناء برامج تفاعلية ضرورية للتمارين المبكرة.

الفصل 2عرض التفاصيل

التحكم في التدفق والدوال

  • الدرس 1 • الحلقات والتكرار

    يقدم حلقات for و while و do-while إلى جانب تعليمات التحكم في الحلقات. تشكل أنماط التكرار أساس الخوارزميات في الفصول اللاحقة.

  • الدرس 2 • النطاق والعمر وفئات التخزين

    يشرح نطاق المتغيرات المحلية والعالمية والثابتة وعمر الكائن. يمنع الأخطاء الشائعة الناتجة عن سوء فهم رؤية المتغيرات.

  • الدرس 3 • التكرار وتحميل الدوال

    يقدم حل المشكلات التكراري وتوقيعات دوال متعددة بنفس الاسم. يعد الطلاب للأنماط الخوارزمية المعقدة.

  • الدرس 4 • إعلان الدوال وتعريفها

    يعلم كيفية إعلان وتعريف واستدعاء الدوال باستخدام المعاملات وأنواع الإرجاع. الدوال هي الوحدة الأساسية لإعادة استخدام الكود في لغة C++.

  • الدرس 5 • الجمل الشرطية

    يغطي تراكيب if و else-if و else و switch لاتخاذ القرارات. يتيح بشكل مباشر بناء البرامج المدفوعة بالمنطق التي ستنفذ خلال الدورة.

الفصل 3عرض التفاصيل

المصفوفات والمؤشرات والذاكرة

  • الدرس 1 • تخصيص الذاكرة الديناميكي

    يعلم تخصيص الكومة باستخدام new وإلغاء التخصيص باستخدام delete. إدارة الموارد الصحيحة هنا تمنع تسرب الذاكرة في جميع البرامج المستقبلية.

  • الدرس 2 • المصفوفات والسلاسل النصية على نمط C

    يغطي المصفوفات ثابتة الحجم والمصفوفات متعددة الأبعاد والسلاسل المنتهية بقيمة خالية. يثبت هياكل البيانات منخفضة المستوى التي تبني عليها المؤشرات.

  • الدرس 3 • المراجع والثبات الصحيح

    يميز المراجع عن المؤشرات ويفرض استخدام const للأمان. الثبات الصحيح هو معيار ترميز محترف في لغة C++.

  • الدرس 4 • نظرة عامة على المؤشرات الذكية

    يقدم unique_ptr و shared_ptr و weak_ptr كبدائل أكثر أماناً للمؤشرات الأولية. يسد الفجوة بين إدارة الذاكرة اليدوية وأساليب لغة C++ الحديثة.

  • الدرس 5 • أساسيات المؤشرات

    يقدم تعريف المؤشر، وعامل عنوان (&)، وعامل الإسناد غير المباشر. المؤشرات مركزية للذاكرة الديناميكية والميزات كائنية التوجه القادمة.

الفصل 4عرض التفاصيل

البرمجة كائنية التوجه في لغة C++

  • الدرس 1 • تعدد الأشكال والدوال الافتراضية

    ينفذ تعدد الأشكال في وقت التشغيل عبر الدوال الافتراضية والكلاسات المجردة. يتيح تصميمات مرنة وقابلة للتوسع مركزية في قواعد أكواد C++ الكبيرة.

  • الدرس 2 • الوراثة والتسلسل الهرمي للكلاسات

    يصمم علاقات is-a باستخدام الوراثة المفردة والمتعددة. يثبت هيكل التسلسل الهرمي المطلوب لتعدد الأشكال.

  • الدرس 3 • تحميل العوامل

    يتيح للأنواع المخصصة استخدام العوامل القياسية بطريقة طبيعية وتعبيرية. يعزز التغليف بالحفاظ على المنطق داخل الكلاس.

  • الدرس 4 • المنشئات والمدمرات والتهيئة

    يعلم إدارة دورة حياة الكائن من خلال المنشئات والمدمرات. التهيئة الصحيحة تمنع السلوك غير المحدد في البرامج المعقدة.

  • الدرس 5 • الكلاسات والكائنات

    يغطي تعريف الكلاس وأعضاء البيانات ودوال الأعضاء ومحددات الوصول. الكلاسات هي آلية التجريد الأساسية في لغة C++.

الفصل 5عرض التفاصيل

مكتبة القوالب القياسية

  • الدرس 1 • التعامل مع السلاسل النصية باستخدام std::string

    يغطي عمليات std::string ومعالجتها وأدوات التحويل. يستبدل السلاسل النصية غير الآمنة على نمط C ببديل آني غني بالميزات.

  • الدرس 2 • خوارزميات مكتبة القوالب القياسية

    يطبق خوارزميات الفرز والبحث والتحويل والتجميع من <algorithm>. يستبدل الحلقات اليدوية المعرضة للأخطاء بتعبيرات موجزة.

  • الدرس 3 • الحاويات الترابطية والحاويات غير المرتبة

    يقدم map و set و unordered_map و unordered_set للوصول القائم على المفتاح. يتيح أنماط البحث السريع المستخدمة في التطبيقات الواقعية.

  • الدرس 4 • الحاويات التسلسلية

    يغطي vector و list و deque و array لتخزين البيانات المرتبة. اختيار الحاوية الصحيحة يؤثر بشكل مباشر على أداء البرنامج.

  • الدرس 5 • المكررات والنطاقات

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

الفصل 6عرض التفاصيل

القوالب والبرمجة العامة

  • الدرس 1 • المفاهيم والقيود في C++20

    يطبق مفاهيم C++20 لتقييد معاملات القالب بمتطلبات قابلة للقراءة. ينتج رسائل خطأ أكثر وضوحاً وواجهات ذاتية التوثيق.

  • الدرس 2 • أساسيات البرمجة الفوقية للقوالب

    يقدم الحساب في وقت الترجمة باستخدام سمات النوع و constexpr. يتيح تجريدات بتكلفة صفرية وتحققاً في وقت الترجمة.

  • الدرس 3 • قوالب الدوال

    يقدم صيغة القالب لكتابة دوال عامة مع معاملات النوع. يلغي ازدواجية الكود مع الحفاظ على الأمان الكامل للنوع.

  • الدرس 4 • قوالب الكلاسات

    يوسع نطاق القوالب ليشمل الكلاسات، مما يتيح إنشاء حاويات وأدوات مساعدة عامة. يدعم حاويات مكتبة القوالب القياسية التي تمت دراستها في الفصل السابق.

  • الدرس 5 • القوالب المتغيرة

    يغطي حزم المعاملات وتعبيرات الطي للقوالب متغيرة المعاملات. يتيح واجهات برمجة تطبيقات مرنة مثل std::tuple وأدوات التسجيل.

الفصل 7عرض التفاصيل

ميزات لغة C++ الحديثة وأساليبها

  • الدرس 1 • الروابط المهيكلة و std::optional

    يقدم الروابط المهيكلة لتفكيك أشباه الصفوف و std::optional للقيم القابلة للصفر. يقلل من الكود التكراري ويعبر عن النية بوضوح.

  • الدرس 2 • std::variant و std::any

    يغطي الاتحادات الآمنة من حيث النوع باستخدام std::variant والتخزين الممسوح النوع باستخدام std::any. يستبدل الاتحادات C غير الآمنة والمؤشرات void في الكود الحديث.

  • الدرس 3 • أساسيات التزامن البرمجي باستخدام std::thread

    يقدم إنشاء الخيوط وأدوات التزامن الأساسية ومنع سباقات البيانات. يعد الطلاب لتطوير التطبيقات متعددة الخيوط.

  • الدرس 4 • دلالات النقل ومراجع Rvalue

    يشرح مراجع rvalue ومنشئات النقل وإسناد النقل لتحسين الأداء. يلغي النسخ غير الضروري في البرامج كثيفة الموارد.

  • الدرس 5 • تعبيرات لامدا والإغلاقات

    يغطي صيغة لامدا وقوائم الالتقاط والاستخدام مع خوارزميات مكتبة القوالب القياسية. يتيح كائنات دالة مضمنة ومختصرة دون كود تكراري.

الفصل 8عرض التفاصيل

معالجة الأخطاء والاختبار والأداء

  • الدرس 1 • القياس وتحليل الأداء

    يطبق أدوات القياس لتحديد النقاط الساخنة وقياس وقت التنفيذ. التحسين المبني على البيانات يتجنب الضبط المبكر والمضلل.

  • الدرس 2 • اختبار الوحدات في لغة C++

    يقدم أطر الاختبار وتصميم حالات الاختبار وسير عمل التطوير المدفوع بالاختبار. تتحقق الاختبارات الآلية من الصحة مع تطور الكود.

  • الدرس 3 • التأكيدات والبرمجة الدفاعية

    يستخدم assert و static_assert وفحوصات الشروط المسبقة لاصطياد الأخطاء مبكراً. تقنيات الدفاع تقلل من وقت تصحيح الأخطاء في قواعد الأكواد الكبيرة.

  • الدرس 4 • تقنيات التحسين

    يغطي تخطيطات البيانات الصديقة للذاكرة المخبئية والتحسينات الخوارزمية وتلميحات المترجم. يطبق نتائج القياس لتحقيق تسريع قابل للقياس.

  • الدرس 5 • معالجة الاستثناءات

    يغطي صيغة try-catch-throw والتسلسل الهرمي للاستثناءات وتصميم الكود الآمن من الاستثناءات. الانتشار الصحيح للأخطاء إلزامي في برمجيات C++ الاحترافية.

الشهادة

شهادتك المعتمدة لإتمام الدورة

هذا الدورة موجهة لك:

  • طالب علوم حاسب: متحمس لتجاوز الـ pseudocode إلى لغات حقيقية.

  • مطور بايثون أو جافا سكريبت: مستعد لفهم اللي بيحصل تحت الغلاف.

  • مطور ألعاب طموح: محتاج التحكم المنخفض المستوى اللي بتوفره C++ بشكل فريد.

  • مهندس كهرباء: عايز يكتب firmware ودرايفرات باستخدام أدوات لغة حديثة.

  • مغير مسار مهني: بيستهدف أدوار برمجة أنظمة عالية الأجر من خلفية غير علوم حاسب.

  • هاوي بناء: عايز يبرمج المتحكمات الدقيقة والأجهزة المضمنة بشكل أكثر فعالية.

ماذا يقول طلابنا

دروسكم مثالية. اشتريت الباقة السنوية، وأخيراً أصبح لدي الفرصة لمتابعة مواضيع متنوعة تهمني دون الحاجة لتغيير المنصة... أشكركم على كل ما تقومون به، لقد رشحتكم لأشخاص آخرين...
Giulio Carlo
Giulio Carloطالب التسويق الرقمي
أحب كيف أن الدروس مباشرة ومركزة وكيف يمكنني تغيير الفصول وتخطي المحتوى الذي لا أحتاجه.
Mariana Ferres
Mariana Ferresطالبة التصوير الفوتوغرافي
أحب المحتوى وطريقة العرض ونسخ الفيديوهات، مما يسرع العملية!
Luciana Alvarenga
Luciana Alvarengaطالبة تصميم الأظافر
المنصة سريعة وبسيطة الاستخدام. تنوع المحتوى والفيديوهات التكميلية تساعد كثيراً في التعلم.
André Felipe
André Felipeطالب هندسة البرمجة

أهم الدورات

الأسئلة الشائعة

ما هي Dedika؟

هل الشهادة صالحة في مصر؟

هل الدورات مجانية؟

ما هو عبء الدورة؟

كيف تبدو الدورات؟

كيف تعمل الدورات؟

ما هي مدة الدورات؟

ما هو سعر أو تكلفة الدورات؟

ما هو التعليم عن بعد أو الدورة عبر الإنترنت وكيف تعمل؟

دورة PDF