الإنتقال للتصميم الجديد

دورة البرمجة بلغة ++C

دورة البرمجة بلغة ++C

الوصف

لمحة عن الدورة

هذه الدورة تركز على تنمية المهارات العملية (التعلم من خلال التطبيق) لذلك سوف نقوم دائما بالتعلم من خلال ضرب عدد من الأمثلة بدلا من الاعتماد على الشروحات النظرية.

ماهي لغة ++C

تعتبر لغة ++C لغة ذات استخدامات عامة وهي امتداد للغة C الشهيرة. من مزايا هذه اللغة أنها لغة كائنية التوجة Object Oriented كما تتميز بأنها لغة ذات مستوى منخفض حيث تصنف لغات البرمجة إلى مستوى عالي ومستوى منخفض. ويقصد باللغة ذات المستوى المنخفض هو قربها للغة الآلة نفسها.

استخدامات لغة ++C
بما ان لغة ++C تعتبر من اللغات القريبة للغة الآلة وإدارة الذاكرة بها عالية جدا سوف تجدها مستخدمه في مجالات تتطلب أداء عالي جدا ومنها:

  1. برمجة الألعاب
  2. برمجيات سطح المكتب مثل برامج Adobe
  3. أنظمة قواعد البيانات
  4. أنظمة التشغيل
  5. الحوسبة المتقدمة وأدوات الجرافكس
  6. مترجمات لغات البرمجة Compliers
  7. الأنظمة المدمجة embedded systems

لمن موجهة هذه الدورة؟

سنبدأ في هذه الدورة بتعلم أساسيات ++C وكل ماهو مطلوب منك هو الرغبة بالتعلم.

ستكون هذه الدورة مفيدة لك سواء كانت لديك خبرة مسبقة بلغات برمجة أخرى أم كانت هذه هي المرة الأولى التي تتعلم بها، في حال كنت مبرمج محترفا يمكنك البدء من منتصف هذه الدورة حيث سنتعلم مفاهيم متقدمة في البرمجة والتي ستزيد مهاراتك البرمجية والمعرفية.

ماذا سنتعلم في هذه الدورة؟

  • تعريف بلغة C++ ومجالات استخداماتها
  • مكونات برامج C++
  • التعامل مع المتغيرات والثوابت وانواع البيانات
  • السلاسل النصية والمصفوفات
  • الخوارزميات وهياكل البيانات
  • التعامل مع الدوال الوظيفية functions
  • المؤشرات والمراجع Pointers & References
  • البرمجة الكائنية OOP
  • استخدامات متقدمة في STL - Standard Template Library
  • تعبيرات اللامدا Lambda Expressions
  • خوارزميات STL
  • الحاويات التكيفية Adaptive Containers
  • المؤشرات الذكية Smart Pointers
  • التعامل مع الأخطاء Exception Handling
  • استخدامات متقدمة في C++
  • أفضل الممارسات البرمجية Best Practices

الأقسام

المقدمة

تجهيز البيئة المحلية

كتابة أول برنامج لك

سنقوم في هذا القسم بكتابة أول برنامج لنا ثم سنقوم بتحليل ماكتبناه حتى نتعرف على لغة C++

المتغيرات والثوابت Variables & Constants

سنتعلم في هذا القسم كيفية استخدام المتغيرات والثوابت والتي تقوم بحفظ قيم لنا في الذاكرة

المصفوفات Arrays

بالدروس التالي سنتعرف على المصفوفات وانواعها وكيف تستخدم وفي ماذا تفيد

الجُمل والعوامل Expressions & Operators

الجمل البرمجية والعوامل Expressions & Operators

الشروط conditions

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

التكرار Loops

وصلنا الآن للتكرار في البرمجة والذي يساعدنا في تكرار بعض العمليات البرمجية دون الحاجة لإعادة الكتابة

الدوال Functions

سنتعلم في الدروس القادمة ماهي functions وكيف تستخدم لتنظيم الكود البرمجي وتسهيل عمليات التعديل والتطوير

البرمجة الكائنية Object Oriented Programming OOP

البرمجة كائنية التوجه هي إحدى مزايا لغة سي++ وهي واحدة من أهم الممارسات البرمجية التي تجعل برمجياتك أكثر مرونة وأقل عرضة للخطأ

الوراثة Inheritance

وصلنا في هذه المرحلة للوراثة وهي إحدى مفاهيم البرمجة الكائنية الهامة بحيث يمكن لنا اعادة استخدام المنطق البرمجي مرة أخرى

المؤشرات والمراجع Pointers & References

بعد أن تعلمنا كيف تعمل المتغيرات حان الوقت لتعلم ماهي المؤشرات والمراجع وكيف يمكن من خلالها العمل بمرونة مع البيانات في الذاكرة

تعدد النماذج Polymorphism

تعدد النماذج من مفاهيم البرمجة الكائنية (الوراثة) على وجه التحديد وهو يسمح لك بإنشاء عدد من النماذج لنفس الكلاسات المتوارثة وهو مايسمى Polymorphism

Macros

في السلسلة القادمة سنتعامل مع الماكرو macro في لغة سي++ وسنتعرف على أهم استخداماته ومزاياه

القوالب

النصوص Strings

وصلنا في هذه السلسلة الآن إلى التعامل مع Standard Template Library في لغة سي++ وفي الدروس التالي كيفية التعامل مع النصوص

المصفوفات الدنياميكية

القوائم list & forward_list

سنتعلم في السلسلة القادمة من الدروس التعامل مع القوائم list & forward_list ومالمقصود بـ linked lists

المجموعات set & multiset

المجموعات هو نوع يتميز بسرعة البحث فيه والسبب في ذلك طريقة التخزين الخاصة به. في الدروس الجاية سنتعرف على مزايا المجموعات sets وكيف نتعامل معها

الخرائط map & multimap

في السلسلة القادمة سنتعلم مفهوم map وهي بيانات مكونة من زوج (مفتاح + قيمة) من ناحية الادخال والبحث والفروقات بين multimap & map

الدوال المجهولة lambda functions

وصلنا لسلسلة تعلم الدوال المجهولة Lambda functions وهي دوال لا تحمل اسم وتستخدم مرة واحدة فقط

الخوارزميات مع Standard Template Library

في هذه السلسلة سنتعلم أهم الخوارزميات في STL وهي خوارزميات عمومية يمكن تطبيقها على الأنواع الخاصة بـ STL التي تعلمناها سابقا مثل vector و list

الحاويات التكيفية Adaptive Containers

في لغة C++ يوجد ما يسمى Adaptive Containers وهي حاويات بيانات متكيفة لكي تحاكي أسلوب هياكل البيانات من نوع Stack و Queue

عينة من الدروس المجانية