الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دراسة البرمجة وعلوم الحاسب

بدأه MohamedIBrahim في 5 أغسطس 2012 · 1 رد · 2,717 مشاهدة · في المقالات العلمية و التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اولا عليك دراسة أنماط البرمجة Programming paradigms :

icon_programming.jpg

هناك أساليب كثيرة جداً للبرمجة. الأساليب الأكثر شهرة و تأثيراً في البرمجيات هي 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 ) : لا تنسي ان تقوم بأشياء اخري ولا تنسي تشغيل عقلك باستمرار عمل الامور بنفس الطريقة لا يجدي دائما وكذلك ليس جيدا فان دماغك به جزئين وليس الجزء الخاص بالمنطق فقط هناك العديد من الامور التي تؤخذ بالممارسة والتعلم

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

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

محمد ابراهيم

2

GoodBye

#2

أخي محمد السلام عليكم ورحمة الله

موضوع رائع ومهم, بارك الله فيك على مجهوداتك

أرى من وجهة نضري طرح موضوع بخصوص تخصصات علم الحاسب الالي فكثير من الاعضاء في هذا المنتدى وغيره يسالون هذا السؤال وارى أن الموضوع مهم وكذلك من المهم التمييز بين Information Technology and Computer science.

مجرد راي تقبل مروري :)

مواضيع مشابهة