تمهيد : دورة دراسة و تحليل الخوارزميات


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



- تدخل بسيط :

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

إقرأ أيضا : ما هي لغات البرمجة الخاصة ببرمجة الذكاء الإصطناعي ؟

- إختبار بسيط قبل البدئ : 


اولا و قبل كل شيء سوف أطرح عليك مجموعة من الأسئلة و حدد جوابك بوضوح ، فإن كان يتوافق مع الإجابة الخاصة بنا ، فمرحبا بك ، فإن لم يكن ... :
1 - هل تريد أن تصبح مبرمج ؟
إذا كان جوابك نعم فأنت في طريقك الصحيح أما إذا كان لا فهذه الدورة لا تناسبك لن تكون قادرا على فهم محتوياتها . 
2 - هل واجهت مشكلة أثناء تحليلك لطريقة عمل أحد البرامج ؟
إذا كنت مبتدأ أو محترف لابد أن تصادف هكذا مشاكل ،  و لكن هناك طرق ستساعدك على إكتساب خبرات التحليل بشكل إحترافي فوظيفة الخوارزميات تكمن في إيجاد حلول للأشياء المعقدة .
3 - هل أنت تائه في المجال ؟
هذا هو السؤال الذي ستكون الإجابة عليه حوالي 85% من مجمل القراء بالإيجاب :) ،  فلا داعي للخوف او فقدان العزيمة فكلنا مررنا من هذه التجربة و لكن الحمد لله إقتربنا من إجتيازها (رغم المصاعب) ونحن هنا لمساعدتك عزيزي القارئ .
4 - هل ستكون من متتبعي الدورة (السؤال الأخير) ؟
إذا كان جوابك نعم (في تعليق) فتأكد عزيزي انك في المكان الصحيح لبداية مشوارك كمبرمج ذو خلفية و قاعدة صلبة .
 و قد سألنا متتبعينا على الفيسبوك بمدى إهتمامهم بالدورة أيضا ، فلا يسعني سوى القول ان تعليقاتهم الإجابية وضحت الأمر جليا لنا :


الدروس في هذه الدورة سوف تكون على شكل مقالات و صور مساعدة قد نلجأ للفيديو لشرح التساولات في أخر كل درس لمساعدة الطلاب على الفهم الصحيح .
بعد هذه الدورة سوف تكون هناك دورات في البرمجة بأحد لغات البرمجة على حسب إختياركم (php او java او C#) .


 إذن .. ما هي الخوارزميات ؟

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

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

لمذا يجب تعلم الخوارزميات , ما هي فائدتها ؟

تعتبر الخورزميات المدخل للبرمجة . لا يمكن أن تسأل مبرمج عن تعلم البرمجة و يخبرك أن تبدأ بإنشاء موقع تواصل إجتماعي مثل فيسبوك ههه . لانه سوف تسقط من أول وهلة و لن تعرف طريقة حل المشاكل البرمجية . 80% من المبرمجين سوف ينصحونك بتعلم الخوارزميات و تطبيقها بأحد لغات البرمجة (python او C) ليست C++ او java كون C و python سهلة الإستخدام .

كيف يمكننا الإستفادة من الخوارزميات ؟ 


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

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



By