إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    البرمجة و الخوارزميات

    هل البرمجة فعلاً صعبة؟

    يرى البعض أن البرمجة معقدة و صعبة و هذا الأمر صحيح مئة في المئة إذا لم تُتقن أساسياتها مثل أي مجال آخر. البيت الذي لا أساس له سيُهدم عاجلاً أو آجلاً بعد معاناة من العيش فيه.

    ‏إذاً من البديهي و الطبيعي هذا التصوّر في بداية دخول الشخص إلى عالم البرمجة و خاصة عند محاولته لفهم لغة برمجية بل و التعمق بها و هو مبتدئ لا يعرف الأساسيات أو كيف يُطوّر و يُنمي مهاراته, و بالتالي من المؤكد أن يواجه الكثير من الصعوبات.

    ‏لكل برنامج فكرة، تُترجم هذه الفكرة على أرض الواقع ككود يحتوي عدة أوامر قد يصل عددها لآلاف أو حتى ملايين! و نحن كمبرمجين لا بد لنا أن نعرف وظيفة الأوامر التي نكتبها مهما كانت بسيطة أو معقدة.

    إستخدام الأوامر بدون معرفة وظيفتها هو ما يجعل الشخص يرى البرمجة صعبة.


    ‏لماذا يجب معرفة وظيفة الكود؟

    ‏بصفتك مبرمج وترغب في تطوير برنامج, لعبة أو موقع فأنت ملزم بوجود تصوّر و معلومات و مخططات تستند عليها لتنفذ كافة المهام المطلوبة فيه, أي عليك أن تضع خطة مسبقة تضم كل ما يتعلق بالمشروع أو البرنامج المنوي تنفيذه من الألف إلى الياء (From A to Z).

    و هنا تظهر لنا مشكلة أغلب المبرمجين: تحويل الفكرة أو المخطط الموضوع إلى برنامج متكامل!

    و هنا تكمن أهمية الخوارميات ?


    ما هو إرتباط الخوارزميات بالبرمجة؟

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

    لذلك من الأفضل لك أن تتعلم الخوارزميات قبل البرمجة فهي من الأساسيات المهمة, فهي تعلمك كيف ترتب و تنفّذ المهام وفق خطوات محددة و ممنهجة, و بمعنى آخر الخوارزميات تعلمك طريقة التفكير المنطقي الذي تحتاجه في البرمجة.


    ما هو أفضل أسلوب شرح تتعلم منه الخوارزميات؟

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

    وقد تجد آخر يشرحها بشكل مباشر بإستخدام لغة برمجة, ولا مشكلة في هذا الأسلوب طالما أنه يشرح عمل الكود البرمجي بدقة أيضاً.

    و قد تجد محتوى مسجل كفيديو. لا مشكلة إتبع الطريقة التي تناسبك و تكتسب الأفكار من خلالها.


    هل الخوارزميات مرتبطة بلغات برمجيّة محددة؟

    ‏كما ذكرنا سابقاً, الخوارزميات تعلمك التفكير المنطقي الذي تحتاجه في البرمجة بشكل عام حيث أنها مجرد أسلوب ترتيب تسلسل الأفكار و الإجراءات المراد تنفيذها في البرنامج!

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


    ‏كيف أبدأ في تعلم الخوارزميات؟

    ‏برأيي، تنقسم الخوارزميات إلى قسمين:

    ‏1- خوارزميات لزيادة مهاراتك و توسيع منطقك البرمجي: غالباً ستجدها في مواقع تعلم البرمجة و أو توفر تحديات برمجية.

    2- خوارزميات لتبسيط و تسهيل تعاملك مع المشاريع و البرامج: ستبرمجها بنفسك ثم تطورها عند الحاجة.


    كيف أطور قدراتي في الخوارزميات؟

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

    ‏هذه كلها تمارين خوارزميات هدفها تطورير قدراتك في التحليل زيادة المنطق البرمجي لديك و تعليمك أكثر من طريقة للتفكير و الوصول إلى الحل, و لا بد أن ننصحك هنا بعدم الإستسلام إذا وصلت لطريق لا تستطيع منه الإكمال, بل عُد و حله من جديد و أفرغ عليه كل تركيزك.

    معادلة بسيطة: كثرة التمارين و فهم كل ما كُتب سيزيد من قوة تحليلك.


    ‏من أين أتعلم الخوارزميات؟

    في عالمنا اليوم و مع وجود المواقع و المنصات و غيرها نجد العديد من المصادر المتوفرة و بكثرة. أنصحك بهذه المصادر فهي مميّزة في تعليم الخوارزميات:

    ‏1- دورة مخصصة للمبتدئين:

    harmash.com/tutorials/algorithms

    2- دورة مخصصة لمن درس المستوى السابق و درس بعده لغة برمجة حتى يطور نفسه بالخوارزميات و اللغة التي درسها:

    harmash.com/tutorials/algorithms-and-data-structure

    3- مصادر أخرى (عربي + إنجليزي):

    harmash.com/tutorials/algorithms-and-data-structure/useful-resources

    4- موقع إنجليزي يحتوي تمارين خوارزميات و هياكل البيانات:

    Hackerrank.com

    يتضمن: Programming , Algorithms

    آخر تحديث: 25-12-2021

    الكاتب

    علاء نجمي

    رئيس قسم المطوّرين في نُضج الرقمية. حاصل على الشهادات الاحترافية HCIA-AI,PCAP,PCEP,CLE. كاتب ومُقدم دورات بمجال التقنية والبرمجة. مهتم بالأنظمة وحمايتها وتطويرها

    تعليقات 1

    أضف تعليق

    يجب تسجيل الدخول حتى تتمكن من إضافة تعليق أو رد.
    إعلان
    دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
    دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
    تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
    دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
    دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
    دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن
      إعلان

      Eqla3Tech.com

      شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

      لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

      تقييم المقال

      لم تقم بتقييم المقال بعد!

      الدورات

      أدوات مساعدة

      الأقسام

      دورات
      مقالات أسئلة مشاريع كتب