2015/08/01

الطريقة الصحيحة لدراسة البرمجة وعلوم الحاسب

ما الامور التي ينبغي عليك الاهتمام بها لدراسة البرمجة وعلوم الحاسب بطريقة جيدة وما هي الطريقة ؟
اولا عليك دراسة أنماط البرمجة Programming paradigms :


هناك أساليب كثيرة جداً للبرمجة. الأساليب الأكثر شهرة و تأثيراً في البرمجيات هي Structured و Procedural و Abstract Data Types و OOP و Functional و Generic-Programming و Meta-Programming و هناك العديد أيضاً كالـ Constrained و Logic و Event-Based و هناك Paradigms تتعلق بالـ Concurrent Programming و أساليب يصعب حصرها في مكان واحد. أولاً و أخيراً, كل واحد من هذه الأساليب لايوجد تعريف جامع مانع يفصله عن الآخر. و إنما هناك مفاهيم شائعة تتبع كل أسلوب. و كل أسلوب له عدة flavors و كل flavor يتوفر بأشكال متعددة في لغات برمجة مختلفة أو في لغة برمجة واحدة. و ليس هذا فحسب, فمعظم لغات البرمجة تخلط بين الأساليب, فلايوجد لغة برمجة نقية إلا ما ندر و هذا يعني أن بعض لغات البرمجة تخلط بين الـ Structured و الـ Procedural و تضع فوقهم ADT و فوقها OOP على طريقة Simula كما هو الحال في JAVA. و لغات أخرى كـ #C أضافت الـ Functional إلى ماوجد في JAVA مثلاً.



الخوارزميات وهيكلة البيانات ( Algorithms and data structures ) :
دراسة بناء وتصميم الخوارزميات , نظرية Complexity . التحسين (optimizations) searching, sorting, cryptography, الجرافيكس (graphics ,VGA) مرورا بالامور العميقة فى العتاد نفسه مثل التعليمات (instruction sets) ودراسة Compilers (المترجمات) و Opreating System (نظم التشغيل) , دراسة caches و architectures (المعماريات)

بناء خلفية ودراسة جيدة عن Abstract :
دراسة النظريات بشكل مبسط (لا يشترط التعمق) , دراسة الاساس الرياضي للنظرية
دراسة العديد من المفاهيم المرتبطة مثل Turing machines و Type Theory و lambda calculus

الجانب البشري والاداري :
لا ينبغي اهمال هذا الجزء فينبغي المعرفة الجيدة والدراسة المتعمقة لادارة المشاريع (project management) و مفاهيم design patterns ودراسة تصميم الواجهات حسب المستخدم وحسب العوامل المختلفة (GUI Design)* وpsychology
انت عليك التعامل مع الناس والعملاء والمستخدمين والذي كلا منهم يفكر تفكير مختلف عنك فاهتمامهم بأشياء معينة قد لا تروقك انت شخصيا لكن فى النهاية You Must Deal

التدريب والممارسة :
مع تطور مفاهيم المصادر المفتوحة والمشاريع المفتوحة المصدر التي أصبحت كغثاء السيل فانت ستجد العديد من المشاريع التي قد تساهم بها وتأخذها على سبيل التمرين والتعلم حيث ستتعلم التعامل مع الناس والتعامل مع المشاريع وادارتها وادارة الكود وكذلك ستأخذ خبرة فى التعامل مع ادوات التحكم وادارة المشاريع
أنصح بزيارة موقع www.sourceforge.net للمزيد ورؤية الالالاف من المشاريع المفتوحة المصدر المختلفة

الابداع (Creativity ) : لا تنسي ان تقوم بأشياء اخري ولا تنسي تشغيل عقلك باستمرار عمل الامور بنفس الطريقة لا يجدي دائما وكذلك ليس جيدا فان دماغك به جزئين وليس الجزء الخاص بالمنطق فقط هناك العديد من الامور التي تؤخذ بالممارسة والتعلم

الجامعة : الجامعة المتخصصة فى تعليمك علوم الحاسب والبرمجة (باختلافها) هي شئ جيد ولكنها ليست كل شئ لكنها مفيدة للغاية لكن الكل ظروفه لا تسمح له احيانا بالاستفادة منها ناهيك عن دخولها او التخرج منها فكل شخص وله ظروفه

وفي النهاية أتمني للجميع التوفيق

محمد ابراهيم
رابط المقال الأصلي

ليست هناك تعليقات:

إرسال تعليق