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

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

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


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


- تدخل بسيط :

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

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

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


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

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


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


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

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


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

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

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

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


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

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