بأن تكون عالما بالحاسوب لا يعني بالضرورة دراستك للبرمجة وإنما معرفتك بما يسمى بالخوارزميات (مجموعة من الخطوات المفهومة من قبل شخص أو آلة من اجل القيام بمهمة ما في عدد من الخطوات) حيث أن العديد من علماء الحاسوب لا يبرمجوا على الإطلاق. قال ادجر جكسترا مرة "لم يعد علم الحاسوب متعلقا بالحواسيب أكثر من تعلق علم الفلك بالمناظير"
2. ابدأ بكتابة أشباه الأكواد (pseudocode). حيث لا تعتبر مثل هذه الأكواد لغة برمجية ولكن تعتبر طريقة لتوضيح ماهية البرنامج بلغة نفهمها. ربما الخوارزمية القريبة لذهننا هو مثل ما نجده على قارورة الشامبو: اغسل ، اشطف ، كرر العملية. هذه الخوارزمية مفهومة لدى المستخدم وتحتوي على عدد محدود من الخطوات.
3. لا يمكن اعتبار المثال السابق خوارزمية جيدة لسببين: عدم احتوائها على حالة شرطية للانتهاء عليها ، كما أنها لم توضح ماهية التكرار المطلوب. هل نكرر الغسل أم الشطف؟؟ يمكن تعديل المثال ليصبح كالتالي: "الخطوة الأولى = اغسل ، الخطوة الثانية = اشطف الخطوة الثالثة = اعد الخطوتين الأولى والثانية وتنتهي العملية." أصبح المثال بعد التعديل أكثر وضوحا ويحتوي على نهاية لحالة شرطية (خطوات محدودة) ، كما أن ترتيب الخطوات واضح.
4. حاول كتابة خوارزميات لكل الأشياء التي تأتي على بالك. مثلا يمكنك كتابة خوارزمية توضح فيها طريقة تنقلك من بناية لبناية أخرى ضمن المجمع أو كيف يمكنك صناعة وعاء ما. بعد ذلك وفي القريب العاجل ستلاحظ أن الخوارزميات في كل مكان !
5. بعد أن تتعلم كيفية كتابة الخوارزميات ستلاحظ أن البرمجة أصبحت مفهومة بالنسبة لك بصورة تلقائية. اقتني كتاب أو ابحث عن دروس تعليمية في الشبكة ، وتعلم القواعد اللغوية للغة برمجية ما. تعتبر اللغات الكائنية المصدر مثل جافا و سي بلس بلس من اللغات المفضلة ولكن يمكنك اللغات الإجرائية مثل لغة سي أو بايثون أسهل للبدء بها لأنها تتعامل مع الخوارزميات بشكل حصري .
6. البرمجة عبارة عن كتابة أشباه الكود باستخدام لغة برمجية ما وتذكر أنك كلما قضيت وقت أكثر في كتابة المخطط كلما قل وقت كتابة البرنامج و قل عدد المرات التي تحك فيها رأسك !
* بعد إتقان لغة برمجية معينة ، سيصبح إتقان أخرى أمر سهل لأنك ستقوم بنفس العمل في كل اللغتين (ترجمة أشباه الكود للغة المستخدمة).
* صبر وتحمل.
ترجمة : زاهر النوتكي
المصدر: How to Become a Computer Scientist
الخطوات
1. بأن تكون عالما بالحاسوب هو أن تتعلم أن تكون محبا لتعلم كل جديد ، حيث اللغات الجديدة تتطور وبالتالي ستبتكر خوارزميات جديدة. لذلك يجب أن تكون مطلعا بكل ذلك.2. ابدأ بكتابة أشباه الأكواد (pseudocode). حيث لا تعتبر مثل هذه الأكواد لغة برمجية ولكن تعتبر طريقة لتوضيح ماهية البرنامج بلغة نفهمها. ربما الخوارزمية القريبة لذهننا هو مثل ما نجده على قارورة الشامبو: اغسل ، اشطف ، كرر العملية. هذه الخوارزمية مفهومة لدى المستخدم وتحتوي على عدد محدود من الخطوات.
3. لا يمكن اعتبار المثال السابق خوارزمية جيدة لسببين: عدم احتوائها على حالة شرطية للانتهاء عليها ، كما أنها لم توضح ماهية التكرار المطلوب. هل نكرر الغسل أم الشطف؟؟ يمكن تعديل المثال ليصبح كالتالي: "الخطوة الأولى = اغسل ، الخطوة الثانية = اشطف الخطوة الثالثة = اعد الخطوتين الأولى والثانية وتنتهي العملية." أصبح المثال بعد التعديل أكثر وضوحا ويحتوي على نهاية لحالة شرطية (خطوات محدودة) ، كما أن ترتيب الخطوات واضح.
4. حاول كتابة خوارزميات لكل الأشياء التي تأتي على بالك. مثلا يمكنك كتابة خوارزمية توضح فيها طريقة تنقلك من بناية لبناية أخرى ضمن المجمع أو كيف يمكنك صناعة وعاء ما. بعد ذلك وفي القريب العاجل ستلاحظ أن الخوارزميات في كل مكان !
5. بعد أن تتعلم كيفية كتابة الخوارزميات ستلاحظ أن البرمجة أصبحت مفهومة بالنسبة لك بصورة تلقائية. اقتني كتاب أو ابحث عن دروس تعليمية في الشبكة ، وتعلم القواعد اللغوية للغة برمجية ما. تعتبر اللغات الكائنية المصدر مثل جافا و سي بلس بلس من اللغات المفضلة ولكن يمكنك اللغات الإجرائية مثل لغة سي أو بايثون أسهل للبدء بها لأنها تتعامل مع الخوارزميات بشكل حصري .
6. البرمجة عبارة عن كتابة أشباه الكود باستخدام لغة برمجية ما وتذكر أنك كلما قضيت وقت أكثر في كتابة المخطط كلما قل وقت كتابة البرنامج و قل عدد المرات التي تحك فيها رأسك !
ملاحظات هامة
* تعتبر السبورة المكان المفضل لكتابة الخوارزميات.* بعد إتقان لغة برمجية معينة ، سيصبح إتقان أخرى أمر سهل لأنك ستقوم بنفس العمل في كل اللغتين (ترجمة أشباه الكود للغة المستخدمة).
تحذيرات
* البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة.أشياء ستحتاجها
* سبورة* صبر وتحمل.
ترجمة : زاهر النوتكي
المصدر: How to Become a Computer Scientist
disqus