بعد اكثر من ثلاثين سنة في البرمجة. مررت بكل ما تتخيل وما لا تتخيل. استطيع ان اجيبك بكل تاكيد :
البرمجة ليست صعبة مطلقا.
وان سبب ما يحدث معك من صعوبة في الفهم يعود للسببين التالين. ساذكرها بالمختصر وساشرحها بعد ذكرها.
- معلوماتك الحالية فيها نقص. ولا تكفي لفهم ما تواجهه.
- معلوماتك الحالية فيها اجزاء خطا. وتعتقد انها صحيحة.
خلال كل هذه السنوات الطويلة لم يخرج سبب ثالث.
السبب الاول. عادة ما يظهر عندما يطغي الحماس على المبتدأ ويبدأ بالتعمق في تعلم نقطة واحدة او موضوع معين. ففي البرمجة كلما تعمقت زاد الاعتماد على معلومات أخرى قد تكون متقدمة او تكون من مواضيع اخرى بعيدة جدا لم تصادفها بعد. وهذا ما يجعل الموض
بعد اكثر من ثلاثين سنة في البرمجة. مررت بكل ما تتخيل وما لا تتخيل. استطيع ان اجيبك بكل تاكيد :
البرمجة ليست صعبة مطلقا.
وان سبب ما يحدث معك من صعوبة في الفهم يعود للسببين التالين. ساذكرها بالمختصر وساشرحها بعد ذكرها.
- معلوماتك الحالية فيها نقص. ولا تكفي لفهم ما تواجهه.
- معلوماتك الحالية فيها اجزاء خطا. وتعتقد انها صحيحة.
خلال كل هذه السنوات الطويلة لم يخرج سبب ثالث.
السبب الاول. عادة ما يظهر عندما يطغي الحماس على المبتدأ ويبدأ بالتعمق في تعلم نقطة واحدة او موضوع معين. ففي البرمجة كلما تعمقت زاد الاعتماد على معلومات أخرى قد تكون متقدمة او تكون من مواضيع اخرى بعيدة جدا لم تصادفها بعد. وهذا ما يجعل الموضوع صعب الفهم لانه معلوماتك الحالي لا تكفي لفهمه.
السبب الثاني : في بداية الدراسة وبسبب كون المعلومات قليلة قد يعتقد الدارس انه فهم نقطة معين في حين انه فهمها بشكل خاطئ. وتبقى في رأسه هكذا حتى تكتشف عند حاجتها. واحيانا يتم تعمد تدريس معلومة بشكل خاطئ متعمدا للمبتدئ. نعم لا تنصدم. يتم تعليمها خطأ متعمدا مع سابق الاصرار والترصد. لكن لن تترك وسيتم اصلاحها لاحقا. وهذا لسبب منطقي وهو تجنب التعمق والتشتت. ومن اشهر الامثلة هي المتحولات. تدرس على انها مكان لحفظ قيمة والحقيقة هذا خطا وحقيقتها مختلفة جدا. وسياتي التصليح عند دراسة المؤشرات.
الحل: ساخبرك حسب ما اقوم به شخصيا عندما اجد صعوبة في فهم موضوع ما.
- اكرر المحاولة. واعيد دراسة الموضوت مرات عديدة اخرى. ان فشلت انتقل للنقطة التالية
- اعمل قائمة بما هو متعلق بشكل اساسي بالموضوع مبتعدا عن التفرعات. وابدأ بمراجعتها بحثا عن نقص في معلوماتي فيها. استكملها واعيد محاولة فهم الموضوت الاساسي. ان لم تفلح انتقل للنقطة التالية
- ابد بالبحث عن الاخطاء في معلوماتي في المواضيع التي حددتها في القائمة.
كل هذا مع الانتباه عدم التعمق. لان هذا سينقلني لبحر اخر غير هدفي الذي هو الموضوت الاساسي الذي احاول فهمه.
هذه الخطوات لها فائدة مخبأة وهي انها ستضمن لك معلومات صلبة مع مرور الزمن. واعادة تعمير وصيانة بشكل دائمة لها
والله يوفقك في دراستك :)
أعد الدروس ولا تتجاوز شيء حتى تفهمه هذا بالنسبة للأساسيات فهناك بعض الأمور التي لن تفهمها إلا مع الوقت والممارسة وابحث عن مصادر خارجية للتعلم أي لا تعتمد على كورس واحد؛ اقرأ كتاب مثلا وتابع كورس واحضر محاضرات حتى تجد نفسك قد تمكنت من المجال لكن احذر من القفز بين المصادر ولا تجعلها كثيرة حتى درجة التشويش عليك
في بعض الأحيان يكون مصدر المعلومة لايفهمها أو لم يشرح بما يكفي أو شرحها بشكل خطأ، وفي هذه الحال يجب البحث عن الاشكال في مصدر آخر أكثر شرحا أو أكثر تبسيطا ودراسة الأمثلة.
أقصد بالمصدر: الأستاذ، كتاب، موقع، فيديو ..
ومن جهة أخرى البرمجة تحتاج إلى شجاعة كبيرة لمواجهة مخاوفك وصبر ويقين في أنك ستجد الحل، وسيساعدك أن تؤمن أن هذا المجال يحتاج إلى الكثير من المعاناة وعدم الاستسلام.
بالتوفيق لك
(كل ما سيأتي لاحقا سأفترض فيه انك تدرس بتأني وتدرس بتسلسل دون القفز بين الصفحات والمواضيع فهذا مهم ولن تجد اثنين مختلفين في هذا )
النصيحة رقم واحد والوحيدة . ترجم النص لا تحاول ترجمة المصطلحات اتركها كما هي. تعلمها واقرأها كما هي بلغتها الاصلية. لا تحاول مطلقا البحث عن بديل عربي لها .
كأن تقول ( ساكتب كلاس يقوم بكذا ) او ( سأكتب مثود لديها برمترات كذا وكذا.. ) لا تترجم ( كلاس ) ولا ( مثود و برمترات )
انا اعرف سيقف الكثير ضدي أما متهما باني ضد اللغة العربية او متهما اني اقلل من شأن اللغة العربية . فأنا اكيد لا من هذا ولا من ذاك . لكن لدي أسباب مقنعة لهذا التصرف.
الثابت في التاريخ ان صاحب التقنية يف
(كل ما سيأتي لاحقا سأفترض فيه انك تدرس بتأني وتدرس بتسلسل دون القفز بين الصفحات والمواضيع فهذا مهم ولن تجد اثنين مختلفين في هذا )
النصيحة رقم واحد والوحيدة . ترجم النص لا تحاول ترجمة المصطلحات اتركها كما هي. تعلمها واقرأها كما هي بلغتها الاصلية. لا تحاول مطلقا البحث عن بديل عربي لها .
كأن تقول ( ساكتب كلاس يقوم بكذا ) او ( سأكتب مثود لديها برمترات كذا وكذا.. ) لا تترجم ( كلاس ) ولا ( مثود و برمترات )
انا اعرف سيقف الكثير ضدي أما متهما باني ضد اللغة العربية او متهما اني اقلل من شأن اللغة العربية . فأنا اكيد لا من هذا ولا من ذاك . لكن لدي أسباب مقنعة لهذا التصرف.
الثابت في التاريخ ان صاحب التقنية يفرض الاسماء التي يريدها والكل يستخدم هذه الاسماء ولا داعي لذكر اسماء الاجهزة العربية والاختراعات التي انتقلت للغرب واستخدام التسمية العربية ( أشهرها الجبر والخوارزميات و و . كلها اسماء عربية ). فمن الطبيعي جدا ان تكون تقنية هذه الايام من اخترع الغرب وأن نستخدم الأسماء التي فرضوها هم . إن عدنا في التاريخ لما قبل النهضة الاسلامية والعربية ستجد اسماء تقنيات غريبة استخدمها العرب ( مثل الأسطرلاب ) . فالأمر طبيعي وصاحب التقنية هو من يفرض اسمها. وان شاء الله ياتي يوم في زماننا نصح الرواد ونفرض الاسماء العربية مرة اخرى
ما يجعلني اصر على هذا ما يلي :
١. اغلب المترجمين هم ليسوا أصحاب اختصاص . فلا تغتر بأسماء مؤلفي كتب البرمجة العربية فأغلبهم هم مترجمين وليسوا مبرمجين .
٢. اختلاف وجهات نظر المترجمين . فمنهم من يعتمد الترجمة الحرفية ومنهم من يعتمد الترجمة الوظيفية . كمثال Class منهم قال انها ( نهج ) معتمدا على وظيفتها . ومنهم من قال انها ( صف ) معتمد على ترجمتها الحرفية . وشخصيا كمبرمج لثلاثين سنة لست مقتنع بالترجمتين نهائيا .
٣. ستجعل من تتحدث معه يفهمك بصعوبة إن استخدمت كلمات المترجمة. فلن تستطيع طرح أسئلة لتستفسر ولن تستطيع فهم حديث الناس.
٤. اسهل في دراسة الكتب الاجنبية . فلن تحتاج للبحث طويلا عن مرادفات. ما يهمك هو نص الشرح العام.
اهلا بك ..
يوجد تمارين لم أفهمها ومستعصية قليلاً وذلك لتداخلها
اطرح سوألك في اكاديمية حسوب جزء سوأل وجواب > البرمجة هناك متخصصين سيشرحون لك ان شاء الله
أتجاوز الدرس من أجل عدم تضييع الوقت والعودة له عند الشعور بقابلية محاولة الفهم؟
لا انصحك بذلك، الانه لي بعد تلك الدرس هو في جزء من الدرس السابق وغالبا اصعب منه
انت تبني بيت ولهذا غير معقول تأخذه من النصف او الربع اووتخطي اجزء منه .
تحياتي
الجزء الاول من السؤال
الاجابه عليه تختصر تحت
غير المهندس الذي يشرح لك او غير طريقه مذاكرتك
الجزء الثاني انت فقط لك اسبوع فقط لا تقلق عزيزي المده قصيره جدا لتفهم كل شئ
هل انت غير مناسب؟
طبعا انت مناسب ولكن لازم تعرف ان البرمجه كلها مبنيه علي المشكلات اصلا مع المشكلات انت سوف تصبح مبرمج
والان سوف اقول لك الطريقه الذي كنت اذاكر منها
- اولا اختار شخص متقن اللغه وانا افضل الزيرو ويب وانا تعلمت منه هذه اللغه
- ثانيا ما فيه شئ اسمه تتفرج علي الحلقه او الدرس
هذا درس تعليمي ليس بفلم
احضر معك اللاب توب او الجوال او اي شئ تكتب عليه الكود وسجل معه ما يكتبه
وبكذا انت سوف تفهم منه ولكن ستظهر لك مشكله ثانيه وهي
الجزء الاول من السؤال
الاجابه عليه تختصر تحت
غير المهندس الذي يشرح لك او غير طريقه مذاكرتك
الجزء الثاني انت فقط لك اسبوع فقط لا تقلق عزيزي المده قصيره جدا لتفهم كل شئ
هل انت غير مناسب؟
طبعا انت مناسب ولكن لازم تعرف ان البرمجه كلها مبنيه علي المشكلات اصلا مع المشكلات انت سوف تصبح مبرمج
والان سوف اقول لك الطريقه الذي كنت اذاكر منها
- اولا اختار شخص متقن اللغه وانا افضل الزيرو ويب وانا تعلمت منه هذه اللغه
- ثانيا ما فيه شئ اسمه تتفرج علي الحلقه او الدرس
هذا درس تعليمي ليس بفلم
احضر معك اللاب توب او الجوال او اي شئ تكتب عليه الكود وسجل معه ما يكتبه
وبكذا انت سوف تفهم منه ولكن ستظهر لك مشكله ثانيه وهي انك مش هتعرف تنشئ فكره جديده من مخيلتك وتتمرن عليها
حل هذه المشكله هي انك تلعب بالكود ولا تقتصر علي الامثله الذي يعطيها وتتمرن كثير علي لشئ الذي انت تدرسه
مثال انت الان تدرس المتغيرات مثلا
لا تقتصر بالمتغير اللي الاستاذ انشئه بعد ما تنتهي الحلقه انشئ انت متغيرات وتمرن كثير وحاول تخطأ لان الخطأ هو اللي هيعلمك
اخيرا
حاول تكتب يومياتك في تعلم البرمجه والاخطاء الذي تظهر لك لانك في المستقبل سوف تضحك علي هذه الاخطاء البسيطه
والله يوفقك
السبب هنا قد يكون كما قلت عدم الفهم الكامل لنقطة الدرس او نقص او فهم مغلوط للأساسيات هذه هي الأسباب وعليك بعدم تخطي المشكلات لأنك هكذا لا تستفيد ولا تطور من مستواك
الأفضل أن تعيد الدرس حتي تفهمه ف لا يمكن أن تبني الطابق الثالث وأنت لم تبني الثاني
طبق عملي تفهم اكثر واسرع
يعني اكتب البرامج علي الكمبيوتر وعمله رن
بهاذه الطريقه تفهم اكثر واسرع من القرائه النظري
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>في الختام أتمنى لك رحلة مثمرة في طلب العلم كيفما كان و أينما كان.
- قد يتطلب منك من شهر إلى شهرين لتعلم الأساسيات
- تعلم لغة قد تتطلب سنة إلى سنتين
سلام
يبدو ان الأمر يشكل تحدي بالنسبة لك .. ولكن لا بأس فلكل مشكلة حل ..
يمكنك تطوير نفسك بالتدريج وسيأخذ هذا بعض الوقت ولكن في النهاية ستصل للمستوى المطلوب..
أولا : مشكلة عدم الفهم يمكن حلها من خلال محاولة الوصول لطرق سهلة للفهم.. المحتوى كثير جدا على الانترنت ولكن التحدي في الوصول للمحتوى المناسب لك انت تحديدا .. لذلك استعرض طريقة شرح المحتوى وستقرر انت اذا كان مناسبا لك ام لا ..
اذا وصلت للمحتوى المناسب لكل فستبدأ بالفهم وعندها ستفتح لك ابواب كثيرة للتطوير
ثانيا : لنفترض انك استوعبت كيفية استخدام اوامر اللغة البرمجية .. الخطوة التالية هى ان تتدرب على استخدام هذه الأوامر في برامج صغيرة أولا .. لا تدخل
يبدو ان الأمر يشكل تحدي بالنسبة لك .. ولكن لا بأس فلكل مشكلة حل ..
يمكنك تطوير نفسك بالتدريج وسيأخذ هذا بعض الوقت ولكن في النهاية ستصل للمستوى المطلوب..
أولا : مشكلة عدم الفهم يمكن حلها من خلال محاولة الوصول لطرق سهلة للفهم.. المحتوى كثير جدا على الانترنت ولكن التحدي في الوصول للمحتوى المناسب لك انت تحديدا .. لذلك استعرض طريقة شرح المحتوى وستقرر انت اذا كان مناسبا لك ام لا ..
اذا وصلت للمحتوى المناسب لكل فستبدأ بالفهم وعندها ستفتح لك ابواب كثيرة للتطوير
ثانيا : لنفترض انك استوعبت كيفية استخدام اوامر اللغة البرمجية .. الخطوة التالية هى ان تتدرب على استخدام هذه الأوامر في برامج صغيرة أولا .. لا تدخل نفسك في تحديات كبيرة من البداية .. دائما تدرج بخطوات صغيرة للحصول على انجازات صغيرة .. ومع الوقت ستتمكن اكثر من اللغة وستبحث بنفسك على تحديات اكبر لتنجزها
ثالثا : دائما وابدا ستواجه مشاكل صعبة الحل .. وفي هذه الحالة ستحتاج الى زيادة خبرتك في حل المشاكل الصعبة عن طريق خبرات الآخرين .. ويمكنك الحصول على خبرات الآخرين من جهات كثيرة على الانترنت كمنتديات المبرمجين في هذه اللغة تحديدا او مجموعات الفيسبوك المهتمة باللغة او اي مواقع تواصل اجتماعي .. فائدة هذه الوسائل هي امكانية التفاعل مع الآخرين واكتساب خبرات جديدة منهم ومن الحلول التي قاموا بها
لا اريد ان اطيل عليك اكثر .. تمنياتي بالتوفيق
في بداية رحلتك في تعلم البرمجة لابد من كورس او منهج تأسيسي لإتقان اساسيات البرمجة
جامعة هارفارد مقدمة لك منهج مجاني كامل لتعلم الاساسيات إسمه cs50
وإذا لديك مشكلة في اللغة الانجليزية فهذا ليس عذرا فيوجد شاب جميل ربنا يبارك في عمره شارح فيه كورس cs50 بالتفصيل الممل (دون الخروج من المنهج) في اليوتيوب ودا الرابط
ودا رابط حلقة مهم جدا تحضرو بيجاوب فيه على اغلب التساؤلات اللي بيسألها الطلبه عن المنهج (هينور لك حاجات كتير )
اتمنى اكون ساعدتك ولو بشئ بسيط
في بداية رحلتك في تعلم البرمجة لابد من كورس او منهج تأسيسي لإتقان اساسيات البرمجة
جامعة هارفارد مقدمة لك منهج مجاني كامل لتعلم الاساسيات إسمه cs50
وإذا لديك مشكلة في اللغة الانجليزية فهذا ليس عذرا فيوجد شاب جميل ربنا يبارك في عمره شارح فيه كورس cs50 بالتفصيل الممل (دون الخروج من المنهج) في اليوتيوب ودا الرابط
ودا رابط حلقة مهم جدا تحضرو بيجاوب فيه على اغلب التساؤلات اللي بيسألها الطلبه عن المنهج (هينور لك حاجات كتير )
اتمنى اكون ساعدتك ولو بشئ بسيط
اولا اذ كنت لا تريد ان يضيع وقتك فا خذ شيء واحد وضع تركيزك كله عليه وكأنة لا يوجد لديك شيء غيره وبعد الانتهاء منه انتقل لشيء آخر اما ان تتعلم عدة اشياء في نفس الوقت فا ستضيع جزء كبير جدا من وقتك ولن تتقن ايا منها
واليك نصيحة قد لا يعرفها البعض
عند تركيزك علي شيء ما ودراسته سوف تجد عقلك في الاوقات التي لا تدرسة فيها يقوم بتحليل اجزاء منه وتخزين واستدعاء بعض التجارب النظرية وسيقوم عقلك ببناء شجرة لتطوير هذا الجزء حتي وانت نائم
اما عند تركيزك علي اكثر من شيء فلن يقوم عقلك بتشتيت نفسه فقط سيعمل عليهم اثناء الدراسة فقط
ثانيا الحماس وليد اللحظة ولن يستمر حماسك لفترة طويله فا الافضل ان تستفيد منه
اولا اذ كنت لا تريد ان يضيع وقتك فا خذ شيء واحد وضع تركيزك كله عليه وكأنة لا يوجد لديك شيء غيره وبعد الانتهاء منه انتقل لشيء آخر اما ان تتعلم عدة اشياء في نفس الوقت فا ستضيع جزء كبير جدا من وقتك ولن تتقن ايا منها
واليك نصيحة قد لا يعرفها البعض
عند تركيزك علي شيء ما ودراسته سوف تجد عقلك في الاوقات التي لا تدرسة فيها يقوم بتحليل اجزاء منه وتخزين واستدعاء بعض التجارب النظرية وسيقوم عقلك ببناء شجرة لتطوير هذا الجزء حتي وانت نائم
اما عند تركيزك علي اكثر من شيء فلن يقوم عقلك بتشتيت نفسه فقط سيعمل عليهم اثناء الدراسة فقط
ثانيا الحماس وليد اللحظة ولن يستمر حماسك لفترة طويله فا الافضل ان تستفيد منه في شيء واحد وعند انجازه وقبل ان ينطفئ الحماس سيشتعل مرة اخري نتيجة احساسك بأنجاز هذا الجزء
كيف أبدأ اتعلم البرمجة ؟
كل ماتبدأ مبكراً كان افضل لك .. الاستعجال في العلم خير..
لازم تسوي لك جدول
ينظم لك مراحل الدراسة
الجدول كالتالي :(مثال فقط)
الشهر الاول : اساسيات اللغه
الشهر الثاني: أوامر اللغه
الشهر الثالث: الكلاسات والmethods
:
وهكذا
بعد كل شهر كافئ نفسك لأنك تستاهل
ماهي مصادر التعلم؟
المصادر كثير جداً اهم مصدر
اليوتيوب
الدورات (uedmy -coursera) وغيرها كثير
قوقل
كل هذي مصادر متاحة لك ✅
ركز على دورة واحده و مصدر واحد فقط
لا تشتت نفسك ابداً
راح تواجه مشاكل و عقبات لكن لا تتنازل عن حلمك و رغبتك بالتعلم 🙏🏻
أي لغة برمجة أبدأ أتعلم؟
اذا تخصصك حاسب لازم تتعلم الجافا و تصير هي اول لغة برمجة لك و لازم تتقنه
كيف أبدأ اتعلم البرمجة ؟
كل ماتبدأ مبكراً كان افضل لك .. الاستعجال في العلم خير..
لازم تسوي لك جدول
ينظم لك مراحل الدراسة
الجدول كالتالي :(مثال فقط)
الشهر الاول : اساسيات اللغه
الشهر الثاني: أوامر اللغه
الشهر الثالث: الكلاسات والmethods
:
وهكذا
بعد كل شهر كافئ نفسك لأنك تستاهل
ماهي مصادر التعلم؟
المصادر كثير جداً اهم مصدر
اليوتيوب
الدورات (uedmy -coursera) وغيرها كثير
قوقل
كل هذي مصادر متاحة لك ✅
ركز على دورة واحده و مصدر واحد فقط
لا تشتت نفسك ابداً
راح تواجه مشاكل و عقبات لكن لا تتنازل عن حلمك و رغبتك بالتعلم 🙏🏻
أي لغة برمجة أبدأ أتعلم؟
اذا تخصصك حاسب لازم تتعلم الجافا و تصير هي اول لغة برمجة لك و لازم تتقنها صح
اذا تخصصك اخر اسهل لغة لك هي البايثون اسهل لغة و مختصره عليك طريق كبير
**السبب** أغلب الجامعات العالمية تقوم بتدريسها للمبتدئين بالبرمجة
كم من الوقت يكفيني للتعلم؟
من ٣ الى ٦ شهور لازم تتعلم اساسيات اللغه و طريقة البرمجة الاساسيه
من ٦ شهور الى سنه تقريبا نقدر نقول توصل الى نصف المشوار ..
بعد السنه هذا عليك .. البرمجة من الاشياء اللي اذا تركتها تنساها
لازم تمارسها دائماً ❤️❤️
حسابي على تويتر:
https://twitter.com/Learndesign14سوف اعيد صياغة سؤالك لكيف امتلك الفكر البرمجي ؟
للأسف الكثير من الأشخاص يريدون البدء في تعلم البرمجة وذلك من خلال تعلم لغة برمجية معينة وهذا الخطأ بحد ذاته.
الفكر الخوارزمي هو المطلوب اي إتقان انشاء خوارزمية لحل مشكلة معينة.
عندما بدأت بتعلم البرمجة بدأت بمتابعة كورس 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
- max = nums[0]
ثانيا:
يجب ان ازور كل القيم الموجودة لمعرفة القيمة الكبرى لذلك سوف اقوم باستخدام for loop:
- 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 الصحيح.
انا اعرف ان هذا مثال بسيط جدا جدا جدا ولكن اردت ان اوضح عملية التفكير البرمجي.
نصيحة بسيطة:
برأيي افضل خطوة للمبتدئين هي متابعة كورس خوارزميات بالإضافة لتطبيق هذه الخوارزميات في لغة برمجية معينة.
اهلا اخي دمت بخير والمعذرة على تاخر الاجابة
برايي يجب تعلم الخوازميات والتدرب على المنطق جيدا
فالخوارزميات هي فقط خطوات منطقية تكتب بها برنامجا ما
ان تعلمتها سيسهل عليك فهم لغات البرمجة اخرى وما سيختلف هو الكود البرمجي فقط
ولكن الكود الذي ستكتبه عن طريق الخوازميات ربما سيطرا له تغيير بنفصان او زيادة وذلك حسب طبيعة لغة البرمجة الذي تعمل عليها
لكن لذلك فقط المفتاح الاول لترسيخ المعلومات
بعد ذلك يمكنك تطبيق ما تعلمته في الخوارميات باي لغة برمجة وستفشل في البداية وستحاول وبعد ذلك ستصلح اخطائك وتبحث عن كيفية اصلاحها
فالتطبيق هو المحرك الاساسي في البرمجة
بعد ذلك يمكنك اختيار اي مسار برمجي يمكنك الابداع فيه
ه
اهلا اخي دمت بخير والمعذرة على تاخر الاجابة
برايي يجب تعلم الخوازميات والتدرب على المنطق جيدا
فالخوارزميات هي فقط خطوات منطقية تكتب بها برنامجا ما
ان تعلمتها سيسهل عليك فهم لغات البرمجة اخرى وما سيختلف هو الكود البرمجي فقط
ولكن الكود الذي ستكتبه عن طريق الخوازميات ربما سيطرا له تغيير بنفصان او زيادة وذلك حسب طبيعة لغة البرمجة الذي تعمل عليها
لكن لذلك فقط المفتاح الاول لترسيخ المعلومات
بعد ذلك يمكنك تطبيق ما تعلمته في الخوارميات باي لغة برمجة وستفشل في البداية وستحاول وبعد ذلك ستصلح اخطائك وتبحث عن كيفية اصلاحها
فالتطبيق هو المحرك الاساسي في البرمجة
بعد ذلك يمكنك اختيار اي مسار برمجي يمكنك الابداع فيه
هذا ما لدي
موفق اخي
تخصصي بعيد تماما عن البرمجة لكني أحبها ووأد التعلم عنها ، بحثت كثيرا عن مصدر قوي ويخاطب حتى غير المتخصصين في علوم الحاسب …
لم أجد أفضل من طرح الأستاذ " يوسف شوقي " ، له سلسلة اسمها " ماقبل البرمجة " هي بمثابة خطة الطريق لاحتراف البرمجة والقناة فيها من الخير الكثير ، هذا رابط الكورس
موفق ان شاء الله
نصيحة مني لا تتعود على تعليق إخفاقك فى مجال ما على معدل ذكائك أو شخصيتك ف أي شخص يمكنه تحقيق أى شئ ببعض الجهد وبالنسبه لعدم قدرتك على تعلم البرمجه ف السبب من الممكن ان يكون ان الشخص الذى تتعلم منه يشرح لأشخاص لديهم خلفية فى هذا المجال و أنا انصحك أن تبحث عن شخص اخر يشرح بطريقة أبسط أو البحث عن طريقة أخرى لتعلم البرمجة مثل تحميل تطبيق mimo لتعلم البرمجة و أبدأ من الصفر بداية من أساسيات html
*ملاحظة التطبيق مجانى لتعلم البرمجة حتى المستوى فوق المتوسط لتعلم البرمجة الاحترافية يجب شراء النسخة المدفوعة (متتخضش من كلمه مدفوع وبفلوس😅 اتعلم بس حتى المستوى المتوسط بعدين دور على طريقة تتعلم الاحترافي ولو
نصيحة مني لا تتعود على تعليق إخفاقك فى مجال ما على معدل ذكائك أو شخصيتك ف أي شخص يمكنه تحقيق أى شئ ببعض الجهد وبالنسبه لعدم قدرتك على تعلم البرمجه ف السبب من الممكن ان يكون ان الشخص الذى تتعلم منه يشرح لأشخاص لديهم خلفية فى هذا المجال و أنا انصحك أن تبحث عن شخص اخر يشرح بطريقة أبسط أو البحث عن طريقة أخرى لتعلم البرمجة مثل تحميل تطبيق mimo لتعلم البرمجة و أبدأ من الصفر بداية من أساسيات html
*ملاحظة التطبيق مجانى لتعلم البرمجة حتى المستوى فوق المتوسط لتعلم البرمجة الاحترافية يجب شراء النسخة المدفوعة (متتخضش من كلمه مدفوع وبفلوس😅 اتعلم بس حتى المستوى المتوسط بعدين دور على طريقة تتعلم الاحترافي ولو مرتاح ماديًا خد نصيحتي واشترى النسخه المدفوعة هتفيدك جدا)
من المشكلات التى يمكن ان تواجهك أثناء استخدام التطبيق ان التطبيق باللغة الإنجليزية فقط لكن يفضل ان تتعلم البرمجة باللغة الإنجليزية لأن هذا سيساعدك فيما بعد
رابط التطبيق:
واسف على الإطالة
مرحبا فاطمة، ! شكرا لطلب الإجابة.
لقد قلتِ إن البرمجة ليست مجالك حسنا اتمنى لو كنتِ قد ذكرتي مجالك ربما معرفة مجالك تتيح للأشخاص الذيين يريدون الإجابة فكرة اكثر عن الشخص المقبل على التعلم.
اكتبي أسباب احساسك بصعوبته لماذا تشعرين انها صعبة؟
هل بسبب ان في بعض البرمجة يجب عليك استخدام بعض الرياضيات..؟ او شكل الأكواد التي تظهر على الشاشة او انك لست سريعة في كتابة الأكواد او حفظها..؟
دعينا نعلم مالصعب لديك..!
من قال انك تتعلميه لوحدك يا ألهي لو تعلمين كم عدد الأشخاص الذين يتعلمون اونلاين و خاصة إخوتنا المصريين ما شاء الله لديهم العديد من مجموعات الفيس بوك الغنية والمحتوى و أيضا افضل مقدمين دروس البرمجة
مرحبا فاطمة، ! شكرا لطلب الإجابة.
لقد قلتِ إن البرمجة ليست مجالك حسنا اتمنى لو كنتِ قد ذكرتي مجالك ربما معرفة مجالك تتيح للأشخاص الذيين يريدون الإجابة فكرة اكثر عن الشخص المقبل على التعلم.
اكتبي أسباب احساسك بصعوبته لماذا تشعرين انها صعبة؟
هل بسبب ان في بعض البرمجة يجب عليك استخدام بعض الرياضيات..؟ او شكل الأكواد التي تظهر على الشاشة او انك لست سريعة في كتابة الأكواد او حفظها..؟
دعينا نعلم مالصعب لديك..!
من قال انك تتعلميه لوحدك يا ألهي لو تعلمين كم عدد الأشخاص الذين يتعلمون اونلاين و خاصة إخوتنا المصريين ما شاء الله لديهم العديد من مجموعات الفيس بوك الغنية والمحتوى و أيضا افضل مقدمين دروس البرمجة مصريين و انا تعلمت منهم.
يمكنك مشاركة أشخاص قد بدأو التعلم الأن و عمل مجموعة على التيجلرام و الدراسة سوية، و اذا كنت تقصدين انه تتعلمين لوحدك بمعنى من المنزل و لن يكون هناك مساعد او أستاذ، لقد رأيت الكثير من خريجين نظم المعلومات يقومون بحضور كورسات اونلاين وهي للمبتدئين، أو تشاهدين بعض طلاب نظم الحاسب يطرحون الأسئلة على مجموعات الفيس بوك وطلب المساعدة، هؤلاء طلاب جامعة و لديهم دكتور و يشعرون انهم وحيدين.
مالذي يجب عليك فعله.؟
تحديد المجال الذي تستطيعن العمل به هل ترغبين ببرمجة تطبيقات الويب او الهاتف او لحاسب ،أو ربما يمكنك العمل ك مصممه واجهة أمامية للمواقع لأن أغلب الفتيات لديهم ذوق في التصميم الخارجي.
عندما قلتِ ولا مدخلش المجال دا نهائي لا اتوقع من أي شخص عاقل الأجابة بنعم أو لا! الآن هذا الجواب يعود لكِ تحديد مصير. لا تسمحي لأحد بتحديد مصيرك.
البرمجة تحتاج صبر و صبر و صبر.
اريد مساعدتك حسنا لنفترض انك لن تتعلمين البرمجة ما هي الخيارات الإخرى لديكِ قارني بينها و أعطي نفسك بعض الوقت و ليس بالوقت الطويل، في النهاية كل المجالات تحتاج إلى جهد و عمل.
الشيء الوحيد الذي يجعلني قنوع، عبارة "لكل مجتهد نصيب"
بصفة عامة .
اكبر خطأ ارتكبته أنا وممكن انك ترتكبه هو عدم التدوين.
العلم صيد والكتابة قيد .
بعد اختيار المصادر يبقى التدوين أهم شيء في التعلم لانه يساعدك في التفكر من خلال الصورة الخاصة بالكراس او الدفتر وايضا من خلال الكتابة اليدوية .
وايضا مع مرور الزمن يمكنك الرجوع اليه متى تريد .
على الاقل لخص الكلمات المفتاحية او ملخصات بسيطة .
وايضا لاتنسى استعمل التطبيقات الدكية للتدوين مثلا keep notes.
مرحبا بك في مجتمعنا 4arabdevelopers على يوتيوب وفايسبوك .
عياط احمد امين
مرحبا..
في البداية أنت تحتاج إلى تعلم أساسيات البرمجة وعلم الحاسوب وذلك من خلال كورس CS50 وأنا أرشح لك هذا الكورس في البداية وهو مقدم باللغة العربية كما أنه مجاني.
بعد تعلم أساسيات البرمجة وعلم الحاسوب واختيار المجال الذي تفضله سواء كان مجال الويب أو تطوير تطبيقات الموبايل أو مجال صناعة الألعاب أو مجال أو المعلومات وغيرها من المجالات العديدة يجب عليك اختيار لغة برمجة محددة للبدء بها ولا تشتت نفسك في تعلم لغات كثيرة في نفس الوقت
أنا دائما أفضل طريقة التعلم الذاتي وعدم الاعتماد التام على الكورسات ومشاهدة الفيديوهات وبسبب ذلك كانت دائما طريقتي في تعلم أي لغة برمجة
مرحبا..
في البداية أنت تحتاج إلى تعلم أساسيات البرمجة وعلم الحاسوب وذلك من خلال كورس CS50 وأنا أرشح لك هذا الكورس في البداية وهو مقدم باللغة العربية كما أنه مجاني.
بعد تعلم أساسيات البرمجة وعلم الحاسوب واختيار المجال الذي تفضله سواء كان مجال الويب أو تطوير تطبيقات الموبايل أو مجال صناعة الألعاب أو مجال أو المعلومات وغيرها من المجالات العديدة يجب عليك اختيار لغة برمجة محددة للبدء بها ولا تشتت نفسك في تعلم لغات كثيرة في نفس الوقت
أنا دائما أفضل طريقة التعلم الذاتي وعدم الاعتماد التام على الكورسات ومشاهدة الفيديوهات وبسبب ذلك كانت دائما طريقتي في تعلم أي لغة برمجة جديدة هي الخطوات التالية:
- أحدد أسباب اختياري لهذه اللغة وتفضيلها عن غيرها من حيث قوتها ومرونتها وسهولتها ومدي المجتمع المهتم بهذه اللغة.
- أبدأ بالبحث عن كورسات لتعلم هذه اللغة.
- اختار دائما الكورسات التي تقدم لي شرح مختصر للغة.
- بعد الانتهاء من الشرح المختصر ولنفرض بعد أسبوع مثلا أقوم بالتوجه إلى documentation أو الموقع الخاص باللغة نفسها هذا هو أفضل مكان لتعلم أي لغة برمجة لأنه مقدم من مطورين اللغة نفسها وكان الهدف من الكورس المختصر هو فهم أساسيات اللغة حتى يسهل التعامل مع documentation.
- عند الدخول إلى أي documentation خاصة بأي لغة برمجة ستجد شرح بالتفصيل لكل جزء في اللغة وبطريقة منظمة جدا مع العديد من الأمثلة التطبيقة لتوضيح الشرح.
- تحتوي الdocumentation على معلومات لن تقدمها لك الكورسات أو مشاهدة الفيديوهات المجانية.
وبعد تعلم اللغة وممارستها في حين واجهتك مشكلة تقوم بالبحث عن المشكلة باللغة الإنجليزية وحتما تستجد لها شرح لأن كل لغة لها مجتمع كبير مهتم بها ويستخدمها وأكيد واجهوا نفس مشكلتك وأفضل المواقع هو Stack Overflow حتما ستجد الحل هنا.
في النهاية أتمنى أن تكون إجابتي قد أفادتك ولا تتردد في ترك تعليق في حاجة أردت السؤال عن مصادر لتعلم أي لغة.
صديقى العزيز، أرى انك أجبت بنفسك على سؤالك، وتكمن الإجابة فى جملة "بشكل متقطع".
صديقى، هل حقا تهوى البرمجة وترغب باستكمال مشوارك أم أن هذا مجرد اهتمام ليس إلا؟
اذا كنت تهوى البرمجة فحدد لنفسك مسارا وجدولا ونظم وقتك وصدقنى لن تفيدك الدراسة كثيرا حتى وإن كانت فى التخصص ولكن ابحث وادرس بنفسك وتابع كورسات البرمجة المتميزة كتلك التى على منصة Udemy.
أما إذا كان هذا مجرد اهتمام فنصيحتى لك أن تغيير تخصصك الى شئ تهواه حقا.
اتمنى لك التوفيق…
قبل كل شيئ عليك أن تحدد هدف قبل تعلم البرمجة وكما نعلم ان في علم الكمبيوتر هناك الكثير من المجالات منها البرمجة ، وهناك العشرات من لغات البرمجة اعطيك ثلاث منها
C++ ,Python , JavaScript,
كل لغة برمجة لها مجال خاص بها مثلا JavaScript هي مخصصة لتطوير المواقع وتحتاج معها Html و Css حتى تعطي للموقع الهيكل والتصميم
لغة Python هي سهلة التعلم و تستطيع ان تفعل بها الكثير من الاشياء مثل الذكاء الاصطناعي و تطوير برامج سطح المكتب وحتى الالعاب و انشاء ادوات خاصة بأمن الشبكات والاختراق
و++ C هي لغة ممتازة في انشاء الالعاب وانظمة التشغيل وحتى متصفحات الانترنت وتعتبر من اسرع لغات البرمجة
قبل أن تبدأ في أي مجال الب
قبل كل شيئ عليك أن تحدد هدف قبل تعلم البرمجة وكما نعلم ان في علم الكمبيوتر هناك الكثير من المجالات منها البرمجة ، وهناك العشرات من لغات البرمجة اعطيك ثلاث منها
C++ ,Python , JavaScript,
كل لغة برمجة لها مجال خاص بها مثلا JavaScript هي مخصصة لتطوير المواقع وتحتاج معها Html و Css حتى تعطي للموقع الهيكل والتصميم
لغة Python هي سهلة التعلم و تستطيع ان تفعل بها الكثير من الاشياء مثل الذكاء الاصطناعي و تطوير برامج سطح المكتب وحتى الالعاب و انشاء ادوات خاصة بأمن الشبكات والاختراق
و++ C هي لغة ممتازة في انشاء الالعاب وانظمة التشغيل وحتى متصفحات الانترنت وتعتبر من اسرع لغات البرمجة
قبل أن تبدأ في أي مجال البرمجة عليك أن تحدد هدفك لماذا تريد التعلم اختر المجال الذي يناسبك وابدأ ، تستطيع ان تتعلم بشكل مجاني ومن المنزل فقط ، عليك أن تدرس اساسيات البرمجة وتفهم مامعنى متغيرات و الادوات الشرطية والقوائم والارقام الخ … مع مرور الوقت ستزداد خبرتك تذكر دائم تعلم وابحث
شكرا.
البرمجة ستكون متعبة لك اذا لم تتعلمها بالشكل الصحيح واغلب من يرشدون الناس على طريقة التعلم يرشدونهم على بداية قاتلة للبرمجة.
البرمجة سهلة اذا تعلمتها بالتدرج وبالشكل الصحيح. لكن من يقول ابدء ببايثون او اي لغة اخرى فالبرمجة ليست هكذا. اصلا البرمجة ليست هي لغة البرمجة يوجد فرق بينهما لا تقلق ستعلمه لاحقا.
الاستاذ محمد لديه خبرة اكثر من ٢٦ سنة في مجال البرمجة فاتح قناة على اليوتيوب لديه كورس اساسيات لكل مبرمج وهذا الكورس سيمهد لك الطريق ويوضح لك المعالم في مجال البرمجة. ثم من نفس القناة لديه كورس حل المشاكل البرمجية ( الخوارزميات ) عبارة عن حل ٥٠ مسالة برمجية لتقوية المنطق البرمجي لديك واعلم ان الم
البرمجة ستكون متعبة لك اذا لم تتعلمها بالشكل الصحيح واغلب من يرشدون الناس على طريقة التعلم يرشدونهم على بداية قاتلة للبرمجة.
البرمجة سهلة اذا تعلمتها بالتدرج وبالشكل الصحيح. لكن من يقول ابدء ببايثون او اي لغة اخرى فالبرمجة ليست هكذا. اصلا البرمجة ليست هي لغة البرمجة يوجد فرق بينهما لا تقلق ستعلمه لاحقا.
الاستاذ محمد لديه خبرة اكثر من ٢٦ سنة في مجال البرمجة فاتح قناة على اليوتيوب لديه كورس اساسيات لكل مبرمج وهذا الكورس سيمهد لك الطريق ويوضح لك المعالم في مجال البرمجة. ثم من نفس القناة لديه كورس حل المشاكل البرمجية ( الخوارزميات ) عبارة عن حل ٥٠ مسالة برمجية لتقوية المنطق البرمجي لديك واعلم ان المبرمج القوي انما هو مبرمج بارع في حل المشاكل البرمجية وهذا لايأتي الا بعد ممارسة طويلة ثم بعد ذلك من نفس القناة ايضا ستبدء بكورس الc++ وستعلم من خلال الفيديوهات لماذا اختار هذه اللغة بالذات. واتركك مع هذا الفيديو لكي تتعرف على مجال البرمجة من الاستاذ محمد وما الذي ستحتاجه بالضبط لكي تكون مبرمجا يضاهي الاجانب بل واقوى منهم ان شاءالله
وستجد الكورسات التي ذكرتها لك في القناة نفسها بالتوفيق
بدايةً ومن تجربتي وخبرتي المتواضعة في المجال، أستطيع إخبارك أن الطريقة الأفضل لتعلم أي لغة برمجية بشكل عام هي مشاهدة الدرس بتركيز وانتباه ويفضل تسجيل أهم المعلومات المشروحة فيه گمرجِع مبسّط لك وقت الحاجة ثم تطبيق ما قمت بمشاهدته في الدرس على أرض الواقع وتحويله إلى فكرة معينة مع الحرص على تطبيق ما تعلمته في المُجمل من الدروس السابقة التي شاهدتها.
مثلاً عند مشاهدتك درس عن ال الوظائف في البرمجة ( Function's ) فتستطيع تطبيق ما تعلمته گفكرة مفيدة لك مثلاً عمل آلة حاسبة بسيطة باستخدام ال Function's أو في موقعك الشخصي مثلاً .
وإذا كنت تتعلم أحد أنواع اللوب مثل ( For loop ) تستطيع عمل تكرار لقائمة معينة
بدايةً ومن تجربتي وخبرتي المتواضعة في المجال، أستطيع إخبارك أن الطريقة الأفضل لتعلم أي لغة برمجية بشكل عام هي مشاهدة الدرس بتركيز وانتباه ويفضل تسجيل أهم المعلومات المشروحة فيه گمرجِع مبسّط لك وقت الحاجة ثم تطبيق ما قمت بمشاهدته في الدرس على أرض الواقع وتحويله إلى فكرة معينة مع الحرص على تطبيق ما تعلمته في المُجمل من الدروس السابقة التي شاهدتها.
مثلاً عند مشاهدتك درس عن ال الوظائف في البرمجة ( Function's ) فتستطيع تطبيق ما تعلمته گفكرة مفيدة لك مثلاً عمل آلة حاسبة بسيطة باستخدام ال Function's أو في موقعك الشخصي مثلاً .
وإذا كنت تتعلم أحد أنواع اللوب مثل ( For loop ) تستطيع عمل تكرار لقائمة معينة أو عرض بيانات معينة دون أن تضطر لنسخ هذه البيانات ولصقها وتكرارها يدوياً وهكذا في أي شيء جديد تتعلمه في البرمجة، تستطيع تحويله إلى فكرة تساعدك على فهم ما تعلمته بشكل أعمق وأكثر فائدة وتجربته على أرض الواقع للحصول على خبرة أكبر والتطور فيه مستقبلاً.
طبعاً هناك مئات الأفكار التي تستطيع تطبيقها بما تعلمته في الدروس التي شاهدتها/تشاهدها. بالتوفيق.
شكراً لطلب الإجابة والحقيقة أنني سبق وأجبتُ على سؤال مماثل لسؤالك عن طرق تعلم البرمجة وبعض المصادر للتعلم وها هي الإجابة:
أتمنى أن تكوني قد استفدتِ وبالتوفيق، تحياتي.
إختيار ممتاز ياصديقي، جافا لغة ممتعة جداً وستتعلم الكثير خلال هذه الرحلة.
لا يوجد الكثير لأنصح به سوى أن تستمرّ في دراستك وتعتمد على مراجع قوية لتؤسس نفسك في هذا المجال مثل الإعتماد على الكتب المرجعيه ويوجد عدد منها ممكن تبحث في النت وستجدها بسهوله، وذلك عوضاً عن متابعة الفيديوهات خصوصاً العربيه لما تتسبب به من شتات للمتعلم وذلك حسب تجربتي.
واخيراً خذ وقتك في التعلم ولا تتعجل فهذا الأمر يستغرق وقتاً ليس بالقليل، اتمنى لك النجاح والتوفيق.
أدرسي في جامعتك وفي نفس الوقت تعلمي البرمجة عن بعد هناك مساق cs50
وهو من أحسن المداخل لتعلم البرمجة قامت إدراك بترجمته للغة العربية يمكنك أن تلتحقي به و برنامج المليون مبرمج عربي الإماراتي .
إذا كانت دراستك في الجامعة ثلاث سنوات وفي وقت فراغك تتعلمين البرمجة ستتعلمين كثيرا ويمكنك الإلتحاق بالماجستير في تخصص البرمجة أو الذكاء الصناعي وغيرها من التخصصات القريبة.
بالنسبة للجامعة تعلمنا الإنظباط و الإلتزام و العمل الجماعي ومهارات التواصل فزملاء الدراسة ستحتاجينهم في الحياة العامة ،بخلاف الشهادة الجامعية التي تفتح لك آفاق أخرى في الحياة.
اسمع الفيديو ده ولا تفوته لأنه خلاصة خبرة 24 سنة نجاح فى مجال البرمجة وسيعطيك نصائح مهمة تساعدك
ودى قائمة التشغيل بتديك فكره عن كل لغة برمجة
والقناة دى من أعظم القنوات لتعلم البرمجة
https://youtube.com/@ElzeroAcademyكمان دي بعض المصادر تساعدك
أهم حاجة التدريب والنظام وتطبيق اللى تتعلمه من خلال عمل مشاريع برمجية ولو صغيره جدا لكن هتكون انجازات بالنسبه لك
أتمنى أكون أفدتك ولو بشىء بسيط 💻
اسمع الفيديو ده ولا تفوته لأنه خلاصة خبرة 24 سنة نجاح فى مجال البرمجة وسيعطيك نصائح مهمة تساعدك
ودى قائمة التشغيل بتديك فكره عن كل لغة برمجة
والقناة دى من أعظم القنوات لتعلم البرمجة
https://youtube.com/@ElzeroAcademyكمان دي بعض المصادر تساعدك
أهم حاجة التدريب والنظام وتطبيق اللى تتعلمه من خلال عمل مشاريع برمجية ولو صغيره جدا لكن هتكون انجازات بالنسبه لك
أتمنى أكون أفدتك ولو بشىء بسيط 💻
كما ذكرت باقي الإجابات،تعلم المنطق البرمجي أهم من لغة البرمجة،اليوم ظهرت لي في فيسبوك مسألة صغيرة برمجية بلغة بايثون والمطلوب أن تعرف ناتج الكود،أنا لم أدرس لغة بايثون ولم أعرف حتى ما وظيفة الدالة المذكورة لو لم يذكرها صاحب المنشور،لكنني قمت بتطبيق ما أعرفه من منطق على الكود واستنتجت الإجابة التي كانت بحمد الله صحيحة😅يمكنك تعلم أساسيات المنطق البرمجي في harmash.com
كما أنك حتى لو لم تجد القدرة على حل المسائل الآن،شاهد مسائل محلولة،واسأل في Stack Overflow - Where Developers Learn, Share, & Build Careers وابدأ التدريب في مستويات متدرجة في
وتابع تعلم البرمجة،ستصل للمرحلة
كما ذكرت باقي الإجابات،تعلم المنطق البرمجي أهم من لغة البرمجة،اليوم ظهرت لي في فيسبوك مسألة صغيرة برمجية بلغة بايثون والمطلوب أن تعرف ناتج الكود،أنا لم أدرس لغة بايثون ولم أعرف حتى ما وظيفة الدالة المذكورة لو لم يذكرها صاحب المنشور،لكنني قمت بتطبيق ما أعرفه من منطق على الكود واستنتجت الإجابة التي كانت بحمد الله صحيحة😅يمكنك تعلم أساسيات المنطق البرمجي في harmash.com
كما أنك حتى لو لم تجد القدرة على حل المسائل الآن،شاهد مسائل محلولة،واسأل في Stack Overflow - Where Developers Learn, Share, & Build Careers وابدأ التدريب في مستويات متدرجة في
وتابع تعلم البرمجة،ستصل للمرحلة التي تريد إن تابعت،بالتوفيق🖤
أساسيات البرمجة (مكوناتها بشكل عام):
على أي مُبرمج لدخول في أي مجال للبرمجة تكوين خلفية فيما يلي:
- تدفق البيانات ومعرفة أنواعها: (2)
- السلاسل: تعالج النصوص (الأكثر استخداماً).
- الخوارزميات: البيانات العددية للحساب.
- القيم المنطقية أو القيم اللاغية.
- المتغيرات: الرموز الدالة عن بيانات معينة لتستطيع قراءتها حينما تعود لها لاحقًا.
- الجمل الشرطية: هي القواعد التي توضع في هيئة جمل حاكمة لتسير عليها البرمجة.
- بناء وتكوين الجمل: اللغة الإنجليزية تعد هامة جداً في بناء الجمل البرمجية أي أنك تحتاج إلى الأساس اللغوي السليم.
وبعد تعلم اساسيات البرمجة ستكون قادر على تحويلها إلى أي لغة برمجة عالية المستوى.
قبل تعلم الأساسيا
أساسيات البرمجة (مكوناتها بشكل عام):
على أي مُبرمج لدخول في أي مجال للبرمجة تكوين خلفية فيما يلي:
- تدفق البيانات ومعرفة أنواعها: (2)
- السلاسل: تعالج النصوص (الأكثر استخداماً).
- الخوارزميات: البيانات العددية للحساب.
- القيم المنطقية أو القيم اللاغية.
- المتغيرات: الرموز الدالة عن بيانات معينة لتستطيع قراءتها حينما تعود لها لاحقًا.
- الجمل الشرطية: هي القواعد التي توضع في هيئة جمل حاكمة لتسير عليها البرمجة.
- بناء وتكوين الجمل: اللغة الإنجليزية تعد هامة جداً في بناء الجمل البرمجية أي أنك تحتاج إلى الأساس اللغوي السليم.
وبعد تعلم اساسيات البرمجة ستكون قادر على تحويلها إلى أي لغة برمجة عالية المستوى.
قبل تعلم الأساسيات، وتكون مبرمج محترف يجب تملك عدة مهارات مثل (المنطق، والاعتماد على الذات، وحب التعلم، والدقة، والصبر، وغيرها من مهارات).
وقبل كل هذا تحديد لغة معينة من اللغات للتعمق فيها. كما تتعدد لغات البرمجة فيما يلي:
البرمجة لها عدة مستويات ولكل لغة من لغاتها مجال استخدام معين، ومن أهم هذه اللغات:
- Java- جافا: تعد من اللغات السهلة في البرمجة
- C
- Python
- ++ C
- Visual Basic .NET
- # C
- JavaScript
- PHP
- SQL
- Objective – C
واختيار أي لغة من اللغات السابقة يعتمد على عدة أشياء مثل (هدف المشروع، وكفاءة الموارد المتاحة، وكفاءة الأداء)
الامر متعب بشكل عام والكل سيمر بهذا الطريق ولو كان عبقري انصحك تغيير مصدر تعلمك فقد يكون غير جيد او الاسلوب المتبع لا ينسابك
من وجهة نظري انظر ماذا تفضل البعض يمل من فعل شي واحد مثلا البرمجة فقط لمدة 6 اشهر مثلا
والبعض لايستطيع انجاز عدة مهام بنفس اليوم ويشعر بالضغط
ربما تفضل دراسة برمجة لمدة ساعه كا يوم في الصباح وساعة تسويق بعد العصر وساعة لغة بعد قهوة المغرب
انظر ماذا تفضل واتمنى لك التوفيق والنجاح
يمكنك ذلك يا صديقي البرمجة ليست حكرا على من يدرسون هندسة الحاسب و علوم الحاسب ،يمكن لأي شخص تعلم البرمجة ولكن عليك تحديد الاهداف أولا وتخصيص وقت لذلك بشكل منتظم واعدك انك ستحقق النجاح الباهر .
ولمن يريد البدء بتعلم البرمجة عليه تعلم الاساسيات اولا ( التفكير البرمجي) لأن كل لغات البرمجة متشابهة في التفكير البرمجي وتختلف في طريقة الكتابة فقط أي انك اذا تعلمت لغة برمجة معينة ثم قررت تعلم لغة أخرى ستجد الأمر سهلا لانك تمتلك التفكير البرمجي ولن يتوجب عليك البدء من البداية بل عليك حفظ بعض الكلمات الخاصة باللغة الجديدة ، ولكن ذلك لا يعني ان لغات البرمجة جميعها متشابهة ، ولكن لكل لغة برمجة مجال تنفرد ب
يمكنك ذلك يا صديقي البرمجة ليست حكرا على من يدرسون هندسة الحاسب و علوم الحاسب ،يمكن لأي شخص تعلم البرمجة ولكن عليك تحديد الاهداف أولا وتخصيص وقت لذلك بشكل منتظم واعدك انك ستحقق النجاح الباهر .
ولمن يريد البدء بتعلم البرمجة عليه تعلم الاساسيات اولا ( التفكير البرمجي) لأن كل لغات البرمجة متشابهة في التفكير البرمجي وتختلف في طريقة الكتابة فقط أي انك اذا تعلمت لغة برمجة معينة ثم قررت تعلم لغة أخرى ستجد الأمر سهلا لانك تمتلك التفكير البرمجي ولن يتوجب عليك البدء من البداية بل عليك حفظ بعض الكلمات الخاصة باللغة الجديدة ، ولكن ذلك لا يعني ان لغات البرمجة جميعها متشابهة ، ولكن لكل لغة برمجة مجال تنفرد به مثلا الذكاء الصناعي اللغة المسيطرة عليه هي لغة البايثون ولكل لغة مجال متخصص .
البرمجة تعتمد بالفعل أن تجتهد أنت لتتعلمها وبفضل الله هناك عشرات المصادر والمراجع من المواقع والكتب ولكن أنصحك أولًا أن تبدأ من خلال اليوتيوب ومن خلال الفيديوهات العربية لأنها تنشأ لك فكرة عامة رصينة عن البرمجة لكن لو بدأت بلغة غير لغتك سيكون البناء هش ضعيف لأنك لم تحكم القواعد
إذًا ابدأ بالفيديوهات العربية وانصحك أن تبدأ بهذا الفيديو المرفق كمدخل لعلم البرمجة والطريق يحتاج إلى مثابرة وصبر، فأسأل الله أن يوفقك لما فيه الخير
اجبت على سؤال كهذا مسبقا، في الحقيقة ذكرت نقطة من بحر من الفوائد (اغلب الظن اني لم اكتشف كل الفوائد بعد) وحتى الفوائد التي لاحظتها لا يمكنني أن احصيها لك في جواب واحد.
سأكتفي بوضع سكرين شوت للإجابتي السابقة :
اجبت على سؤال كهذا مسبقا، في الحقيقة ذكرت نقطة من بحر من الفوائد (اغلب الظن اني لم اكتشف كل الفوائد بعد) وحتى الفوائد التي لاحظتها لا يمكنني أن احصيها لك في جواب واحد.
سأكتفي بوضع سكرين شوت للإجابتي السابقة :