جدول المحتويات
تعريف ومعنى البرمجة
هي العلم الذي يعنى بمعرفة كتابة الأوامر التي يتم من خلالها مخاطبة المعدات الالكترونية ، والتحكم بها ، وتوليفها بمسارات يرسمها مصمموها ، وهي طريقة خطية في التفكير والتخطيط، ويقصد بها تعلم الأوامر المتاحة من لغات البرمجة لتوجيه الأوامر وفق ترتيبٍ خطيٍ متتاليٍ منطقي يضعُ الخياراتِ الأساسيةَ للتوجيه ، من أجل التحكم بجهاز الحاسوب وما يقوم مقامه مثل الأنظمة المضمنة للاستفادة منها ، ومن تطبيقاتها في الحياة العملية .
لن نتحدث عن تعلم لغة برمجة بعينها مثل لغة السي أو لغة الجافا أو غيرها ، بل سيكون المنطلق من الروابط المنطقية التي تَحْكُمْ طريقةَ التفكيرِ في جميع هذه اللغات مجتمعة وهي في طرق وخطوات نذكر منها الأساسي على طريق تعلم البرمجة:
- التعرف على جهاز الحاسوب ومكوناته .
- معرفة آلية عمل كل جزء من أجزاء الحاسوب.
- معرفة العلاقة التي تربط كل جزء من أجزاء الحاسوب مع الأجزاء الأخرى ودوره التفاعلي في سلسلة العمل المشترك .
- معرفة الخوارزميات وطريقة برمجتها والتدرب عليها ،وذلك بحل المسائل البرمجية باستخدام الخوارزميات.
- معرفة أنظمة تشغيل الحاسوب وأنواعها والبروتوكولات الأساسية فيها .
- معرفة خوارزميات الجدولة للعمليات القائمة في كل نظام تشغيل .
- معرفة الفروقات الأساسية بين أنظمة التشغيل.
- معرفة المترجمات (compiler) والمنهج المنطقي الذي تتبع إليه .
- البدء بتعلم لغة أساسية مثل لغة السي ولنأخذها على سبيل المثال.
- دراسة أساسيات لغة البرمجة المراد تعلمها والأوامر الأساسية فيها .
- دراسة البرمجة الهدفية والمرتبطة للغة البرمجة المراد دراستها (object orinted).
- دراسة بنية البيانات في اللغة المراد تعلمها(Data structure).
- تعلم ترجمة الخوارزميات لبرامج بأوامر اللغة التي يتم البرمجة بها .
- المقارنة بين ترجمة خوارزمية لأكثر من لغة برمجة .
- عرض البرامج على المترجمات ومعاينة الأخطاء فيها ومعالجتها.
- تجربة البرامج على مدخلات مختلفة وعمل دراسة لكفاءتها.
- البدء بالمشاريع الصغيرة ، والتدرج بها للمشاريع الكبيرة مع الأخذ بعين الاعتبار بمبادئ الهندسة البرمجية لأي مشروع ، وذلك بعرضه على السلم الحلزوني هندسة النظم ، والتأكد من عمل البرامج وعمل فحص لها باختبارها وتجريبها على أكثر من نظام تشغيل وعمل ترجمة من نظام تشغيل لآخر بعمل مكتبات للبرامج التنفيذية .
- أخذ وسائل الحماية للمنظومة من البرامج الخبيثة ، وبناء المشغلات المناسبة ومعرفة تلقيم الكودات الجاهزة للبرامج والدريفرات الجاهزة والتوليف بينها من غير تداخل .