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

كيف أسس نفسي تأسيس علمي وصحيح لدراسة علوم الكمبيوتر والبرمجة ؟

بدأه Mr.B في 4 سبتمبر 2010 · 18 رد · 10,032 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كيف حال الجميع إن شاء الله تمام ! :happy:

أسئله تدو في ذهني وبدأت تعطلني في المضي لهدف منذ الطفولة رسمته لإتقان البرمجة وفهم الكمبيوتر

بدأت بتعلم لغات كالـ Java & Python & C إلخ .... وكل مرة ,, تخرج لي مصطلحات غريبة علي .. وإن دل هذا على شيء

فإنه يدل أن هنالك أشياء تجاهلتها ومرتبطة بما أنا في صدد تعلمه و يفترض بي معرفتها مسبقاً !!

ومع الأسف ... لم أجد أي مصدر يركز على هذا الشيء !!

ربما يطرح الكثير ماهي أول لغة أبدأ فيها .... سؤالي يختلف كثيراً عن هذا السؤال

سؤالي .... كيف أأسس نفسي بأسس علمية صحيحه لدراسة الحاسوب بشكل عام والبرامج والبرمجة بشكل خاص

ماهو التسلسل المتبع في الجامعات لتدريس علوم الحاسب وهندسة البرمجيات ؟

رياضياً ... ماذا يجب أن أتقن ؟

معرفتي بالحاسب " كجهاز " إلى أي حد يجب أن أفهمه ؟!

ماهي العلوم التي أحتاج فهمها كي أبدأ ؟ وإلى أي مدى أدرسها ...

فليس من المعقول أن أتعمق كثيرا في الكهرباء مثلا !! فأنا لا أريد دراسة الكهرباء !!

أنا أجهل الكثير ... لذا سألت راغب أن يأتي أحدهم ليضعني على الطريق الصحيح ,,

وأتمنى أن التفصيل والمشاركة ولو بمعلومة .. فصدقني أن الكثير قد ﻻيعرفون تلك المعلومة !!

الفائدة من هذا الموضوع تتعداني وﻻتخصني وسيتفيد الكثير غيري ممن يشاركوني نفس الرغبة والتساؤلات !!

وفقنا الله واياكم لكل علم نافع وسهل الله لنا به طريقا إلى جنته ,,

تم تعديل هذه المشاركة بواسطة Mr.B في 4 سبتمبر 2010 في 03:16

#2

المسالة بسيط وصعبة فى نفس الوقت

هى مايمكن ان تطلق عليه (السهل الممتنع)

من السهل ان تقوم بعمل اى شىء ومن الصعب ان تقوم بعمل كل الاشياء

بمعنى يمكن ان تحدد هدف وتحققه ومستحيل ان تحقق كل الاهداف التى تحتاج امة باكملها

ايه الكلام ده

بلاش فلسفة بدون داعى

نتكلم علمى افضل

الحاسب عبارة عن الة لها قدرات محددة اذا نظرت الى مايمكن ان تقوم به الالة على مستوى الامر الواحد

ولها قدرات لامحدودة اذا نظرت الى مايمكن ان تقوم به مستغلا هذه القدرات المحدودة

امكانيات الالة محددة تماما كما هى حروف لغتنا العربية التى لاتزيد عن 28 حرفا

ولكن بهذه الحروف هناك من يكتب قصص وحكايات وهناك من يعبر عن اشعار ومواقف

وهناك من يتواصل مع الاخرين

ليس كلنا نستطيع ان نكتب قصص لان الامر يحتاج سعة من الخيال

وليس كل كاتب قصة مثل الاخر فهناك تفاوت فى الخيال وفى الواقعية وفى الابداع وفى القبول من الاخرين

بمعنى البرمجة شأنها شأن الفن من ناحية انه مجال يتيح لك ان تظهر ابداعك ومواهبك وتنطلق فى خيالك

بالاضافة الى (الفن) فهو علم له اساس ويجب ان تدرسه بشكل سليم او على الاقل تحصل على حد الكفاية منه

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

وياليت الامر (فن) و (علم) فقط بل تلعب التقنية (التكنولوجيا) دورا خطيرا

فكل من الفن والعلم بالاضافة الى المجهودات الكبيرة تقدم فى النهاية (تقنية)

تلك التقنية التى تريد ان تصنعها او تساهم فى صنعها او ربما تستخدمها لصنع تقنيات اخرى

يعنى المسالة ليست بحر واحد تحتاج ان تبحر فيه

بل تحتاج ان تدرك الابحار فى ثلاثة بحار وهى

1 - الفن

2 - العلم

3 - التقنية

الهاوى فى البداية يدخل من باب التقنية فيدرس كتاب يتحدث عن تقنية بعينها دون اخرى

ام الدارس الاكاديمى فغالبا يدخل من باب العلم فيدرس اساسيات عامة وخوارزميات فى البداية قبل الابحار التقنى

وكلاهما حتى يبدع يحتاج الفن

ذلك الشىء المبهر الذى تراه يتولد فيك مع الوقت (اذا كان لديك استعداد)

وهو مايمكن ان تقول عليه الموهبة التى تنمو وتتطور كلما تدربت اكثر وبذلك مجهود اكثر بجانب العلم والتقنية

العلم فى الكتب

والتقنية تنتجها الشركات وتبيعها

انت يمكن ان تشترى الكتب فهى للبيع

ويمكن ان تشترى ناتج التقنية وربما تجد تفاصيل واسرار طرحت ايضا (المصادر المفتوحة)

ولكن لا احد يستطيع ان يمنحك (الفن) بل يجب عليك ان تكتسبه بنفسك

والله الموفق

7
#3

من العلوم المهمة للتعمق فى البرمجة

1 - دراسة معمارية الحاسب Computer Architecture وهى مما يتكون الحاسب

وكيف يعمل وكيف ينفذ الاوامر (لغة الالة) وقد يرى جاهل ان هذا العمق لا فائدة منه

رغم ان هذا الفهم ضرورة حتمية اذا كنت مقدما مثلا على القيام بشى مثل الة صورة

اى Virtual Machine لانها فى النهاية تعمل باسلوب مشابه لما يقوم به الحاسب حين

ينفذ اوامر لغة الالة والامر اولا واخيرا مفهوم بدراسته تفهمه وليس معقدا

2 - دراسة الدوائر المنطقية Logic Circuits وفهمها لانها فقط لاتتعلق بالهاردوير بل

تدخل ايضا فى التفكير المنطقى وتحديد الشروط والحالات التى تنفذ على اساسها التعليمات

3 - دراسة جمل التحكم Control Strucutre وكيف تستخدمها للتحكم فى سير التعليمات

4 - دراسة هياكل البيانات Data Structure وكيف تستخدمها فى تمثيل البيانات

5 - دراسة الخوارزميات التى من خلالها يمكن معالجة البيانات Data Processing واجراء العمليات

المختلفة عليها من فرز Sort و بحث Search و تحويل Transform و تحليل Analysis ونقل Transfter

وغيرها من الامور

6 - دراسة البرمجة الهيكلية Structure programming و الاجراءات Procedures والدوال Functions

للتعرف على كيفية تنظيم البرامج بهذا الاسلوب والتحكم بها

7 - دراسة برمجة الكائنات Object Oriented Programming والتعرف على كيفية بناء الانظمة الكبيرة

بهذا الاسلوب الذى يعطى امكانية لاعادة الاستخدام بشكل افضل فضلا عن التنظيم وعدم تكرار الاكواد

وسهولة ادارة نظام كبير وغيرها من الفوائد العظيمة

8 - دراسة واجهة المستخدم بانواعها الثلاثة Console اى المواجهة الخطية التى تعتمد على الاوامر

والمواجهة بالقوائم Menus والمواجهة الرسومية GUI التى تعتمد على النوافذ والايقونات وكيفية تسخير

هذه الادوات فى خدمة التطبيقات وربما كيفية بناء هذه الواجهة من البداية فى مشاريع معينة

وايضا التعرف على البرمجة بالاحداث Event-Driven

9 - دراسة قواعد البيانات وكيفية تخزين البيانات والحصول على معلومات منها (التقارير) و (الاستعلامات)

والعمل باكثر من اسلوب Server Based او Client-Server او Distributed وغيرها

10 - دراسة اساسيات برمجة الشبكات

11 - التعرف على علم الوسائط المتعددة وكيفية التعامل مع الصوت والصورة والفيديو والنصوص وكيفية

تحليل ومعالجة الصور او الصوت او الفيديو

12- التعرف على اساليب الذكاء الاصطناعى ومايمكن ان تستفيد به من هذا العلم فى تطوير تطبيقات

اكثر ذكاءا وتخدم البشرية بشكل اكبر

13 - التعرف على البرمجة منخفضة المستوى Low level programming وكيفية توجيه تعليمات للمعالج

والوصول الى مسجلات المعالج CPU Registers او مواقع التخزين فى الذاكرة Memory Locations وكيفية

تحديد العنوان Address و التعامل مع المساحة المتاحة من الذاكرة وادارتها وغيرها من الامور

هذه النقاط التى ذكرتها هى مجرد نقاط من بحر

هذا المجال بحر كبير وليست مطلوب ان تعرف كل شىء

بل مطلوب ان تتقن مجال معين على الاقل وتكون قادر على ان تستفيد باتقانك له

وتسعى دائما للابداع

والله الموفق

6
#4

هناك الكثير من الكتب العامة التى تعطيك اساس وفكر المؤلف ومعظمها كتب اجنبية

حاولت على المستوى الشخصى ان اقدم كتاب عام فى المجال

وكانت تجربتى فى هذا الاتجاه من خلال كتاب اعمق اسرار البرمجة (سنة 2007)

الجزء الاول

http://www.kutub.info/library/book/466

الجزء الثانى

http://www.kutub.info/library/book/635

وضعت فى هذ الكتاب تصور شخصى وخاص لرؤيتى الشخصية فى المجال

وكلما قرات كتب كثيرة من هذه النوعية

كلما حصلت على خبرات الاخرين ونتائج تجاربهم فى وقت قياسى

وهذا يوفر سنوات من العمل حتى تصل لثمرة هذه الاعمال

اى انه كلما قرات اكثر لما تعلمت اكثر وكسبت خبرة اكبر خصوصا اذا قرات الكتب التى يعبر فيها المؤلف عن ثمرة خبرته

وليس مجرد شرح لتقنية معينة تنتهى مع مرور الوقت وتظهر تقنيات اخرى

من خلال مواقع اجنبية مثل

http://www.sourceforge.net

http://www.codeplex.com

http://www.codeproject.com

تجد مقالات ومشاريع فى مختلف المجالات

الامر الذى يجعلك تنبهر بهذا التقدم الكبير فى مجالات مختلفة

حينما تقدم على المضى فى مجال معين

فانك تجمع ماتراه متعلقا بهذا المجال

وتظل تتخصص داخل التخصص حتى تظهر لك نتائج تسبق الاخرين فى الوصول لها

او على الاقل تبدع وتحقق نتائج مشرفة

او على اقل تقدير تصل لمستوى رائع

والله الموفق

تم تعديل هذه المشاركة بواسطة PWCT Maker في 4 سبتمبر 2010 في 03:50

2
#5

لا أعرف فلو عاد بي الزمن لا خترت تخصصاً مختلفاً، ليس لأنه صعب أو معقد، ولكن تحتاج لصبر ونفس طويل جداً وتحتاج الإلمام بشكل كبير بالموضوع.

سأطرح مثال في علم البرمجة..

مثال بسيط جداً: صمم برنامج لتحويل درجة الحرارة من فهرنهايت إلى درجة مئوية؟

مجرد أنك ستبدأ بالبرمجة، يجب أن تراعي جميع الاحتمالات،

مثلاً، مانوع البيانات المدخلة، عدد صحيح، حقيقي ونوع بيانات المخرجات والأفعال تجاه الأحداث الخاطئة.

ماذا لو أدخل المستخدم رقم بالسالب؟

ماذا لو المستخدم اراد التحويل العكسي هل البرنامج مرن؟

هل البرنامج لديه شاشة سهلة وبسيطة؟

هل تمت تجربة البرمج وتقييم النتائج على عدد كبير من الأرقام؟

ما هو الأسلوب المتبع للبرمجة؟ بحيث لو جاء شخص يريد أن يتعلم هل أسلوبك سلس ويتبع طريقة معينة؟

لو أردت تطوير البرنامج ماهي الافكار؟

هل البرنامج سيعمل على جميع أنظمة التشغيل؟

.. والعديد من الأسئلة تريد إجابات.

عرضت مثال عن علم البرمجة وهو بسيط جدا جداً، ولكن انظر إلى تلك الأسئلة كلها لبرنامج بسيط فما بالك لتطوير برنامج متوسط الحجم إلى كبير، تحتاج لتوثيق العديد من المهام، والتصميم قبل الشروع في التنفيذ، والاختبار بعد التنفيذ واصلاح الأخطاء، وما هي العيوب التي لم تحل؟

ولكن نصيحتي لك في البداية، هي أن تأخذ من فروع علوم الحاسب وهندسة البرمجيات شيء، وتأخذ من فرع واحد كل شيء.

#6

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

3
#7

السلام عليكم ورحمة الله وبركاته...........

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

وجزاكم الله خيرا وزادكم علما

#8

شكرااا جزيلااا لك اخي على هذا السؤال

وشكرااا على كل الاجابات للاخوه والاساتذه المحترمين وشكرااا على الكتب و الشرح المفصل ....تقديري لكم وفقكم الله

الحياة ليست شارعا ذا اتجاه واحد

#9

ربنا يزيد من الاسئلة دي

و يزيد اكتر من الاجابات الممتعة دي

و الله يا ريت تبقى مقاله و تتثبت

#10

السلام عليكم ورحمة الله ،،،

أولا : أتشرف بالانضمام لهذه الكوكبة المتميزة في الفريق العربي ..وأتمنى مقاما ميمونا بينهم ..

ثانيا - أسجل إشادتي بالأخ الذي طرح هذه الاسئلة والاستشكالات ...وبالاخوة الذين ردوا عليه باجابات شافية ووافية ..استفدت منها-شخصيا - الكثير مما كنت أحتاج لمعرفته لأنني مبتدئ في هذا المجال ومازلت في أول قدم ..

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

شكرا لكم جميعا

التدرج معراج التخرج ...

#11

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

#12

اشكر الأخ صاحب السؤال

وجزيل الشكر للأستاذ pcgt maker

على الاجابة صراحة افتدتني كثيرا انا في اول سنة في قسم تقنية الملعومات وكل يووم تتراكم الاستفهامات على راسي ومن يوم سجلت في هذا المنتدى بدأت الاستفهامات تقل

لكم جزيل الشكر والتقدير

#13

وعليكم السلام ورحمة الله وبركاته

اخوي احب ان اقولك ان مجال البرمجة وهندسة البرمجيات مجال ليس صعب حسب ما يتصوره البعض

مجال سهل جدا ً وممتع بل برئيي الشخصي ارى ان مجال البرمجة اسهل بكثير من مجال التصميم هذه وجة نظري الشخصية

الموضوع كله يحتاج فقط الى ( رغبة )

والشخص الذي عنده رغبة حقيقة تجده دائما يقراء ويطلع على الجديد في عالم البرمجة

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

ويهتم جدا ً با القرءة فعلم ان هذا الشخص لديه رغبة حقيقة للتعلم

ومتى ما بدء الشخص با القراءة فهو يتعلم ,, ومتى ما تعلم الانسان فهو سوف ينتج

وانتاجيته هي دليل على مقدار علمه بهذا الشي

فا اساس الامر هي الرغبة فقط ولا شي اخر ولما اقول رغبة يعني شخص يقرء ولما يقرء بلا شك سوف يكتسب معلومات وهذه المعلومات اذا تجمعت

كونت خبرة او معرفة والمعرفة هو علم الانسان با الشي هذا

^_^

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#14

شكراً كتير على هالمعلومات المفيدة

#15

شكرا على طرح هذا السؤال

وشكر لكل من أجاب وعلق بأنه هذا المنتدى ساعده على امور كانت تصعب عليه

كأني ابحث في المكان الصحيح عما اريده واريد من الجميع مساعدتي

أنا لأعلم اين أضع هذا السؤال هل أفتح موضوع جديد ام ماذا لأني قرأت التعليمات وأحترت كثيرا اين اضع موضوعي

وأنا أعتذر من صاحب السؤال ولكن سؤالي مشابه له كثيرا

اولا انا ادرس بقسم الحاسب في الجامعة وبدأت بإختيار ماده ( Computer Organization and Architecture)

لكن الدراسة بالغة الأنجليزية وأنا لغة متوسطةوالأعتماد الكلي في الفهم والإستيعاب 70% على الطالب دراسة ذاتية المحاضرات فقط شرح سريع مختصرواذا يوجد للطالب أي إستفسار.

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

جزاكم الله خيرا

تم تعديل هذه المشاركة بواسطة الرياضيات العربية في 8 ديسمبر 2010 في 19:10

#17

مشكووووووور للجميع وبجد يجب ان يتم تثبيت هذا الموضوع لانه مهم جدا

جزى الله خيرا كلا من السائل وكل من اجابه فكلنا استفدنا

تحياتى

#18

اشكر من اعماق قلبى الاخ صاحب السؤال و المهندس محمود فايد على ما يقدمه لنا من افاده و علم دون ملل طوال السنين

و ان شاء الله الى مزيد من التقدم و الرقى

#19

اشكر كل من شارك في مضمون هذا الموضوع ،

وااكد لك ايها العابر والقارئ ، انك تجد حرفا سطرتها الاخلاص والصدق المفعم بالايثار والتفاني ،

لانك ما ان تقرأ لتعليق او ملاحظة الا وهي تأخذ طريقها للانسياب والانسلال الى فهمك وشغفك ، حتى لا تكف عن الرغبة في ارواء عليلك واشفاء غليللك ...

بارك الله في السائل - الذي سخره الله - لتسخير الاساتذة الافاضل لينبروا بكل بحب لاجابته واخص بالذكر ، حضرت المهندس المكرم / محمود فايد ، الذي لا يألوا جهدا في رفعة اخوته العرب والمسلمين وكل انسان ناهم للمعرفة ، وكل من ساهم في اثراء هذا المضمون ، ولا يسعني الا ان اسال الله الكريم ان يبارك جهودكم ، لا عدمتم ابدا ،،

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…