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

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