20

هل تفضل وجود دورة في الخوارزميات أم في أنماط التصميم (Design Patterns)؟

أفكر في خطة للصيف وفيها إنشاء دورة قصيرة عبارة عن فيدوهات على يوتيوب عن أحد موضوعين:

الموضوع الأول في تحليل وتصميم الخوارزميات تتحدث عن أساسيات تحليل خوارزمية ما من ناحية كفاءة الآداء واستخدام الذاكرة. ثم تتطرق إلى بعض المواضيع في هيكلة البيانات (Datat structure) ثم بعض المواضيع في تصميم الخوارزميات مثل الاستقراء (induction)، خوارزمية فرق تسد [1] (divide and conquer)، البرمجة الديناميكية [2] (dynamic progrmming) ... إلخ.

الموضوع الثاني عن أنماط التصميم في البرمجة بالكائنات [3] (Object-oriented design patterns). تتحدث عن كيفية استخدام أنماط جاهزة في التصميم _ربما مع التعديل عليها_ لجعل الكود منظم أكثر، وأسهل من ناحية الصيانة، أسهل من ناحية إضافة وظائف أكثر فيما بعد، وأسهل من ناحية المقروئية.

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

الموضوع الثاني جيد لكنه يتطلب ممن سيتابعه معرفة مسبقة بالبرمجة الكائنية، ولا أظن أنها مستخدمة بكثرة بين المبرمجين.

[1] خوارزمية فرق تسد

http://ar.wikipedia.org/wik...

[2] برمجة ديناميكية

http://ar.wikipedia.org/wik...

[3] نماذج التصميم (هندسة البرمجيات)

http://ar.wikipedia.org/wik...
يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

فى كلا الحالتين الموضوع سوف اشاهد دورتك ولاكن احبذ الموضوع الاول :)

جزاك الله خيرا ,, وجعل ما تقدمه فى ميزان حسناتك ,,

بارك الله فيك،

مادام علمك قد بلغ النصاب، فمن حقنا أن نأخذ من زكاة علمك شيئا :)

أنا أفضل الموضوع الأول، وسأكون أول المتابعين - بإذن الله -

أريد Design Patterns

لقلة مصادرها بالعربية

سوف أتابع كلا الموضوعين لعدم وجودهما باللغة العربية وشكرا لك على ماتقدمه من جهود :)

انا اود ان اتعلم Design Pattern

الثانية Design Pattern

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

ولكن اين رابط قناتك عاليوتيوب

مشكور جداً مقدماً

فعلا مهمة ومستخدمة بكثرة في المشاريع الكبيرة (أحيانا حتى نستخدمها بدون وعي بذلك)

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

العفو وشكرا لاهتمامك.

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

على فكرة هل ستتطرق إلى خوارزميات الأشجار الثنائية binary trees ،لأنه إذا اشتملت دورتك على هذه الخوارزميات أعتقد أنك ستعاني فهي بحر واسع و طويل.

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

افضل design patterns

أنماط التصميم ففى رأيي سيكون نفعها أعم.

الله يقويك ويبارك في عمرك اهم شي الداتا ستركشر

-2

Object-oriented design patterns