بأن تكون عالما بالحاسوب لا يعني بالضرورة دراستك للبرمجة وإنما معرفتك بما يسمى بالخوارزميات (مجموعة من الخطوات المفهومة من قبل شخص أو آلة من اجل القيام بمهمة ما في عدد من الخطوات) حيث أن العديد من علماء الحاسوب لا يبرمجوا على الإطلاق. قال ادجر جكسترا مرة "لم يعد علم الحاسوب متعلقا بالحواسيب أكثر من تعلق علم الفلك بالمناظير"
2. ابدأ بكتابة أشباه الأكواد (pseudocode). حيث لا تعتبر مثل هذه الأكواد لغة برمجية ولكن تعتبر طريقة لتوضيح ماهية البرنامج بلغة نفهمها. ربما الخوارزمية القريبة لذهننا هو مثل ما نجده على قارورة الشامبو: اغسل ، اشطف ، كرر العملية. هذه الخوارزمية مفهومة لدى المستخدم وتحتوي على عدد محدود من الخطوات.
3. لا يمكن اعتبار المثال السابق خوارزمية جيدة لسببين: عدم احتوائها على حالة شرطية للانتهاء عليها ، كما أنها لم توضح ماهية التكرار المطلوب. هل نكرر الغسل أم الشطف؟؟ يمكن تعديل المثال ليصبح كالتالي: "الخطوة الأولى = اغسل ، الخطوة الثانية = اشطف الخطوة الثالثة = اعد الخطوتين الأولى والثانية وتنتهي العملية." أصبح المثال بعد التعديل أكثر وضوحا ويحتوي على نهاية لحالة شرطية (خطوات محدودة) ، كما أن ترتيب الخطوات واضح.
4. حاول كتابة خوارزميات لكل الأشياء التي تأتي على بالك. مثلا يمكنك كتابة خوارزمية توضح فيها طريقة تنقلك من بناية لبناية أخرى ضمن المجمع أو كيف يمكنك صناعة وعاء ما. بعد ذلك وفي القريب العاجل ستلاحظ أن الخوارزميات في كل مكان !
5. بعد أن تتعلم كيفية كتابة الخوارزميات ستلاحظ أن البرمجة أصبحت مفهومة بالنسبة لك بصورة تلقائية. اقتني كتاب أو ابحث عن دروس تعليمية في الشبكة ، وتعلم القواعد اللغوية للغة برمجية ما. تعتبر اللغات الكائنية المصدر مثل جافا و سي بلس بلس من اللغات المفضلة ولكن يمكنك اللغات الإجرائية مثل لغة سي أو بايثون أسهل للبدء بها لأنها تتعامل مع الخوارزميات بشكل حصري .
6. البرمجة عبارة عن كتابة أشباه الكود باستخدام لغة برمجية ما وتذكر أنك كلما قضيت وقت أكثر في كتابة المخطط كلما قل وقت كتابة البرنامج و قل عدد المرات التي تحك فيها رأسك !
* بعد إتقان لغة برمجية معينة ، سيصبح إتقان أخرى أمر سهل لأنك ستقوم بنفس العمل في كل اللغتين (ترجمة أشباه الكود للغة المستخدمة).
* صبر وتحمل.
الخطوات
1. بأن تكون عالما بالحاسوب هو أن تتعلم أن تكون محبا لتعلم كل جديد ، حيث اللغات الجديدة تتطور وبالتالي ستبتكر خوارزميات جديدة. لذلك يجب أن تكون مطلعا بكل ذلك.2. ابدأ بكتابة أشباه الأكواد (pseudocode). حيث لا تعتبر مثل هذه الأكواد لغة برمجية ولكن تعتبر طريقة لتوضيح ماهية البرنامج بلغة نفهمها. ربما الخوارزمية القريبة لذهننا هو مثل ما نجده على قارورة الشامبو: اغسل ، اشطف ، كرر العملية. هذه الخوارزمية مفهومة لدى المستخدم وتحتوي على عدد محدود من الخطوات.
3. لا يمكن اعتبار المثال السابق خوارزمية جيدة لسببين: عدم احتوائها على حالة شرطية للانتهاء عليها ، كما أنها لم توضح ماهية التكرار المطلوب. هل نكرر الغسل أم الشطف؟؟ يمكن تعديل المثال ليصبح كالتالي: "الخطوة الأولى = اغسل ، الخطوة الثانية = اشطف الخطوة الثالثة = اعد الخطوتين الأولى والثانية وتنتهي العملية." أصبح المثال بعد التعديل أكثر وضوحا ويحتوي على نهاية لحالة شرطية (خطوات محدودة) ، كما أن ترتيب الخطوات واضح.
4. حاول كتابة خوارزميات لكل الأشياء التي تأتي على بالك. مثلا يمكنك كتابة خوارزمية توضح فيها طريقة تنقلك من بناية لبناية أخرى ضمن المجمع أو كيف يمكنك صناعة وعاء ما. بعد ذلك وفي القريب العاجل ستلاحظ أن الخوارزميات في كل مكان !
5. بعد أن تتعلم كيفية كتابة الخوارزميات ستلاحظ أن البرمجة أصبحت مفهومة بالنسبة لك بصورة تلقائية. اقتني كتاب أو ابحث عن دروس تعليمية في الشبكة ، وتعلم القواعد اللغوية للغة برمجية ما. تعتبر اللغات الكائنية المصدر مثل جافا و سي بلس بلس من اللغات المفضلة ولكن يمكنك اللغات الإجرائية مثل لغة سي أو بايثون أسهل للبدء بها لأنها تتعامل مع الخوارزميات بشكل حصري .
6. البرمجة عبارة عن كتابة أشباه الكود باستخدام لغة برمجية ما وتذكر أنك كلما قضيت وقت أكثر في كتابة المخطط كلما قل وقت كتابة البرنامج و قل عدد المرات التي تحك فيها رأسك !
ملاحظات هامة
* تعتبر السبورة المكان المفضل لكتابة الخوارزميات.* بعد إتقان لغة برمجية معينة ، سيصبح إتقان أخرى أمر سهل لأنك ستقوم بنفس العمل في كل اللغتين (ترجمة أشباه الكود للغة المستخدمة).
تحذيرات
* البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة.أشياء ستحتاجها
* سبورة* صبر وتحمل.
موضوع جميل ونحن ماضون على هذا النهج
وطريق الألف ميل يبدأ بخطوة
وطريق الألف ميل يبدأ بخطوة
أفكار جميلة
Fahad - 07/20/2008 - 17:12
بصراحة مقالة في الصميم ، لا يكفي ان تعرف لغة برمجة حتى تبرمج بل المهم كيف تبتكر الخوارزميات ثم تبرمجها ...
شكراً لك على
mohaned (لم يتم التحقق) - 07/20/2008 - 20:04
شكراً لك على هذا الشرح الرائع وجعله الله في ميزان حسناتك ان شاء الله
مقـال جميـل ,
Mutati0N (لم يتم التحقق) - 07/20/2008 - 20:40
مقـال جميـل , فنحن عندما نقوم بكتابه برنامج نفكر بالخطوات ثم نحولها الي اكواد
مقال جميل جزاكم
amgad (لم يتم التحقق) - 07/21/2008 - 10:01
مقال جميل جزاكم الله خيرا على ترجمته ، لكن هذه الخوارزميات تلزم مين ؟ يعني هل هناك شركات تشتري خوارزميات لأداء مهمة معينة
السلام
إبراهيم (لم يتم التحقق) - 07/21/2008 - 19:23
السلام عليكم
مقال جيد، أحب أن أضيف أن لب الموضوع هو في الحقيقة تعلم الرياضيات الضرورية لعلوم الحاسب، discret math, combinatorics
مقال جيد، أحب أن أضيف أن لب الموضوع هو في الحقيقة تعلم الرياضيات الضرورية لعلوم الحاسب، discret math, combinatorics
من خلال خبرتي
احمد (لم يتم التحقق) - 07/22/2008 - 00:42
من خلال خبرتي بسيطه في مجال البرمجه ارى انه كلما كنت ملما اكثر في الرياضيات كلما فهمت البرمجه بشكل متعمق اكثر وبنهايه البرنامج ماهو الى خطوات منطقيه == رياضيه .
موضوع جميل
أحمد الكثيري (لم يتم التحقق) - 07/22/2008 - 10:17
"البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة. "
صحيح لأن البرمجة تعتبر بحر مليء بالأشياء الجديدة لو تعلمناها في يوم كامل على مدار سنة سنظل نجهل أمور كثيرة جداً. ويصل في بعض الأحيان عندما لا يستطيع الإنسان السيطرة على وقته أن يهتم بالبرمجة أكثر من إهتماماته الخاصة والعامة في البيت أو خارجه ! وقد يهمل أشياء كثيرة أيضاً بسببها :-)
أهم شيء يتعرف على الأسياسيات ثم ينتقل للمراحل الأخرى ويعرف ما هي إحتياجاته وأهدافه من التعلم.
صحيح لأن البرمجة تعتبر بحر مليء بالأشياء الجديدة لو تعلمناها في يوم كامل على مدار سنة سنظل نجهل أمور كثيرة جداً. ويصل في بعض الأحيان عندما لا يستطيع الإنسان السيطرة على وقته أن يهتم بالبرمجة أكثر من إهتماماته الخاصة والعامة في البيت أو خارجه ! وقد يهمل أشياء كثيرة أيضاً بسببها :-)
أهم شيء يتعرف على الأسياسيات ثم ينتقل للمراحل الأخرى ويعرف ما هي إحتياجاته وأهدافه من التعلم.
علماء حاسب بدون برمجة !
eid (لم يتم التحقق) - 07/22/2008 - 23:54
لا يمكن أن أتصور أن هناك عالم حاسب لا يكتب سطور من البرمجة الحقيقية , وليست الأقوال كالأفعال .
علماء حاسب بدون برمجة !
إبراهيم (لم يتم التحقق) - 07/23/2008 - 15:39
ليس بالضرورة أن يكتب عالم الحاسب سطور برمجية، لأن القسم النظري لا يتطلب ذلك.
البرمجة مسببة
مبرمجه مبتدئه (لم يتم التحقق) - 07/29/2008 - 03:37
البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة.
كم أتمنى لذلك فهأنا أخطي خطواتي الأولى
حقا ان البرمجه ممتعه ولكنها مهلكه في بدايتها
محبة البرمجه
كم أتمنى لذلك فهأنا أخطي خطواتي الأولى
حقا ان البرمجه ممتعه ولكنها مهلكه في بدايتها
محبة البرمجه
0 التعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.