الفرق بين المراجعتين لصفحة: «برمجة سي ++»

تم حذف المحتوى تمت إضافة المحتوى
سطر 25:
من الممكن - بعد الانتهاء من الكتاب - اختصار هذه الشروح الصغيرة بشكل أكبر بحيث لا تزيد عن خمس كلمات.
 
* [[ برمجة:سي ++/ مقدمة في البرمجة]]
** التفكير في كيفية عمل الأشياء, ايجاد حلول للمشاكل, الخ
* [[ برمجة:سي ++/الدرس الأول]]
** البرنامج الأول(الفارغ), شرح مفاهيم أساسية: نقطة الدخول إلى البرنامج, نقطة الخروج, لماذا الـ main؟ فكرة عامة عن تقسيم البرامج الكبيرة إلى أجزاء صغيرة (برامج جزئية).
* [[ برمجة:سي ++/الدرس الثاني]]
** الكتابة على الشاشة, العمليات الأساسية, الجمع و الطرح, المتغيرات, الثوابت literal constants.
* [[ برمجة:سي ++/الدرس الثالث]]
** القراءة من المستخدم, تابع العمليات الرياضية و الاشارات في اللغة
* [[ برمجة:سي ++/الدرس الرابع]]
** السير المنطقي للبرنامج, الأوامر الشرطية, الاشارات الشرطية, و منطقها
* [[ برمجة:سي ++/الدرس الخامس]]
** تمارين, حل مشكلات بسيطة, أمثلة للفتكير البرمجي, التركيز على عقلية التحليل .. الخ.
* [[ برمجة:سي ++/الدرس السادس]]
** الفنكشنز, تقسيم البرنامج إلى برامج جزئية (حسب المهام), إرسال البارامترات, الخ.
* [[ برمجة:سي ++/الدرس السابع]]
** تابع الفنكشنز, مفهوم الـ expression و الـ return value, استخدام الفنكشنز كعمليات حسابية, نطاق المتغيرات scope الخ.
* [[ برمجة:سي ++/الدرس الثامن]]
** استخدام الفنكشنز لتحسين بنية و تركيب البرامج, تحسين برامجنا السابقة.
* [[ برمجة:سي ++/الدرس التاسع]]
** تطبيقات و تمارين, مزيد من المشاكل و حلولها
* [[ برمجة:سي ++/الدرس العاشر]]
** المصفوفات ( ارريز ), مفهوم الـ initialization بشكل عام, و تطبيقه على المصفوفات و بيان حالاته الاستثنائية.
* [[ برمجة:سي ++/الدرس الحادي عشر]]
** مفاهيم عامة عن الذاكرة, طبيعة المصفوفات في الذاكرة, مقدمة عن المؤشرات.
* [[ برمجة:سي ++/الدرس الثاني عشر]]
** استخدام المصفوفات في البرامج, التفكير في استخدامها, فوائدها, تطبيقات, الخ.
* [[ برمجة:سي ++/الدرس الثالث عشر]]
** مقدمة عن المؤشرات: مفهوم الـ statically allocated و الـ dynamically allocated بالنسبة للمتغيرات, الكومبايلر و اسماء المتغيرات و عناوينها في الذاكرة, استخدام المؤشرات للوصول إلى المتغيرات اللتي تم حجزها ديناميكيا.
* [[ برمجة:سي ++/الدرس الرابع عشر]]
** تطبيق على المؤشرات: إرسال عناوين المتغيرات إلى الفنكشنز, مع تركيز على شرح الستاك و توضيح عدم جواز إرجاع مؤشر لمتغير داخلي في فنكشن, مع مقدمة عن الرفرنس في السي بلص بلص.
* [[ برمجة:سي ++/الدرس الخامس عشر]]
** الـ struct, تجميع معلومات متعلقة ببعضها, تمثيل حالة كائنات حقيقية, الخ.
* [[ برمجة:سي ++/الدرس السادس عشر]]
** تطبيقات عملية على الـ struct
* [[ برمجة:سي ++/الدرس السابع عشر]]
** استخدام الـ struct و المؤشرات لعمل linked list. نقاط القوة الضعف في الـ linked list و متى يمكن استخدامها, مع تطبيق بسيط.
* [[ برمجة:سي ++/الدرس الثامن عشر]]
** الـ class, توضيح عام من ناحية لغوية, الـ syntax الخاص بالكلاس و غيره من هذا الكلام.
* [[ برمجة:سي ++/الدرس التاسع عشر]]
** البرمجة الشيئية / الكانئية, الكائنات objects, مفاهيم متعمقة .. تحليل المشكلة إلى اشياء و كائنات, الخصائص و التصرفات, attrbutes and behaviour .. الخ.
* [[ برمجة:سي ++/الدرس العشرون]]
** تابع مفاهيم متعمقة عن البرمحة الشيئية.. تصميم الحلول باستخدام الكائنات, ذكر بسيط لقضايا الـ cohesion and coupling, مع تطبيقات عملية, و لو بسيطة.
* [[ برمجة:سي ++/الدرس الحادي و العشرون]]
** مناقشة مواضيع الـ cohesion, coupling, association: التفكير جيدا في تصميم الفئات بشكل جيد و متماسك, فصل المهام الزائدة عن الـ class إلى فئات classes أخرى, الربط بين الكائنات, تقليل التداخل coupling.
* [[ برمجة:سي ++/الدرس الثاني و العشرون]]
** الوراثة inheritance, مع تطبيقات.
* [[ برمجة:سي ++/الدرس الثالث و العشرون]]
** الـ polymorphism.
* [[ برمجة:سي ++/الدرس الرابع و العشرون]]
** تطبيقات عملية تستخدم المفاهيم اللتي تمت مناقشتها, مع التقديم لبعض الـ design patterns, كالـ singleton مثلا.