مقدمة دورة مبادئ البرمجة
نقطة اﻹنطلاق
أهلاً بك في دورة مبادئ البرمجة والخوارزميات وهياكل البيانات، هذه الدورة هي بوابتك لعالم البرمجة، وأنت تعلم بالتأكيد أن البرمجة علم كبير وعالم غامض نسبياً، لكنّه ممتع ﻷبعد درجة إن تعاملت معه بشغف... ولن يأتي الشغف إلا إذا بدأت بطريقة صحيحة وتجنبت المسارات الخاطئة؛ لذلك هذه الدورة تم إعدادها خصيصاً لتهيئك للتخصص في أي مجال من مجالات البرمجة وعلوم الحاسوب وتثبت عندك الأساس الذي ستعتمد عليه في طريقك...
اقرأ هذا المقال لتعلم أهمية ما ستتعلم في هذه الدورة: الخوارزميات والطريق اﻷمثل للبرمجة
مقدمة
مجال البرمجيات متسع جداً، أبعاده أكبر مما تتخيل، وكلما مضيت فيه اتسع أكثر وأكثر، ستدرك هذا جيداً عندما تنتقل من مرحلة اﻷساسيات وربما تُدركه أيضاً في هذه المرحلة، لذلك ستجد لكل مبرمج أسلوباً وفكراً وستجد تقنيات لا حصر لها، وتتعدد الطرق والمسارات بكثرة.
وبدايتنا هذه مختلفة جداً، والمواضيع التي سنتناولها مختلفة عن ما تتناولها المراجع اﻷخرى إن وُجدت، فقد أعددنا هذه الدروس لتلائم المستقبل في هذا المجال شديد التطور، ونظراً لهذا التطور أصبحت هناك فجوة بين مصادر التعلم الموجودة في العالم العربي وبين تقنيات البرمجة الحديثة ومصادر التعلم اﻷجنبية، لذلك كل قرار أخذناه وكل موضوع سنتناوله وهذه البداية الغريبة بلغة جافاسكريبت هي بداية محسوبة اخترناها بناءا على خبرات سنوات وتجارب حقيقية ومشاكل واجهتنا، لذلك سنتناول مواضيع تعلمناها متأخراً وتمنيننا لو كنّا تعلمناها في بداياتِنا، وسنتناول أسلوباً للتعلم يصنع منك مبرمجاً مبدعاً مبتكراًً، لتصنع طريقك بنفسك وتُبدع في الوصول لهدفك، فالبحر متسع جداً وإما أن تتعلم السباحة جيداً والملاحة جيداً وإلا ستغرق أو تضل الطريق إلى أن تغرق في مراحل متأخرة.
فنحن في هذا الدليل وهذه الدروس نُعدّ مبرمجاً مبتكراً، لا نعلمك مثلا برمجة الويب بل نعلمك مبادئ البرمجة وعلوم الكمبيوتر عموماً وأساليب التعلم وكيف تفكر كمبرمج وآليات حل المشكلات، ثم بعدها ستنطلق بنفسك لتتعلم ما لم نتعلمه نحن، وتصل إلى ما لم نصل إليه، وتتقن ما لم نُتقنه، حسب أهدافك ورغباتك وميولك ستتجه، ستنطلق بلا سقف لطموحك، وبلا قيد لإبداعك
يجب أن تتعلم ما ينقصك في استخدام الحاسوب من دورة أساسيات الحاسوب واﻷنظمة قبل تعلم مبادئ البرمجة من هذه الدورة
ماذا سأتعلم في هذه الدورة؟
ستتعلم مبادئ البرمجة من تحت الصفر إلى اﻹتقان، فهذه الدورة مُعدّة لتناسب من لا يملك أي معرفة ولو سطحية عن البرمجة، ستتعلم مهارات حل المشكلات وكيفية التفكير كمبرمج، فما ستتعلمه في هذه الدورة سيكون اﻷساس الذي ستبني عليه لاحقاً.. فاحرص على صلابة اﻷساس؛ تجد ما بعده سهلاً.
مبادئ البرمجة (كالمتغيرات والشروط والدوال والحلقات التكرارية .. الخ) مشتركة بين كل لغات البرمجة، لذلك إن فهمتها وتعلمتها وأتقنتها بأي لغة ستتمكن من تعلم أساسيات أي لغة أخرى في أيام معدودة!
ما هي الخوارزميات؟
الخوارزميات هي خطوات الحل لمشكلة أو خطوات تنفيذ فكرة، ففي هذه الدورة سنتعلم التخطيط لفكرة نريد تنفيذها واستخدام مبادئ البرمجة التي سنتعلمها في تنفيذ هذه الفكرة أو حل هذه المشكلة والوصول إلى الناتج الذي نريده!
لغة البرمجة هي وسيلة الربط بينك وبين الحاسوب، تترجم ما في عقلك ليفهمه الحاسوب، ومبادئ البرمجة والخوارزميات وهياكل البيانات هي وسيلة الربط بينك أنت وبين لغة البرمجة!
بدون مبادئ البرمجة لن تتمكن من تنفيذ ما في عقلك أو حل مشكلة برمجية حتى لو كنت تحفظ جميع أوامر اللغة كاسمك؛ فالبرمجة ليست لغات وليست حفظ أكواد.
أهمية الخوارزميات
إذا تعلمت مبادئ البرمجة وتعلمت الخوارزميات، ستصبح مستعداً لإتقان أي لغة برمجة واستخدامها في تنفيذ ما تريد، وهذا هو الجزء اﻷهم في البرمجة، تطبيق هذه المبادئ بأي لغة هو أمر سهل أما فهمها وإتقانها واستخدامها بالشكل اﻷمثل هو ما يمنحك اﻹبداع والتميز ويرفع سقف طموحك إلى أبعد الحدود
هناك بعض البرامج يمكن كتابتها بأي لغة برمجة، إذن ما الفرق؟ وماذا يميز البرنامج؟ بالطبع الخوارزمية واستخدامك الصحيح لمبادئ البرمجة وهياكل البيانات
إن بدأت بتعلم البرمجة بشكل خطأ سيكون من المستحيل الوصول للشغف في البرمجة ﻷنك سيقتصر دورك على حفظ وتلقين بعض اﻷوامر واﻷكواد للغة معينة.
هيكلة الدورة
تحتوي الدورة على كل ما يؤهلك لتصبح مبرمجاً مبدعاً، وقد تم ترتيب وهيكلة محتواها بهذا الشكل بعد عمل كبير وتجارب أثمرت بأن تُقسم الدورة إلى ثلاث مستويات، نتحدث في المستوى الإبتدائي منها عن معظم مفاهيم البرمجة اﻷساسية ولكن بدون تعمق في تفاصيلها ونتجنب فيها التعقيدات واﻷمور الصعبة، حتى تتمكن من فهم معنى وأساسيات هذه المفاهيم البرمجية وأهميتها والتعامل المبسط معها، ثم اﻹنتقال إلى المستوى المتوسط لتتعمق أكثر في المفاهيم التي درستها في المستوى اﻹبتدائي وتعلم مفاهيم جديدة متقدمة مترتبة على ما تعلمته سابقاً، ثم اﻹنتقال إلى المستوى المتقدم لتتعمق أكثر وتتعلم مفاهيم متقدمة وتحقق الترابط بين المفاهيم التي تعلمتها ثم تُصبح جاهزاً للإنطلاق في أي مجال برمجي أيا كان!
كيف يتم إعداد محتوى هذه الدورة؟
لدينا مجموعات تعلم نتابع معهم تقدمهم ويومياً نشرح لهم درساً جديداً ونتلقى مشاكلهم واستفساراتهم لنبدأ بمعالجتها وحلّها، ثم ننظم وننسق ونراجع كل ما تم في مجموعات التعلّم ليتم إضافته بعدها هنا كدرس على منصة دليل مبرمج
بالتالي معظم المشاكل التي ستواجهك قد تجدنا تحدثنا عنها بالفعل أثناء تعلمك في ملاحظات باللون الأحمر
الدورة في تحديث مستمر، فهناك دروس جديدة تُضاف يومياً مع تقدم مجموعات التعلم الخاصة بنا، لذلك احرص على تفقد المنصة يومياً...
لقد قررنا التجربة والتطبيق على ما سنتعلمه من مبادئ البرمجة بلغة جافاسكريبت وستكون كل اﻷمثلة بها، وستعرف لماذا في الدرس القادم!
المساهمين
وجدت خطأ أو تريد المساهمة في محتوى الدرس؟ عدل الصفحة على Github