البرمجة والخوارزميّات
يرى البعض أن البرمجة معقدة وصعبة 👨🔬 وهو أمر صحيح إذا لم تُتقن أساسيّات المجال! مثل أي مجال آخر.
يحصل هذا التصوّر في بداية دخول الشخص عالم البرمجة ومحاولة فهم لغة برمجيّة بل والتعمق فيها و هو لا يعرف عن أساسيّات البرمجة أو كيف يُطوّر ويُنمي مهاراته فيها.
يرى البعض أن البرمجة معقدة وصعبة 👨🔬 وهو أمر صحيح إذا لم تُتقن أساسيّات المجال! مثل أي مجال آخر.
يحصل هذا التصوّر في بداية دخول الشخص عالم البرمجة ومحاولة فهم لغة برمجيّة بل والتعمق فيها و هو لا يعرف عن أساسيّات البرمجة أو كيف يُطوّر ويُنمي مهاراته فيها.
عندما نُبرمج أي برنامج -> لا بد أن نوضح ونُعرّف كل وظيفة للآلة مهما كبر أو صغر حجم الوظيفة ومدى تعقيدها.
لماذا؟
لأن البرنامج سيُنفّذ كل المهام المطلوبة منه حسب تعريفك أنت وأسلوب كتابتك للأكواد البرمجيّة لتنفّيذ كل مهمة تسلسليًّا!
لماذا؟
لأن البرنامج سيُنفّذ كل المهام المطلوبة منه حسب تعريفك أنت وأسلوب كتابتك للأكواد البرمجيّة لتنفّيذ كل مهمة تسلسليًّا!
لكل برنامج فكرة، قد تكون حديثةً ومميزة.. وقد تكون معروفةً مسبقًا.
بصفتك مبرمجًا وترغب في تطوير برنامج -> أنت ملزمٌ بوجود تصوّر ومعلومات ومخططات تستندُ عليها لتُنفّذ كافة المهام المطلوبة فيه.
بصفتك مبرمجًا وترغب في تطوير برنامج -> أنت ملزمٌ بوجود تصوّر ومعلومات ومخططات تستندُ عليها لتُنفّذ كافة المهام المطلوبة فيه.
مشكلة أغلب المبرمجين: تحويل الفكرة من على ورق إلى برنامج متكامل!
وهنا نتحدث عن الخوارزميّات 🔴
وهنا نتحدث عن الخوارزميّات 🔴
ما ارتباط الخوارزميّات بالبرمجة؟
حقيقةً.. قد لا تحتاج إلى تعلّم الخوارزميّات في بداية مشوارك البرمجيّ.
لكن عند تعمقك فيها فأنت ستحتاج إليها لتنفّيذ المهام البرمجيّة وفق تسلسلٍ مرتبط للإجراء المراد تنفّيذه بشكلٍ صحيح.
حقيقةً.. قد لا تحتاج إلى تعلّم الخوارزميّات في بداية مشوارك البرمجيّ.
لكن عند تعمقك فيها فأنت ستحتاج إليها لتنفّيذ المهام البرمجيّة وفق تسلسلٍ مرتبط للإجراء المراد تنفّيذه بشكلٍ صحيح.
ما هو أفضل أسلوب شرح تتعلّم منه الخوارزميّات؟
قد تجد مدربًا يشرح الخوارزميّات على ورقة أو سبورة -> وهذا هو أفضل أسلوبٍ برأيي، لأنه يشرح طريقة عمل الكود البرمجيّ بدقة.
قد تجد مدربًا يشرح الخوارزميّات على ورقة أو سبورة -> وهذا هو أفضل أسلوبٍ برأيي، لأنه يشرح طريقة عمل الكود البرمجيّ بدقة.
وقد تجد مدربًا آخر يشرحها بشكلٍ مباشر باستخدام لغة برمجة -> ولا مشكلة في هذا الأسلوب طالما أنه يشرح عمل الكود البرمجيّ بدقة أيضًا.
إذن: الخوارزميّات تعلمك كيف تُرتب و تُنفّذ المهام وفق خطوات محددة وممنهجة.
إذن: الخوارزميّات تعلمك كيف تُرتب و تُنفّذ المهام وفق خطوات محددة وممنهجة.
هل الخوارزميّات مرتبطة بلغات برمجيّة محددة؟
كلا، الخوارزميّات نستطيع تمثيلها على ورق.. على خرائط التدفق.. إلخ، ومن ثم نقوم بتنفّيذها وتشغيلها بواسطة اللغة البرمجيّة التي نتعامل معها، لأن الخوارزميّات مجرد أسلوب ترتيب تسلسل الأفكار والإجراءات المراد تنفّيذها في البرنامج!
كلا، الخوارزميّات نستطيع تمثيلها على ورق.. على خرائط التدفق.. إلخ، ومن ثم نقوم بتنفّيذها وتشغيلها بواسطة اللغة البرمجيّة التي نتعامل معها، لأن الخوارزميّات مجرد أسلوب ترتيب تسلسل الأفكار والإجراءات المراد تنفّيذها في البرنامج!
لذا فليس من الضروري أن تكون محدودًا ومرتبطًا بلغة برمجيّة معينة لتُطبق وتُنفّذ الخوارزميّات.
كيف أبدأ في تعلّم الخوارزميّات؟
برأيي، تنقسم الخوارزميّات إلى قسمين:
1- خوارزميّات لزيادة مهاراتك وتوسيع منطقك البرمجيّ -> غالبًا ستجدها في مواقع تعلّم البرمجة والتحديات البرمجيّة.
برأيي، تنقسم الخوارزميّات إلى قسمين:
1- خوارزميّات لزيادة مهاراتك وتوسيع منطقك البرمجيّ -> غالبًا ستجدها في مواقع تعلّم البرمجة والتحديات البرمجيّة.
2- خوارزميّات لتبسيط وتسهيل تعاملك مع المشاريع وبرمجة البرامج -> ستبرمجها بنفسك ثم تطوّرها عند الحاجة.
كيف أبرمج خوارزميّة؟
برمجة الخوارزميّات تتطلب منك التفكير خارج الصندوق!
ولذا فإن مهارة برمجة وتطوّير الخوارزميّات لن تستطيع الحصول عليها في بدايات مشوارك البرمجيّ، كونها تتطلب الخبرة وتجارب لممارسات سابقة لتُوسّع نطاق أفكارك، وتدلّك على الطرق المناسبة والصحيحة لتنفيذها.
برمجة الخوارزميّات تتطلب منك التفكير خارج الصندوق!
ولذا فإن مهارة برمجة وتطوّير الخوارزميّات لن تستطيع الحصول عليها في بدايات مشوارك البرمجيّ، كونها تتطلب الخبرة وتجارب لممارسات سابقة لتُوسّع نطاق أفكارك، وتدلّك على الطرق المناسبة والصحيحة لتنفيذها.
كيف أطوّر من قدراتي في الخوارزميّات؟
ركز على التمارين التي تمر عليك في بداية تعلّمك البرمجة، كتمارين: ارسم شكل مثلث بالنجوم، ارسم شكل مربع، ارسم شكل معيّن، إلخ...
ركز على التمارين التي تمر عليك في بداية تعلّمك البرمجة، كتمارين: ارسم شكل مثلث بالنجوم، ارسم شكل مربع، ارسم شكل معيّن، إلخ...
هذه كلها تمارين على الخوارزميّات، الهدف منها أن تتعلّم كيف تفكر بشكلٍ منطقي و تطوّر من قدراتك في التحليل وتزيد المنطق لديك وتوسّع أفكارك.
وصلنا إلى السؤال الأهم!
من أين أتعلّم الخوارزميّات؟
مصادر التعلّم اليوم متوفرة بكثرة، لكن هذه المصادر مميّزة في تعلّم الخوارزميّات وأنصح بها:
1- دورة مخصصة للمبتدئين
harmash.com
2- دورة مخصصة لمن درس المستوى السابق و درس بعده لغة برمجة
harmash.com
من أين أتعلّم الخوارزميّات؟
مصادر التعلّم اليوم متوفرة بكثرة، لكن هذه المصادر مميّزة في تعلّم الخوارزميّات وأنصح بها:
1- دورة مخصصة للمبتدئين
harmash.com
2- دورة مخصصة لمن درس المستوى السابق و درس بعده لغة برمجة
harmash.com
جاري تحميل الاقتراحات...