فرز
صورة الملف الشخصي لـ Samer Assil

بعد اكثر من ثلاثين سنة في البرمجة. مررت بكل ما تتخيل وما لا تتخيل. استطيع ان اجيبك بكل تاكيد :

البرمجة ليست صعبة مطلقا.

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

  1. معلوماتك الحالية فيها نقص. ولا تكفي لفهم ما تواجهه.
  2. معلوماتك الحالية فيها اجزاء خطا. وتعتقد انها صحيحة.

خلال كل هذه السنوات الطويلة لم يخرج سبب ثالث.

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

بعد اكثر من ثلاثين سنة في البرمجة. مررت بكل ما تتخيل وما لا تتخيل. استطيع ان اجيبك بكل تاكيد :

البرمجة ليست صعبة مطلقا.

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

  1. معلوماتك الحالية فيها نقص. ولا تكفي لفهم ما تواجهه.
  2. معلوماتك الحالية فيها اجزاء خطا. وتعتقد انها صحيحة.

خلال كل هذه السنوات الطويلة لم يخرج سبب ثالث.

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

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

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

  1. اكرر المحاولة. واعيد دراسة الموضوت مرات عديدة اخرى. ان فشلت انتقل للنقطة التالية
  2. اعمل قائمة بما هو متعلق بشكل اساسي بالموضوع مبتعدا عن التفرعات. وابدأ بمراجعتها بحثا عن نقص في معلوماتي فيها. استكملها واعيد محاولة فهم الموضوت الاساسي. ان لم تفلح انتقل للنقطة التالية
  3. ابد بالبحث عن الاخطاء في معلوماتي في المواضيع التي حددتها في القائمة.

كل هذا مع الانتباه عدم التعمق. لان هذا سينقلني لبحر اخر غير هدفي الذي هو الموضوت الاساسي الذي احاول فهمه.

هذه الخطوات لها فائدة مخبأة وهي انها ستضمن لك معلومات صلبة مع مرور الزمن. واعادة تعمير وصيانة بشكل دائمة لها

والله يوفقك في دراستك :)

صورة الملف الشخصي لـ هاني

أعد الدروس ولا تتجاوز شيء حتى تفهمه هذا بالنسبة للأساسيات فهناك بعض الأمور التي لن تفهمها إلا مع الوقت والممارسة وابحث عن مصادر خارجية للتعلم أي لا تعتمد على كورس واحد؛ اقرأ كتاب مثلا وتابع كورس واحضر محاضرات حتى تجد نفسك قد تمكنت من المجال لكن احذر من القفز بين المصادر ولا تجعلها كثيرة حتى درجة التشويش عليك

صورة الملف الشخصي لـ مراد يحيى

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

أقصد بالمصدر: الأستاذ، كتاب، موقع، فيديو ..

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

بالتوفيق لك

صورة الملف الشخصي لـ Samer Assil

(كل ما سيأتي لاحقا سأفترض فيه انك تدرس بتأني وتدرس بتسلسل دون القفز بين الصفحات والمواضيع فهذا مهم ولن تجد اثنين مختلفين في هذا )

النصيحة رقم واحد والوحيدة . ترجم النص لا تحاول ترجمة المصطلحات اتركها كما هي. تعلمها واقرأها كما هي بلغتها الاصلية. لا تحاول مطلقا البحث عن بديل عربي لها .

كأن تقول ( ساكتب كلاس يقوم بكذا ) او ( سأكتب مثود لديها برمترات كذا وكذا.. ) لا تترجم ( كلاس ) ولا ( مثود و برمترات )

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

الثابت في التاريخ ان صاحب التقنية يف

(كل ما سيأتي لاحقا سأفترض فيه انك تدرس بتأني وتدرس بتسلسل دون القفز بين الصفحات والمواضيع فهذا مهم ولن تجد اثنين مختلفين في هذا )

النصيحة رقم واحد والوحيدة . ترجم النص لا تحاول ترجمة المصطلحات اتركها كما هي. تعلمها واقرأها كما هي بلغتها الاصلية. لا تحاول مطلقا البحث عن بديل عربي لها .

كأن تقول ( ساكتب كلاس يقوم بكذا ) او ( سأكتب مثود لديها برمترات كذا وكذا.. ) لا تترجم ( كلاس ) ولا ( مثود و برمترات )

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

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

ما يجعلني اصر على هذا ما يلي :

١. اغلب المترجمين هم ليسوا أصحاب اختصاص . فلا تغتر بأسماء مؤلفي كتب البرمجة العربية فأغلبهم هم مترجمين وليسوا مبرمجين .

٢. اختلاف وجهات نظر المترجمين . فمنهم من يعتمد الترجمة الحرفية ومنهم من يعتمد الترجمة الوظيفية . كمثال Class منهم قال انها ( نهج ) معتمدا على وظيفتها . ومنهم من قال انها ( صف ) معتمد على ترجمتها الحرفية . وشخصيا كمبرمج لثلاثين سنة لست مقتنع بالترجمتين نهائيا .

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

٤. اسهل في دراسة الكتب الاجنبية . فلن تحتاج للبحث طويلا عن مرادفات. ما يهمك هو نص الشرح العام.

صورة الملف الشخصي لـ الشيخ المختار

اهلا بك ..

يوجد تمارين لم أفهمها ومستعصية قليلاً وذلك لتداخلها

اطرح سوألك في اكاديمية حسوب جزء سوأل وجواب > البرمجة هناك متخصصين سيشرحون لك ان شاء الله

أتجاوز الدرس من أجل عدم تضييع الوقت والعودة له عند الشعور بقابلية محاولة الفهم؟

لا انصحك بذلك، الانه لي بعد تلك الدرس هو في جزء من الدرس السابق وغالبا اصعب منه

انت تبني بيت ولهذا غير معقول تأخذه من النصف او الربع اووتخطي اجزء منه .

تحياتي

صورة الملف الشخصي لـ محمد شراقي

الجزء الاول من السؤال
الاجابه عليه تختصر تحت
غير المهندس الذي يشرح لك او غير طريقه مذاكرتك

الجزء الثاني انت فقط لك اسبوع فقط لا تقلق عزيزي المده قصيره جدا لتفهم كل شئ

هل انت غير مناسب؟
طبعا انت مناسب ولكن لازم تعرف ان البرمجه كلها مبنيه علي المشكلات اصلا مع المشكلات انت سوف تصبح مبرمج

والان سوف اقول لك الطريقه الذي كنت اذاكر منها

  1. اولا اختار شخص متقن اللغه وانا افضل الزيرو ويب وانا تعلمت منه هذه اللغه
  2. ثانيا ما فيه شئ اسمه تتفرج علي الحلقه او الدرس
    هذا درس تعليمي ليس بفلم

    احضر معك اللاب توب او الجوال او اي شئ تكتب عليه الكود وسجل معه ما يكتبه
    وبكذا انت سوف تفهم منه ولكن ستظهر لك مشكله ثانيه وهي

الجزء الاول من السؤال
الاجابه عليه تختصر تحت
غير المهندس الذي يشرح لك او غير طريقه مذاكرتك

الجزء الثاني انت فقط لك اسبوع فقط لا تقلق عزيزي المده قصيره جدا لتفهم كل شئ

هل انت غير مناسب؟
طبعا انت مناسب ولكن لازم تعرف ان البرمجه كلها مبنيه علي المشكلات اصلا مع المشكلات انت سوف تصبح مبرمج

والان سوف اقول لك الطريقه الذي كنت اذاكر منها

  1. اولا اختار شخص متقن اللغه وانا افضل الزيرو ويب وانا تعلمت منه هذه اللغه
  2. ثانيا ما فيه شئ اسمه تتفرج علي الحلقه او الدرس
    هذا درس تعليمي ليس بفلم

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

مثال انت الان تدرس المتغيرات مثلا
لا تقتصر بالمتغير اللي الاستاذ انشئه بعد ما تنتهي الحلقه انشئ انت متغيرات وتمرن كثير وحاول تخطأ لان الخطأ هو اللي هيعلمك

اخيرا
حاول تكتب يومياتك في تعلم البرمجه والاخطاء الذي تظهر لك لانك في المستقبل سوف تضحك علي هذه الاخطاء البسيطه

والله يوفقك

صورة الملف الشخصي لـ Moustafa Shahin

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

صورة الملف الشخصي لـ Dina Hamedy

الأفضل أن تعيد الدرس حتي تفهمه ف لا يمكن أن تبني الطابق الثالث وأنت لم تبني الثاني

صورة الملف الشخصي لـ Faten Ahmed

طبق عملي تفهم اكثر واسرع

يعني اكتب البرامج علي الكمبيوتر وعمله رن

بهاذه الطريقه تفهم اكثر واسرع من القرائه النظري

صورة الملف الشخصي لـ مؤمن أبو طعيمة

Learn by steps and projects.

Learn how to search for an information

الشعور باليأس يأتي من متابعتك للدراسة النظرية. لذلك لا أنصحك بأن تتعلم أكثر من مهارة معاً في البرمجة. بل افعل الأتي.

مثلاً:

  • اليوم تعلمت مصطلحاً جديداً يتعلق بتنسيق النصوص عن طريق لغة معينة.لا تنتقل لموضوع جديد إلا اذا استطعت استخدام هذا المصطلح أو ال function في مشاريع سابقة كنت قد تعلمتها.
  • حاول دائماً أن تضيف الجديد الذي تعلمته وتربطه بالقديم الذي لديك.
    على سبيل المثال: عندما تعلمت ال OOP و DS&A
    كان لذي مشروع بسيط عن برنامج لادارة مدرسة, وكنت كلما تعلمت شيئاً جديداً أضفته لهذا المشروع. عندما انتهيت من تعلم الاساسيات كان لدي مشروع

Learn by steps and projects.

Learn how to search for an information

الشعور باليأس يأتي من متابعتك للدراسة النظرية. لذلك لا أنصحك بأن تتعلم أكثر من مهارة معاً في البرمجة. بل افعل الأتي.

مثلاً:

  • اليوم تعلمت مصطلحاً جديداً يتعلق بتنسيق النصوص عن طريق لغة معينة.لا تنتقل لموضوع جديد إلا اذا استطعت استخدام هذا المصطلح أو ال function في مشاريع سابقة كنت قد تعلمتها.
  • حاول دائماً أن تضيف الجديد الذي تعلمته وتربطه بالقديم الذي لديك.
    على سبيل المثال: عندما تعلمت ال OOP و DS&A
    كان لذي مشروع بسيط عن برنامج لادارة مدرسة, وكنت كلما تعلمت شيئاً جديداً أضفته لهذا المشروع. عندما انتهيت من تعلم الاساسيات كان لدي مشروع كامل ورائع جداً. بل وانني استطيع جعله مشروع تخرج من الجامعة باضافة بعض التفاصيل فقط.

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

صورة الملف الشخصي لـ علي اصغير

أهلا صديقي أظن أنك في الدرب الصحيح لأنك تريد

تعلم الخوارزميات قبل تعلم لغات البرمجة .

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

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

في سبيل الإضافة أرشح لك منصة udemy فابها العديد من الكورسات الاحترافية من مدربين لديهم خبرة في

أهلا صديقي أظن أنك في الدرب الصحيح لأنك تريد

تعلم الخوارزميات قبل تعلم لغات البرمجة .

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

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

في سبيل الإضافة أرشح لك منصة udemy فابها العديد من الكورسات الاحترافية من مدربين لديهم خبرة في المجال وغيرها الكثير من المنصات المدفوعة المحتوى مع شهادة إتمام الكورس…

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

أقدم لك نصائح من تجربتي للاستمرار في هذا المجال:

1>أنصحك بعدم الدراسة من مصادر عدة في نفس الوقت

2>خصص وقت ثابت في يومك لتعلم البرمجة

3>المهم هو الإستمرارية و ليست النتائج

4>أفضل طريقة لتعلم الفعال والناجع هو بحل تمارين متنوعة في الخوارزميات و عمل مشروعات مصغرة لإكتشاف أخطائك و تصحيحها من ثم لن تنساها

5>تعلم اللغة الإنجليزية يكفي أن يكون لديك مستوى متوسط لتفهم الأكواد و تجد المحتوى الغني بالمعلومات القيمة في مجال البرمجة

6>انخرط في مجتمع المبرمجين و كون صداقات معهم

7>لاتتكل على الشغف فهو لن يدوم طويلا بل ركز على الإستمرارية كل يوم

8>إكتشف أعمال المبدعين في هذا المجال واعمل تغذية بصرية

9>تعلم أساسيات الحساب الرياضي

10>ضع هدف من وراء تعلم البرمجة

11>الإستمرار في التعلم

12>من الأفضل تعلم البرمجة في الجامعة الإلتزام في التعلم و الإسمرار

13>إذا كانت تدرس مجال بعيد عن البرمجة فأنصحك بشدة بترك تعلم البرمجة حتى تتفرغ لها، أو تعلمها في العطل أو العطلة الصيفية

14>عندما تريد أن تدرس إدرس في مكان هادئ و مريح لتستطيع أن تفهم ما تتعلم الآن البرمجة تحتاج الى تركيز جيد الإستيعاب الأكواد و الخوارزميات و كيفية عملها

15>كافئ نفسك على كل مشروع تنفذه بنجاح

16>إستمتع بالبرمجة

17>في الختام أتمنى لك رحلة مثمرة في طلب العلم كيفما كان و أينما كان.

  • قد يتطلب منك من شهر إلى شهرين لتعلم الأساسيات
  • تعلم لغة قد تتطلب سنة إلى سنتين

سلام

صورة الملف الشخصي لـ Mohamed Alawdan

يبدو ان الأمر يشكل تحدي بالنسبة لك .. ولكن لا بأس فلكل مشكلة حل ..

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

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

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

ثانيا : لنفترض انك استوعبت كيفية استخدام اوامر اللغة البرمجية .. الخطوة التالية هى ان تتدرب على استخدام هذه الأوامر في برامج صغيرة أولا .. لا تدخل

يبدو ان الأمر يشكل تحدي بالنسبة لك .. ولكن لا بأس فلكل مشكلة حل ..

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

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

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

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

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

لا اريد ان اطيل عليك اكثر .. تمنياتي بالتوفيق

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

جامعة هارفارد مقدمة لك منهج مجاني كامل لتعلم الاساسيات إسمه cs50

وإذا لديك مشكلة في اللغة الانجليزية فهذا ليس عذرا فيوجد شاب جميل ربنا يبارك في عمره شارح فيه كورس cs50 بالتفصيل الممل (دون الخروج من المنهج) في اليوتيوب ودا الرابط

كورس cs50 بالعربي كامل | Cs50 Tutorial In Arabic
كورس cs50 هو عبارة منهج برمجي ضخم موجه الى المبتدئين او حتى غير المبتدئين و هي دورة مجانية تقدمها جامعة هارفارد، يمكن من خلال هذه الدورة لأي شخص البدء في درا...

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

اتمنى اكون ساعدتك ولو بشئ بسيط

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

جامعة هارفارد مقدمة لك منهج مجاني كامل لتعلم الاساسيات إسمه cs50

وإذا لديك مشكلة في اللغة الانجليزية فهذا ليس عذرا فيوجد شاب جميل ربنا يبارك في عمره شارح فيه كورس cs50 بالتفصيل الممل (دون الخروج من المنهج) في اليوتيوب ودا الرابط

كورس cs50 بالعربي كامل | Cs50 Tutorial In Arabic
كورس cs50 هو عبارة منهج برمجي ضخم موجه الى المبتدئين او حتى غير المبتدئين و هي دورة مجانية تقدمها جامعة هارفارد، يمكن من خلال هذه الدورة لأي شخص البدء في درا...

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

اتمنى اكون ساعدتك ولو بشئ بسيط

صورة الملف الشخصي لـ Ahmed Elmahdy

اولا اذ كنت لا تريد ان يضيع وقتك فا خذ شيء واحد وضع تركيزك كله عليه وكأنة لا يوجد لديك شيء غيره وبعد الانتهاء منه انتقل لشيء آخر اما ان تتعلم عدة اشياء في نفس الوقت فا ستضيع جزء كبير جدا من وقتك ولن تتقن ايا منها
واليك نصيحة قد لا يعرفها البعض
عند تركيزك علي شيء ما ودراسته سوف تجد عقلك في الاوقات التي لا تدرسة فيها يقوم بتحليل اجزاء منه وتخزين واستدعاء بعض التجارب النظرية وسيقوم عقلك ببناء شجرة لتطوير هذا الجزء حتي وانت نائم
اما عند تركيزك علي اكثر من شيء فلن يقوم عقلك بتشتيت نفسه فقط سيعمل عليهم اثناء الدراسة فقط
ثانيا الحماس وليد اللحظة ولن يستمر حماسك لفترة طويله فا الافضل ان تستفيد منه

اولا اذ كنت لا تريد ان يضيع وقتك فا خذ شيء واحد وضع تركيزك كله عليه وكأنة لا يوجد لديك شيء غيره وبعد الانتهاء منه انتقل لشيء آخر اما ان تتعلم عدة اشياء في نفس الوقت فا ستضيع جزء كبير جدا من وقتك ولن تتقن ايا منها
واليك نصيحة قد لا يعرفها البعض
عند تركيزك علي شيء ما ودراسته سوف تجد عقلك في الاوقات التي لا تدرسة فيها يقوم بتحليل اجزاء منه وتخزين واستدعاء بعض التجارب النظرية وسيقوم عقلك ببناء شجرة لتطوير هذا الجزء حتي وانت نائم
اما عند تركيزك علي اكثر من شيء فلن يقوم عقلك بتشتيت نفسه فقط سيعمل عليهم اثناء الدراسة فقط
ثانيا الحماس وليد اللحظة ولن يستمر حماسك لفترة طويله فا الافضل ان تستفيد منه في شيء واحد وعند انجازه وقبل ان ينطفئ الحماس سيشتعل مرة اخري نتيجة احساسك بأنجاز هذا الجزء

صورة الملف الشخصي لـ اسلام البيك

كيف أبدأ اتعلم البرمجة ؟

كل ماتبدأ مبكراً كان افضل لك .. الاستعجال في العلم خير..
لازم تسوي لك جدول

ينظم لك مراحل الدراسة

الجدول كالتالي :(مثال فقط)

الشهر الاول : اساسيات اللغه

الشهر الثاني: أوامر اللغه

الشهر الثالث: الكلاسات والmethods

:

وهكذا

بعد كل شهر كافئ نفسك لأنك تستاهل


ماهي مصادر التعلم؟

المصادر كثير جداً اهم مصدر

اليوتيوب

الدورات (uedmy -coursera) وغيرها كثير

قوقل

كل هذي مصادر متاحة لك ✅

ركز على دورة واحده و مصدر واحد فقط

لا تشتت نفسك ابداً
راح تواجه مشاكل و عقبات لكن لا تتنازل عن حلمك و رغبتك بالتعلم 🙏🏻


أي لغة برمجة أبدأ أتعلم؟

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

كيف أبدأ اتعلم البرمجة ؟

كل ماتبدأ مبكراً كان افضل لك .. الاستعجال في العلم خير..
لازم تسوي لك جدول

ينظم لك مراحل الدراسة

الجدول كالتالي :(مثال فقط)

الشهر الاول : اساسيات اللغه

الشهر الثاني: أوامر اللغه

الشهر الثالث: الكلاسات والmethods

:

وهكذا

بعد كل شهر كافئ نفسك لأنك تستاهل


ماهي مصادر التعلم؟

المصادر كثير جداً اهم مصدر

اليوتيوب

الدورات (uedmy -coursera) وغيرها كثير

قوقل

كل هذي مصادر متاحة لك ✅

ركز على دورة واحده و مصدر واحد فقط

لا تشتت نفسك ابداً
راح تواجه مشاكل و عقبات لكن لا تتنازل عن حلمك و رغبتك بالتعلم 🙏🏻


أي لغة برمجة أبدأ أتعلم؟

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

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

**السبب** أغلب الجامعات العالمية تقوم بتدريسها للمبتدئين بالبرمجة

كم من الوقت يكفيني للتعلم؟

من ٣ الى ٦ شهور لازم تتعلم اساسيات اللغه و طريقة البرمجة الاساسيه

من ٦ شهور الى سنه تقريبا نقدر نقول توصل الى نصف المشوار ..

بعد السنه هذا عليك .. البرمجة من الاشياء اللي اذا تركتها تنساها

لازم تمارسها دائماً ❤️❤️

حسابي على تويتر:

https://twitter.com/Learndesign14
صورة الملف الشخصي لـ Abdulnaser Sabra

سوف اعيد صياغة سؤالك لكيف امتلك الفكر البرمجي ؟

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

الفكر الخوارزمي هو المطلوب اي إتقان انشاء خوارزمية لحل مشكلة معينة.

عندما بدأت بتعلم البرمجة بدأت بمتابعة كورس java ع اليوتيوب كنت حينها افهم ما يتم شرحه وكنت افهم ال concepts التي كان يتم شرحها بدون مشاكل.

شاهدت الكورس تقريبا قبل بدأ دراستي في مجال علوم الكمبيوتر.

ولكن انصدمت واصابني اليأس عندما تلقيت اول وظيفة برمجية في الجامعة وكان المفروض ان احل الوظيفة بلغة جافا، لأنني لم أستطع أن اربط ما تعلمته في كورس لغة java مع ما يجب ان احله.

امتلاكك ا

سوف اعيد صياغة سؤالك لكيف امتلك الفكر البرمجي ؟

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

الفكر الخوارزمي هو المطلوب اي إتقان انشاء خوارزمية لحل مشكلة معينة.

عندما بدأت بتعلم البرمجة بدأت بمتابعة كورس java ع اليوتيوب كنت حينها افهم ما يتم شرحه وكنت افهم ال concepts التي كان يتم شرحها بدون مشاكل.

شاهدت الكورس تقريبا قبل بدأ دراستي في مجال علوم الكمبيوتر.

ولكن انصدمت واصابني اليأس عندما تلقيت اول وظيفة برمجية في الجامعة وكان المفروض ان احل الوظيفة بلغة جافا، لأنني لم أستطع أن اربط ما تعلمته في كورس لغة java مع ما يجب ان احله.

امتلاكك الفكر البرمجي يساعدك من ربط ال dots مع بعضها البعض وال dots يمكن اعتبارها المفاهيم البرمجية للغة برمجية معينة.

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

السؤال هو كيف يمكن ان أمتلك الفكر البرمجي او الفكر الخوارزمي؟

الإجابة هي تعلم الخوارزميات.

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

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

مثال:

الطباخ يقوم باستخدام مقادير معينة لإنشاء طعام لذيذ.

في هذه الحالة يمكن اعتبار المقادير هي ال concepts اللي نتعلمها في لغة البرمجة….معرفة مذاق كل مقدار من المقادير لا يعني اننا نجيد دمج هذه المقادير لإنشاء وجبة غذائية لذيذة.

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

امتلاكك للفكر البرمجي سوف يساعدك في تعلم اي لغة ولكن فهم مفاهيم لغة معينة بدون امتلاك الفكر البرمجي لن يساعدك في تعلم لغات أخرى.

مثال:

لنقل لدينا array ولنطلق عليها اسم nums ونريد أن نعرف ما هو اكبر رقم في هذه المصفوفة. [8,4,2,6,6,5,12,2,1]

كيف نبدأ:

١. نقوم بكتابة pseudocode :

Pseudocod:

دعنا نفهم ماذا حصل…

اولا:

اول شئ يجب ان فكر به ماذا الغرض من الكود ..الكود يرجع قيمة الرقم الأكبر في المصفوفة ….ولكن كيف نعرف القيمة الاكبر وكيف نقوم بتخزينها؟

سؤال منطقي…سوف نقوم بتخزينها في متغير نطلق عليه max

و max هو متغير يخزن القيمة الكبرى في المصفوفة

بما اننا بعد لا نعرف القيمة الكبرى سوف اقوم بإسناد القيمة الأولى في المصفوفة للمتغير max

  1. max = nums[0] 

ثانيا:

يجب ان ازور كل القيم الموجودة لمعرفة القيمة الكبرى لذلك سوف اقوم باستخدام for loop:

  1. FOR i=1 to arraySize -1 

ثالثا:

ماذا سوف نفعل بعدها ؟

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

هي ببساطة العنصر الثاني في المصفوفة لان العنصر الاول قمت بإسناده المتغير max

جيد جدا …الان لدي قيمتين استطيع ان اقارن بينهما.

يجب ان نقوم بالتأكد اذا كانت القيمة التي يحتويها المتغير max والتي هي 8 هي أكبر من القيمة الموجودة في العنصر الثاني في المصفوفة والتي هي 4

سوف ابدا الان بالمقارنة بين القيمة التي يحتويها المتغير max مع القيم الاخرى في المصفوفة.

4,2,6,6,6 هذه القيم جميعها أصغر من 8 لذلك قيمة ال max لن تتغير وسوف تبقى كما هي.

ولكن عندما أقارن 8 مع القيمة 12 قيمة ال max يجب ان تتغير لان الأن هنالك شئ تغير وهو اننا وجدنا قيمة اكبر من 8 وهي القيمة 12 لذلك يجب ان اعرف كيف يجب أن اغير ال max عندما اقارنه مع 12 اي عندما اقارنه مع قيمة اكبر منه.

لذلك يجب ان اضع شرط لاقوم بتغير قيمة المتغير max عندما يكون هنالك قيمة اكبر منه مثل حالة القيمة 12.

بعدها سوف أقارن قيمة max والتي هي 12 مع 2 و 1 وفي كلتا الحالتين قيمة max هي أكبر من 2 و 1 وفي كلتا الحالتين الشرط لن يتحقق.

في النهاية نجد ان القيمة الكبرى هي 12

خلاصة:

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

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

اما استخدام for و if يأتي بعد إدراك طريق الحل لاستخدامهم كادوات مساعدة.

انا لم اكتب الحل باي لغة برمجية معينة فقط كتبته ككود مزيف والكود يمكن كتابته باي لغة برمجية معينة اذا ما عرفت كيف استخدم if و for في اللغة البرمجية التي اريدها.

لاحظ انا لم اهتم باي لغة لانه لا يهم ما يهم فقط هو كيفية ايجادي للحل.

ما يجب علي فعله بعد ذلك هو فقط معرفة ال syntax للغة البرمجة التي اود كتابة الخوارزمية بها وببحث صغير ع Google يمكن أن اجد ال syntax الصحيح.

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

نصيحة بسيطة:

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

صورة الملف الشخصي لـ Yamna- يامنة

اهلا اخي دمت بخير والمعذرة على تاخر الاجابة

برايي يجب تعلم الخوازميات والتدرب على المنطق جيدا

فالخوارزميات هي فقط خطوات منطقية تكتب بها برنامجا ما

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

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

لكن لذلك فقط المفتاح الاول لترسيخ المعلومات

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

فالتطبيق هو المحرك الاساسي في البرمجة

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

ه

اهلا اخي دمت بخير والمعذرة على تاخر الاجابة

برايي يجب تعلم الخوازميات والتدرب على المنطق جيدا

فالخوارزميات هي فقط خطوات منطقية تكتب بها برنامجا ما

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

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

لكن لذلك فقط المفتاح الاول لترسيخ المعلومات

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

فالتطبيق هو المحرك الاساسي في البرمجة

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

هذا ما لدي

موفق اخي

صورة الملف الشخصي لـ آلاء

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

لم أجد أفضل من طرح الأستاذ " يوسف شوقي " ، له سلسلة اسمها " ماقبل البرمجة " هي بمثابة خطة الطريق لاحتراف البرمجة والقناة فيها من الخير الكثير ، هذا رابط الكورس

ماقبل البرمجة

موفق ان شاء الله

صورة الملف الشخصي لـ Omar Elgamal

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

*ملاحظة التطبيق مجانى لتعلم البرمجة حتى المستوى فوق المتوسط لتعلم البرمجة الاحترافية يجب شراء النسخة المدفوعة (متتخضش من كلمه مدفوع وبفلوس😅 اتعلم بس حتى المستوى المتوسط بعدين دور على طريقة تتعلم الاحترافي ولو

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

*ملاحظة التطبيق مجانى لتعلم البرمجة حتى المستوى فوق المتوسط لتعلم البرمجة الاحترافية يجب شراء النسخة المدفوعة (متتخضش من كلمه مدفوع وبفلوس😅 اتعلم بس حتى المستوى المتوسط بعدين دور على طريقة تتعلم الاحترافي ولو مرتاح ماديًا خد نصيحتي واشترى النسخه المدفوعة هتفيدك جدا)

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

رابط التطبيق:

Learn Coding/Programming: Mimo - Apps on Google Play
Learn programming and boost coding skills. Code in Python, JavaScript, or HTML.

واسف على الإطالة

صورة الملف الشخصي لـ عبدالله الكردي

مرحبا فاطمة، ! شكرا لطلب الإجابة.

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

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

هل بسبب ان في بعض البرمجة يجب عليك استخدام بعض الرياضيات..؟ او شكل الأكواد التي تظهر على الشاشة او انك لست سريعة في كتابة الأكواد او حفظها..؟

دعينا نعلم مالصعب لديك..!

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

مرحبا فاطمة، ! شكرا لطلب الإجابة.

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

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

هل بسبب ان في بعض البرمجة يجب عليك استخدام بعض الرياضيات..؟ او شكل الأكواد التي تظهر على الشاشة او انك لست سريعة في كتابة الأكواد او حفظها..؟

دعينا نعلم مالصعب لديك..!

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

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

مالذي يجب عليك فعله.؟

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

عندما قلتِ ولا مدخلش المجال دا نهائي لا اتوقع من أي شخص عاقل الأجابة بنعم أو لا! الآن هذا الجواب يعود لكِ تحديد مصير. لا تسمحي لأحد بتحديد مصيرك.

البرمجة تحتاج صبر و صبر و صبر.

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

الشيء الوحيد الذي يجعلني قنوع، عبارة "لكل مجتهد نصيب"

صورة الملف الشخصي لـ عياط أحمد أمين

بصفة عامة .

اكبر خطأ ارتكبته أنا وممكن انك ترتكبه هو عدم التدوين.

العلم صيد والكتابة قيد .

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

وايضا مع مرور الزمن يمكنك الرجوع اليه متى تريد .

على الاقل لخص الكلمات المفتاحية او ملخصات بسيطة .

وايضا لاتنسى استعمل التطبيقات الدكية للتدوين مثلا keep notes.

مرحبا بك في مجتمعنا 4arabdevelopers على يوتيوب وفايسبوك .

عياط احمد امين

صورة الملف الشخصي لـ Abdallah Youssef

مرحبا..

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

كورس cs50 بالعربي كامل | Cs50 Tutorial In Arabic
كورس cs50 هو عبارة منهج برمجي ضخم موجه الى المبتدئين او حتى غير المبتدئين و هي دورة مجانية تقدمها جامعة هارفارد، يمكن من خلال هذه الدورة لأي شخص البدء في درا...

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

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

مرحبا..

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

كورس cs50 بالعربي كامل | Cs50 Tutorial In Arabic
كورس cs50 هو عبارة منهج برمجي ضخم موجه الى المبتدئين او حتى غير المبتدئين و هي دورة مجانية تقدمها جامعة هارفارد، يمكن من خلال هذه الدورة لأي شخص البدء في درا...

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

أنا دائما أفضل طريقة التعلم الذاتي وعدم الاعتماد التام على الكورسات ومشاهدة الفيديوهات وبسبب ذلك كانت دائما طريقتي في تعلم أي لغة برمجة جديدة هي الخطوات التالية:

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

وبعد تعلم اللغة وممارستها في حين واجهتك مشكلة تقوم بالبحث عن المشكلة باللغة الإنجليزية وحتما تستجد لها شرح لأن كل لغة لها مجتمع كبير مهتم بها ويستخدمها وأكيد واجهوا نفس مشكلتك وأفضل المواقع هو Stack Overflow حتما ستجد الحل هنا.

في النهاية أتمنى أن تكون إجابتي قد أفادتك ولا تتردد في ترك تعليق في حاجة أردت السؤال عن مصادر لتعلم أي لغة.

صورة الملف الشخصي لـ احمد سرور

صديقى العزيز، أرى انك أجبت بنفسك على سؤالك، وتكمن الإجابة فى جملة "بشكل متقطع".

صديقى، هل حقا تهوى البرمجة وترغب باستكمال مشوارك أم أن هذا مجرد اهتمام ليس إلا؟

اذا كنت تهوى البرمجة فحدد لنفسك مسارا وجدولا ونظم وقتك وصدقنى لن تفيدك الدراسة كثيرا حتى وإن كانت فى التخصص ولكن ابحث وادرس بنفسك وتابع كورسات البرمجة المتميزة كتلك التى على منصة Udemy.

أما إذا كان هذا مجرد اهتمام فنصيحتى لك أن تغيير تخصصك الى شئ تهواه حقا.

اتمنى لك التوفيق…

صورة الملف الشخصي لـ Omar Dev

قبل كل شيئ عليك أن تحدد هدف قبل تعلم البرمجة وكما نعلم ان في علم الكمبيوتر هناك الكثير من المجالات منها البرمجة ، وهناك العشرات من لغات البرمجة اعطيك ثلاث منها

C++ ,Python , JavaScript,

كل لغة برمجة لها مجال خاص بها مثلا JavaScript هي مخصصة لتطوير المواقع وتحتاج معها Html و Css حتى تعطي للموقع الهيكل والتصميم

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

و++ C هي لغة ممتازة في انشاء الالعاب وانظمة التشغيل وحتى متصفحات الانترنت وتعتبر من اسرع لغات البرمجة

قبل أن تبدأ في أي مجال الب

قبل كل شيئ عليك أن تحدد هدف قبل تعلم البرمجة وكما نعلم ان في علم الكمبيوتر هناك الكثير من المجالات منها البرمجة ، وهناك العشرات من لغات البرمجة اعطيك ثلاث منها

C++ ,Python , JavaScript,

كل لغة برمجة لها مجال خاص بها مثلا JavaScript هي مخصصة لتطوير المواقع وتحتاج معها Html و Css حتى تعطي للموقع الهيكل والتصميم

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

و++ C هي لغة ممتازة في انشاء الالعاب وانظمة التشغيل وحتى متصفحات الانترنت وتعتبر من اسرع لغات البرمجة

قبل أن تبدأ في أي مجال البرمجة عليك أن تحدد هدفك لماذا تريد التعلم اختر المجال الذي يناسبك وابدأ ، تستطيع ان تتعلم بشكل مجاني ومن المنزل فقط ، عليك أن تدرس اساسيات البرمجة وتفهم مامعنى متغيرات و الادوات الشرطية والقوائم والارقام الخ … مع مرور الوقت ستزداد خبرتك تذكر دائم تعلم وابحث

شكرا.

صورة الملف الشخصي لـ Ahmad

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

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

الاستاذ محمد لديه خبرة اكثر من ٢٦ سنة في مجال البرمجة فاتح قناة على اليوتيوب لديه كورس اساسيات لكل مبرمج وهذا الكورس سيمهد لك الطريق ويوضح لك المعالم في مجال البرمجة. ثم من نفس القناة لديه كورس حل المشاكل البرمجية ( الخوارزميات ) عبارة عن حل ٥٠ مسالة برمجية لتقوية المنطق البرمجي لديك واعلم ان الم

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

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

الاستاذ محمد لديه خبرة اكثر من ٢٦ سنة في مجال البرمجة فاتح قناة على اليوتيوب لديه كورس اساسيات لكل مبرمج وهذا الكورس سيمهد لك الطريق ويوضح لك المعالم في مجال البرمجة. ثم من نفس القناة لديه كورس حل المشاكل البرمجية ( الخوارزميات ) عبارة عن حل ٥٠ مسالة برمجية لتقوية المنطق البرمجي لديك واعلم ان المبرمج القوي انما هو مبرمج بارع في حل المشاكل البرمجية وهذا لايأتي الا بعد ممارسة طويلة ثم بعد ذلك من نفس القناة ايضا ستبدء بكورس الc++ وستعلم من خلال الفيديوهات لماذا اختار هذه اللغة بالذات. واتركك مع هذا الفيديو لكي تتعرف على مجال البرمجة من الاستاذ محمد وما الذي ستحتاجه بالضبط لكي تكون مبرمجا يضاهي الاجانب بل واقوى منهم ان شاءالله

وستجد الكورسات التي ذكرتها لك في القناة نفسها بالتوفيق

صورة الملف الشخصي لـ عمار ياسر

بدايةً ومن تجربتي وخبرتي المتواضعة في المجال، أستطيع إخبارك أن الطريقة الأفضل لتعلم أي لغة برمجية بشكل عام هي مشاهدة الدرس بتركيز وانتباه ويفضل تسجيل أهم المعلومات المشروحة فيه گمرجِع مبسّط لك وقت الحاجة ثم تطبيق ما قمت بمشاهدته في الدرس على أرض الواقع وتحويله إلى فكرة معينة مع الحرص على تطبيق ما تعلمته في المُجمل من الدروس السابقة التي شاهدتها.

مثلاً عند مشاهدتك درس عن ال الوظائف في البرمجة ( Function's ) فتستطيع تطبيق ما تعلمته گفكرة مفيدة لك مثلاً عمل آلة حاسبة بسيطة باستخدام ال Function's أو في موقعك الشخصي مثلاً .

وإذا كنت تتعلم أحد أنواع اللوب مثل ( For loop ) تستطيع عمل تكرار لقائمة معينة

بدايةً ومن تجربتي وخبرتي المتواضعة في المجال، أستطيع إخبارك أن الطريقة الأفضل لتعلم أي لغة برمجية بشكل عام هي مشاهدة الدرس بتركيز وانتباه ويفضل تسجيل أهم المعلومات المشروحة فيه گمرجِع مبسّط لك وقت الحاجة ثم تطبيق ما قمت بمشاهدته في الدرس على أرض الواقع وتحويله إلى فكرة معينة مع الحرص على تطبيق ما تعلمته في المُجمل من الدروس السابقة التي شاهدتها.

مثلاً عند مشاهدتك درس عن ال الوظائف في البرمجة ( Function's ) فتستطيع تطبيق ما تعلمته گفكرة مفيدة لك مثلاً عمل آلة حاسبة بسيطة باستخدام ال Function's أو في موقعك الشخصي مثلاً .

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

طبعاً هناك مئات الأفكار التي تستطيع تطبيقها بما تعلمته في الدروس التي شاهدتها/تشاهدها. بالتوفيق.

صورة الملف الشخصي لـ عمار ياسر

شكراً لطلب الإجابة والحقيقة أنني سبق وأجبتُ على سؤال مماثل لسؤالك عن طرق تعلم البرمجة وبعض المصادر للتعلم وها هي الإجابة:

أتمنى أن تكوني قد استفدتِ وبالتوفيق، تحياتي.

صورة الملف الشخصي لـ Quora User

إختيار ممتاز ياصديقي، جافا لغة ممتعة جداً وستتعلم الكثير خلال هذه الرحلة.

لا يوجد الكثير لأنصح به سوى أن تستمرّ في دراستك وتعتمد على مراجع قوية لتؤسس نفسك في هذا المجال مثل الإعتماد على الكتب المرجعيه ويوجد عدد منها ممكن تبحث في النت وستجدها بسهوله، وذلك عوضاً عن متابعة الفيديوهات خصوصاً العربيه لما تتسبب به من شتات للمتعلم وذلك حسب تجربتي.

واخيراً خذ وقتك في التعلم ولا تتعجل فهذا الأمر يستغرق وقتاً ليس بالقليل، اتمنى لك النجاح والتوفيق.

صورة الملف الشخصي لـ رياض فالحي

أدرسي في جامعتك وفي نفس الوقت تعلمي البرمجة عن بعد هناك مساق cs50

مقدمة في علوم الحاسب - CS٥٠x

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

One Million Arab Coders

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

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

صورة الملف الشخصي لـ Sara Shalapy

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

ودى قائمة التشغيل بتديك فكره عن كل لغة برمجة

شرح عن اللغات يلا نتعلم #برمجة
في هذه السلسلة ستجد تعريف بلغات البرمجة مثل python و JS وJava ولغة التجميع ولغة الاستعلام البنائية sql، بالإضافة إلى نبذة عن لغة التوصيف HTML ولغة التنسيق CS...

والقناة دى من أعظم القنوات لتعلم البرمجة

https://youtube.com/@ElzeroAcademy

كمان دي بعض المصادر تساعدك

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

أتمنى أكون أفدتك ولو بشىء بسيط 💻

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

ودى قائمة التشغيل بتديك فكره عن كل لغة برمجة

شرح عن اللغات يلا نتعلم #برمجة
في هذه السلسلة ستجد تعريف بلغات البرمجة مثل python و JS وJava ولغة التجميع ولغة الاستعلام البنائية sql، بالإضافة إلى نبذة عن لغة التوصيف HTML ولغة التنسيق CS...

والقناة دى من أعظم القنوات لتعلم البرمجة

https://youtube.com/@ElzeroAcademy

كمان دي بعض المصادر تساعدك

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

أتمنى أكون أفدتك ولو بشىء بسيط 💻

صورة الملف الشخصي لـ Bdr Ramadan

كما ذكرت باقي الإجابات،تعلم المنطق البرمجي أهم من لغة البرمجة،اليوم ظهرت لي في فيسبوك مسألة صغيرة برمجية بلغة بايثون والمطلوب أن تعرف ناتج الكود،أنا لم أدرس لغة بايثون ولم أعرف حتى ما وظيفة الدالة المذكورة لو لم يذكرها صاحب المنشور،لكنني قمت بتطبيق ما أعرفه من منطق على الكود واستنتجت الإجابة التي كانت بحمد الله صحيحة😅يمكنك تعلم أساسيات المنطق البرمجي في harmash.com

كما أنك حتى لو لم تجد القدرة على حل المسائل الآن،شاهد مسائل محلولة،واسأل في Stack Overflow - Where Developers Learn, Share, & Build Careers وابدأ التدريب في مستويات متدرجة في

HackerRank - Online Coding and Technical Assessments
HackerRank, the Developer Skills Company, leads the technical hiring and upskilling market with over 2,500 customers and a community of over 26 million developers.

وتابع تعلم البرمجة،ستصل للمرحلة

كما ذكرت باقي الإجابات،تعلم المنطق البرمجي أهم من لغة البرمجة،اليوم ظهرت لي في فيسبوك مسألة صغيرة برمجية بلغة بايثون والمطلوب أن تعرف ناتج الكود،أنا لم أدرس لغة بايثون ولم أعرف حتى ما وظيفة الدالة المذكورة لو لم يذكرها صاحب المنشور،لكنني قمت بتطبيق ما أعرفه من منطق على الكود واستنتجت الإجابة التي كانت بحمد الله صحيحة😅يمكنك تعلم أساسيات المنطق البرمجي في harmash.com

كما أنك حتى لو لم تجد القدرة على حل المسائل الآن،شاهد مسائل محلولة،واسأل في Stack Overflow - Where Developers Learn, Share, & Build Careers وابدأ التدريب في مستويات متدرجة في

HackerRank - Online Coding and Technical Assessments
HackerRank, the Developer Skills Company, leads the technical hiring and upskilling market with over 2,500 customers and a community of over 26 million developers.

وتابع تعلم البرمجة،ستصل للمرحلة التي تريد إن تابعت،بالتوفيق🖤

صورة الملف الشخصي لـ Nedal Sarahneh

أساسيات البرمجة (مكوناتها بشكل عام):

على أي مُبرمج لدخول في أي مجال للبرمجة تكوين خلفية فيما يلي:

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

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

قبل تعلم الأساسيا

أساسيات البرمجة (مكوناتها بشكل عام):

على أي مُبرمج لدخول في أي مجال للبرمجة تكوين خلفية فيما يلي:

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

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

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

وقبل كل هذا تحديد لغة معينة من اللغات للتعمق فيها. كما تتعدد لغات البرمجة فيما يلي:

البرمجة لها عدة مستويات ولكل لغة من لغاتها مجال استخدام معين، ومن أهم هذه اللغات:

  • Java- جافا: تعد من اللغات السهلة في البرمجة
  • C
  • Python
  • ++ C
  • Visual Basic .NET
  • # C
  • JavaScript
  • PHP
  • SQL
  • Objective – C

واختيار أي لغة من اللغات السابقة يعتمد على عدة أشياء مثل (هدف المشروع، وكفاءة الموارد المتاحة، وكفاءة الأداء)

صورة الملف الشخصي لـ Quora User

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

صورة الملف الشخصي لـ Ali Sharif

من وجهة نظري انظر ماذا تفضل البعض يمل من فعل شي واحد مثلا البرمجة فقط لمدة 6 اشهر مثلا

والبعض لايستطيع انجاز عدة مهام بنفس اليوم ويشعر بالضغط

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

انظر ماذا تفضل واتمنى لك التوفيق والنجاح

صورة الملف الشخصي لـ Shady Dheir

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

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

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

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

صورة الملف الشخصي لـ أيمن حسن

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

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

صورة الملف الشخصي لـ ربيع ولاف

اجبت على سؤال كهذا مسبقا، في الحقيقة ذكرت نقطة من بحر من الفوائد (اغلب الظن اني لم اكتشف كل الفوائد بعد) وحتى الفوائد التي لاحظتها لا يمكنني أن احصيها لك في جواب واحد.

سأكتفي بوضع سكرين شوت للإجابتي السابقة :

اجبت على سؤال كهذا مسبقا، في الحقيقة ذكرت نقطة من بحر من الفوائد (اغلب الظن اني لم اكتشف كل الفوائد بعد) وحتى الفوائد التي لاحظتها لا يمكنني أن احصيها لك في جواب واحد.

سأكتفي بوضع سكرين شوت للإجابتي السابقة :