عن الدورة التدريبية
تُعد C++ الحديثة من الركائز الأساسية في تطوير البرمجيات عالية الأداء والمنتجات المدمجة ذات الموارد المحدودة، ولذلك أصبحت مهارة ضرورية لمطوري الأنظمة في الوقت الحالي.
في هذه الدورة، ستبدأ بتأسيس فهم قوي لمفاهيم البرمجة كائنية التوجه من خلال الوراثة وتعدد الأشكال، ثم ستتعلم كيفية إعداد بيئة تطوير منظمة، وكيف تساعدك مساحات الأسماء، ومساحات الأسماء غير المسماة، والأسماء المستعارة للأنواع على بناء قواعد برمجية قابلة للتوسع دون حدوث تعارضات في الأسماء.
بعد ذلك، ستتعمق في أحد أكثر الموضوعات تحديًا في لغة C++، وهو التعامل مع الذاكرة. ستتعرف على أقسام الذاكرة، وسلوك المؤشرات، والحجز الديناميكي للذاكرة، ثم ستربط هذه المفاهيم بالتطبيقات البرمجية الفعلية من خلال المراجع، والوسائط الافتراضية، والتحميل الزائد للدوال، وبناء أول Class بطريقة صحيحة.
بعدها، ستتقن دورة حياة الكائنات وأساليب الأمان البرمجي من خلال تطبيق دوال البناء والهدم، وفهم الفرق بين النسخ العميق والنسخ السطحي، وكتابة منشئات النسخ بطريقة صحيحة. ثم ستنتقل إلى مستوى أكثر تقدمًا من خلال دراسة L-values وR-values، ودلالات النقل، وقاعدة الخمسة.
كما ستتعلم كيفية تصميم واجهات برمجية واضحة باستخدام التحميل الزائد للمعاملات، وتحليل تخطيط الذاكرة داخل الـClass، واستخدام عمليات التحويل بأمان، والاختيار بين الوراثة والتركيب، والتعامل مع الـAbstract Classes.
وفي النهاية، ستجمع بين جميع المفاهيم السابقة من خلال تعدد الأشكال الديناميكي، والمؤشرات الذكية، والقوالب الحديثة، بما في ذلك Perfect Forwarding، ثم ستطبق لغة C++ في بيئات الأنظمة المدمجة ذات القيود المحدودة من خلال أمثلة عملية مشابهة لتطوير برامج التشغيل.
بنهاية الدورة، ستكون قادرًا على بناء أساس برمجي صغير باستخدام C++ ومناسب للأنظمة المدمجة، مثل مكونات GPIO وUART وLCD، مع الاعتماد على RAII، وإدارة الكائنات بطريقة آمنة، وبناء تجريدات برمجية قابلة لإعادة الاستخدام يمكن تطبيقها مباشرة في مشروعات البرمجيات الثابتة والأنظمة الحقيقية.
بعد الانتهاء من هذه الدورة سيكون المتعلم قادرًا على:
• بناء تصميمات قوية للبرمجة كائنية التوجه باستخدام C++ من خلال تطبيق الوراثة وتعدد الأشكال والتنظيم البرمجي المرن باستخدام مساحات الأسماء والأسماء المستعارة للأنواع.
• تحليل طريقة استخدام البرنامج للذاكرة من خلال تحديد أقسام الذاكرة وتوقّع سلوك المؤشرات والمراجع أثناء التنفيذ الفعلي.
• تنفيذ حلول الحجز الديناميكي للذاكرة، بما في ذلك المصفوفات الديناميكية والحجز القائم على الهياكل، مع وضع قواعد واضحة لملكية الذاكرة وتقليل الأخطاء أثناء التشغيل.
• تطوير كود منظم وقابل للصيانة باستخدام الـClasses من خلال تطبيق دوال البناء والهدم والتحكم في النسخ وتجنب أخطاء النسخ السطحي.
• تطبيق مفاهيم C++ الحديثة المتعلقة بالكائنات باستخدام دلالات النقل وقاعدة الخمسة لإنشاء أنواع برمجية فعالة وصحيحة.
• تصميم واجهات برمجية واضحة ومعبرة من خلال تطبيق التحميل الزائد للمعاملات مع استخدام استراتيجيات الإرجاع وسلوك الإسناد بطريقة صحيحة.
• تقييم تخطيط الـClasses والعلاقات بينها من خلال المقارنة بين الوراثة والتركيب، والاستخدام الصحيح لمحددات الوصول، والاستفادة من الـAbstract Classes.
• تطبيق تعدد الأشكال أثناء التشغيل والتحويل الآمن بين الأنواع، ثم استخدام المؤشرات الذكية لإدارة دورة حياة الكائنات بموثوقية أكبر في الأنظمة الكبيرة.
• إنشاء أدوات برمجية عامة وقابلة لإعادة الاستخدام باستخدام القوالب، ومعاملات القوالب غير النوعية، وأنماط Perfect Forwarding.
• تطوير مكونات C++ موجهة للأنظمة المدمجة من خلال تحويل خصائص اللغة الحديثة إلى تطبيقات مشابهة لبرامج التشغيل وتراعي القيود الخاصة بالأنظمة المدمجة.
متطلبات الدورة التدريبية
الدورات المطلوب إكمالها:
تعلم البرمجة بلغة ال C من البداية إلى الإحتراف
البرمجة بلغة C للأنظمة المدمجة: أساسيات المعدات و تطوير برامج تشغيل الأجهزة