Problem Solving كيف أبدا
ازاي تبدأ Problem Solving ؟
بوست طويل شوية انا آسف بس الموضوع فيه كلام كتير وده مش كل حاجة اكيد في اكتر من كده ولكن ده كويس كبداية
أولاً ايه أهمية ال Problem Solving ؟
بتعلمك اهم مهارتين محتاجهم أي Programmer وهما How To Think وديه هتتعملها من خلال انك هتمر بأفكار كتير منهم السهل ومنها المتوسط وصولا للصعب والاصعب ف ده هيبني عندك خلفية واسعة عن انك تطور من نفسك ومن الحلول المتاحة قدامك لما تقابلك مشكلة في كود بعد كده لما تدخل اي مجال …الحاجة التانية هي How To Search وديه هتتعملها من خلال انم هتواجه Errors , Exceptions , Time Limit Exceeded خلال الحل ف ده هيخليك تبحث وتدور ازاي تحل الError ده لان اكيد مش كل مرة يواجهك Error هتروح تسال في حد او حد أكبر منك مثلا .
ايه اللي محتاجه علشان تبدأ تحل Problems ؟
مش محتاج حاجات كتير يعني ممكن مثلا تتعلم Basics بتاع لغة برمجة وتبدأ تحل عليها واثناء حلك تكمل مذاكرة تذاكر Object Oriented Programming + Algorithms + Data Structures لان دول اهم 3 حاجات محتاج تعرفهم بعد ما تتعلم لغة برمجة هيفرقوا معاك جدا وهيوسعوا من نطاق فهمك واستيعابك للي انت بتعمله ايه بقا المصارد والمواقع اللي تحل عليها ؟
قناة Arabic Competitive Programming ديه تبقا مرجع وقم واحد عندك وانت في البداية الدكتور مصطفى سعد ربنا يباركله على مجهوده يعني هتلاثي محتوى محتوى محترم بدايه من لينك الفيديو ده اللي فيه شيت لمسائل من موقع Codeforces لحد شرح اغلب الاساسيات اللي قولتها ديه بال C++ ده اذا ما كانش كلها يعني هنا هتلاقي شرح للشيت والقناة مليانة شروحات خاصة بال
https://www.youtube.com/watch?v=c3lmvYBxgwE&t=33s2-
لو انت هتشتغل ب Java ف انت تقدر تحل نفس الحاجات ديه برضو باي لغة برمجة لكن الحاجة اللي فرقت معايا جدا في وانا في البداية الكورس من ده موقع Hackerrank محتاج تبقا مستوى متوسط في الانجلش علشان تفهمه كويس انما هو كل فيديو وراه Problem مرتبكة بموضوع الفيديو والكورس بصراحة جميل جدا
https://www.hackerrank.com/domains/tutorials
ده شيت من جامعة اسيوط ال Problems مترتبة فيه Categories بداية من ال Variables , Loops , Conditions وصولا لمسائل عامة كل اللي مطلوب تعمله تسجل في الموقع وتدخل على اللينك تنزل لتحت هتلاقي Member management تسجل as Participant
–
https://codeforces.com/group/MWSDmqGsZm/contests
–
البشمهندس محمد أيمن عامل مجهود محترم في الRepository ديه عن ال Problem Solving برضو وكويس جدا ليك شوف المصدر اللي ترتاح معاه وذاكر منه كلهم يأدوا نفس الغرض بس شدوا حيلكم
ومن الحاجات المهمة اللي ناس كتير بتهملها انها ما تذاكرش من كتاب بجانب الكورس اللي بتشوفه وده غلط جدا لان مفيش كورس هيديك كل حاجة والكتب بيبقا فيها معلومات هتتعب جدا علشان تلاقيها بالوضوح ده في اي كورس ومش مطلوب منك تقرا الكتاب كله طبعا انت تخليه مرجع بحيث ان ملقيتش المعلومة فيه تدور عليها ع النت
كتاب في لغة ال Java
https://drive.google.com/file/d/1ymuWO1-KbGYKP_HBa-msTaTMUkrXImy0/view?usp=sharing2-
كتاب في لعة ال C++
https://drive.google.com/file/d/1dN2kVq37hl3LhqOpkMkXH7C_zjck4Qzw/view?usp=sharing3
كتاب عن ال Algorithms + DS بال Java
https://drive.google.com/file/d/1kxL8HkuTtfUkq3FX_TWRUydOTd-XtkSr/view?usp=sharing4-
كتاب مهم جدا بس مش دلوقتي لما تذاكر Problem Solving كويس بص ع الافكار اللي هنا من Interviews خاصة باكبر الشركات Google ,Amazon , Microsoft ..etc
https://drive.google.com/file/d/1aglioqjt_jsp6DLs8S5LZCv7fP1Ah5Wn/view?usp=sharing
وده لينك الحلول من Github المصدر
https://drive.google.com/file/d/1U_HQm42Tr9ufNHTBT58r7CSRixfDQzbl/view?usp=sharing5-
ده كتاب لو حد يعرف لغة C++ ,Java , Python وحابب يراجع عليها مثلا الكتاب ده جميل جدا هتلاقي في بدايته شرح لكل لغة منهم
https://drive.google.com/file/d/1s7kvvXhDKTOhZdTtmY3ZgSgdkJK6lKdP/view?usp=sharing
آخر حاجة وديه نصيحة في البداية هتواجه مشاكل كتير في التعامل مع المواقع وهيقابلك Errors , Exceptions وحوارات كتير علشان تكمل لازم نفسك يبقا طويل وتصبر لان اي حد في البداية كده محدش اتولد تنين مجنح في البرمجة والا حد كان بيحبي على Keyboard وهو صغير مثلا لازم تصبر وتكمل علشان لمستوى يرضيك الحاجة التانية مش مطلوب منك تقعد طول عمرك تحل Problems كفاية سنة اولى مثلا او تانية بس تذاكر بضمير هيفرق معاك جدا وبعد كده تذاكر مجال تشتغل بيه ويب – اندرويد – الخ من المجالات يعني واتمنى ليكم كل التوفيق يارب ♥️🙏