مارأيك في المواضيع التي وردت هنا وتحدثنا عنها؟

المتابعون

يتم التشغيل بواسطة Blogger.

بحث هذه المدونة الإلكترونية

RSS

هو أبو كامل شجاع بن أسلم بن محمد بن شجاع، الحاسب، المصري، عاش في القن الثالث للهجرة، اشتهر بالحساب والهندسة والفلك.
هو أبو كامل شجاع بن أسلم بن محمد بن شجاع الحاسب المصري مهندس وعالم بالحاسب عاش في القرن الثالث للهجرة، ولم تذكر عنه المصادر العربية القديمة ما يزيل الغموض المحيط بتاريخ حياته. جاء في كتاب (أخبار العلماء بأخبار الحكماء): (وكان فاضل وقته، وعالم زمانه، وحاسب أوانه. وله تلاميذ تخرجوا بعلمه). وذكره ابن النديم في (الفهرست) ابن حجر في (لسان الميزان). ويعتبر من أعظم علماء الحاسب في العصر الذي تبع عصر الخوارزمي ذكر للحاسب عدة مؤلفات في الرياضيات والفلك وغير ذلك، منها: كتاب الجمع والتفريق، كتاب الخطأين، كتاب كمال الجبر وتمامه والزيادة في أصوله ويعرف بكتاب الكامل، كتاب الوصايا بالجبر والمقابلة، كتاب الجبر والمقابلة، كتاب الوصايا بالجذور، كتاب الشامل. ويمكن القول أن أبا كامل قد اعتمد كثيراً على كتب الخوارزمي وأوضح بعض القضايا فيها. وكذلك أوضح في مؤلفاته مسائل كثيرة حلّها بطريقة مبتكرة لم يسبق إليها. وله كتب أخرى مثل: كتاب الكفاية، كتاب المساحة والهندسه كتاب الطير (درس فيه أساليب الطيران)، كتاب مفتاح الفلاحة. واشتهر برسالة المخمس والمعشر، وكذلك بكتبه في الجبر والحساب وكان وحيد عصره في حلّ المعادلات الجبرية، وفي استعمالها لحلّ المسائل الهندسية، وقد بقي أبو كامل الحاسب مرجعاً لبعض علماء أوروبا حتى القرن الثالث عشر للميلاد.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

كيف تصبح علماء الحاسب

بأن تكون عالما بالحاسوب لا يعني بالضرورة دراستك للبرمجة وإنما معرفتك بما يسمى بالخوارزميات (مجموعة من الخطوات المفهومة من قبل شخص أو آلة من اجل القيام بمهمة ما في عدد من الخطوات) حيث أن العديد من علماء الحاسوب لا يبرمجوا على الإطلاق. قال ادجر جكسترا مرة "لم يعد علم الحاسوب متعلقا بالحواسيب أكثر من تعلق علم الفلك بالمناظير"

 الخطوات 

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

 ملاحظات هامة

*  تعتبر السبورة المكان المفضل لكتابة الخوارزميات.
*  بعد إتقان لغة برمجية معينة ، سيصبح إتقان أخرى أمر سهل لأنك ستقوم بنفس العمل في كل اللغتين (ترجمة أشباه الكود للغة المستخدمة).

  تحذيرات

*   البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة.

  أشياء ستحتاجها

*  سبورة
*  صبر وتحمل.
موضوع جميل ونحن ماضون على هذا النهج
وطريق الألف ميل يبدأ بخطوة

أفكار جميلة

بصراحة مقالة في الصميم ، لا يكفي ان تعرف لغة برمجة حتى تبرمج بل المهم كيف تبتكر الخوارزميات ثم تبرمجها ...

شكراً لك على

شكراً لك على هذا الشرح الرائع وجعله الله في ميزان حسناتك ان شاء الله

مقـال جميـل ,

مقـال جميـل , فنحن عندما نقوم بكتابه برنامج نفكر بالخطوات ثم نحولها الي اكواد

مقال جميل جزاكم

مقال جميل جزاكم الله خيرا على ترجمته ، لكن هذه الخوارزميات تلزم مين ؟ يعني هل هناك شركات تشتري خوارزميات لأداء مهمة معينة

السلام

السلام عليكم
مقال جيد، أحب أن أضيف أن لب الموضوع هو في الحقيقة تعلم الرياضيات الضرورية لعلوم الحاسب، discret math, combinatorics

من خلال خبرتي

من خلال خبرتي بسيطه في مجال البرمجه ارى انه كلما كنت ملما اكثر في الرياضيات كلما فهمت البرمجه بشكل متعمق اكثر وبنهايه البرنامج ماهو الى خطوات منطقيه == رياضيه .

موضوع جميل

"البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة. "
صحيح لأن البرمجة تعتبر بحر مليء بالأشياء الجديدة لو تعلمناها في يوم كامل على مدار سنة سنظل نجهل أمور كثيرة جداً. ويصل في بعض الأحيان عندما لا يستطيع الإنسان السيطرة على وقته أن يهتم بالبرمجة أكثر من إهتماماته الخاصة والعامة في البيت أو خارجه ! وقد يهمل أشياء كثيرة أيضاً بسببها :-)
أهم شيء يتعرف على الأسياسيات ثم ينتقل للمراحل الأخرى ويعرف ما هي إحتياجاته وأهدافه من التعلم.

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

لا يمكن أن أتصور أن هناك عالم حاسب لا يكتب سطور من البرمجة الحقيقية , وليست الأقوال كالأفعال .

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

ليس بالضرورة أن يكتب عالم الحاسب سطور برمجية، لأن القسم النظري لا يتطلب ذلك.

البرمجة مسببة

البرمجة مسببة للإدمان لذلك تعلم البرمجة يمكن أن يستمر مدى الحياة.
كم أتمنى لذلك فهأنا أخطي خطواتي الأولى
حقا ان البرمجه ممتعه ولكنها مهلكه في بدايتها
محبة البرمجه

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS