اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

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

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

لكن قبل حل المسائل البرمجية، عليك تعلم أساسيات هياكل البيانات والخوارزميات أي مفاهيم بسيطة من الـ DSA مثل:

  • Arrays وطرق التعامل معها.
  • Strings والخوارزميات الأساسية عليها مثل عكس النصوص، البحث عن عنصر.
  • Time Complexity بشكل بسيط مثل فهم الفرق بين O(n) و O(n^2).

بعد حل أي مسألة، اقرأ حلول الآخرين لتعلم تقنيات جديدة وخصص وقتًا يوميًا للحل (حتى لو 30 دقيقة)، وتستطيع التعمق في DSA عند الانتقال للمسائل المتوسطة، حيث ستتعلم هياكل البيانات الأساسية Linked Lists, Stacks, Queues, Hash Tables, Trees.

والخوارزميات أساسية:

  • البحث الخطي والثنائي Linear/Binary Search.
  • الفرز السريع والدمج Quick Sort, Merge Sort.
  •  الاجتياز Traversal للأشجار مثل BFS, DFS.

ثم تعلم المفاهيم المتقدمة من DSA قبل المسائل الصعبة Hard، وستتعلم Dynamic Programming وGraph Algorithms (مثل Dijkstra, Kruskal)، بالإضافة إلى Advanced Trees (مثل AVL Trees, Trie)، وركّز على الفهم العميق للنظريات كالفرق بين Greedy و Dynamic Programming.

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

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...