أقسام الوصول السريع ( مربع البحث )

كيف تتعلم برمجة بجانب الدراسة؟

شرح مبسط لكيفية البدأ في تعلم البرمجة بنفسك بجانب الدراسة، لست بحاجة لأي شيء غير هذا المقال لتبدأ رحلتك في عالم البرمجة بالطريقة الصحيحة.

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

فوائد تعلم البرمجة لطلبة المدارس

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

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

توضيح لأشهر مجالات البرمجة ووظيفة كل منهم

ينقسم مجال تطوير المواقع إلى مجالين
مجال الـ "Front-end development" وظيفته هي تطوير الواجهات الأمامية للمواقع المقصود بالواجهات الأمامية هو كل شيء تراه بعينك في الموقع مثل الألوان، الخطوط، التنسيقات، وغيرهم قد تظن أن هذا هو كل شيء في الموقع، ولكن في الحقيقة هناك الكثير من العمليات التي لا تراها.

مجال الـ "Back-end development" وظيفته هي التعامل مع كل شيء يحدث في الموقع ولا تراه بعينك مثل التعامل مع قواعد البيانات.

للتوضيح الفيسبوك على سبيل المثال الـ "Front-end developer" هو المسؤول عن ألوان النصوص والأزرار والتنسيق. أما الـ "Back-end developer" هو المسؤول عن قاعدة البيانات التي تحتوي على كلمات مرور المستخدمين.

والمبرمج الذي يتقن كلا المجالين يطلق عليه "Full-Stack Developer".

مجال تطوير تطبيقات الهاتف "Mobile Application Development"

ينقسم مجال تطوير تطبيقات الهاتف إلى مجالين أيضا، الـ "Native Mobile Development" والذي يطور تطبيقات الهاتف باللغة المفضلة لنظام التشغيل، ويكون لكل نظام تشغيل لغة برمجة مختلفة مثلا في نظام الأندرويد يتم استخدام Java أو Kotlin. أما المجال الثاني هو الـ "Cross Platform Mobile Development" والذي يمكنك من إنشاء التطبيق مرة واحدة، ولكن تشغيله على أنظمة التشغيل المختلفة

مجال تطوير الألعاب "Game Development"

تطوير الألعاب ليس بالأمر السهل، قبل كتابة أي أكواد برمجية، تُخْلَق قصة اللعبة، ثم تُحَدَّد أبعاد اللعبة (ثلاثية الأبعاد أو ثنائية الأبعاد) بعدها عملية اختيار المحرك المستخدم في تطوير اللعبة مثلا "Unreal Engine" الذي اُسْتُخْدِم في لعبة "PUBG Mobile" و"Unity Engine" الذي اُسْتُخْدِم في لعبة "Fall Guys" و"Among Us" وكل محرك يستخدم لغة برمجة معينة.

مجال الذكاء الاصطناعي "Artificial Intelligence"

مجال الذكاء الاصطناعي يتطلب تعلم الكثير من الأشياء مثل تعلم الآلة "Machine Learning" والتعلم العميق "Deep Learning"، كما أنه يتداخل مع علوم البيانات "Data Science" لذلك هذا المجال بالتحديد تعلمه ليس سهل قطعا، ويتطلب الكثير من العمل والانضباط.

مجال الأمن السيبراني "Cybersecurity"

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

كيف تبدأ تعلم البرمجة؟

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

تعلم تطوير واجهات المواقع "Front-end"

إذا اخترت مجال تطوير الواجهات الأمامية للمواقع المهندس أسامة الزيرو جزاه الله خيرا قام بشرح تفصيلي لكل نقطة في هذا المسار ولكي تبدأ عليك التوجه إلى فيديو مسار تعلم مجال ال Front-End Development في هذا الفيديو شُرِح المسار الذي ستسلكه في رحلة تعلمك لمسار الـ "Front-end" ويمكنك أيضا التوجه إلى صفحة الدورة على موقع أكاديمية الزيرو.

تعلم الـ "Back-end"

أما إذا كان المجال الذي قررت أن تتعلمه هو الـ "Back-end" تستطيع أن تبدأ
بـفيديو كيف تصبح Back-End Developer الخاص بالمهندس غريب الشيخ في هذا الفيديو شرح لمسار تعلم الـ "Back-end" مع مصادر لتعلم هذا المسار.

تعلم تطوير تطبيقات الهاتف "Mobile Application Development"

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

تعلم تطوير الألعاب "Game Development"

قام المهندس إسلام هشام بإنشاء فيديو بعنوان كورس تعلم أساسيات تطوير الألعاب، هذا الفيديو هو أفضل مكان للبداية.

تعلم الذكاء الاصطناعي "Artificial Intelligence"

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

تعلم الأمن السيبراني "Cybersecurity"

لتتعلم مجال الأم السيبراني تستطيع البدء بمشاهدة فيديو المهندس غريب الشيخ بعنوان كيف تتعلم مجال الأمن السيبراني؟.

ملاحظة: إذا كنت تجيد الإنجليزية تستطيع أيضا أن تتعلم من مصادر إنجليزية بجانب المصادر العربية العربية ممتازة كأساس والمصادر الإنجليزية سوف تضيف لك معلومات جديدة، وهذا لا يعني أنك لا تستطيع التعلم بدون اللغة الإنجليزية.

إيجابيات وسلبيات تعلم البرمجة ذاتيا

في الواقع تعلم البرمجة بشكل ذاتي له العديد من السلبيات والإيجابيات مقارنة بتعلم البرمجة بشكل أكاديمي:

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

الشعور بالوحدة في الغالب سوف تشعر بالوحدة في منتصف الطريق أو ربما في أول الطريق؛ بسبب عدم وجود رفاق لك في هذا الطريق الطويل لذلك البحث عن صديق يتعلم معك هو خيار موفق، ولكن ربما ليس لديك صديق يتشارك مع هذا الاهتمام لذلك أنشنا قناة على تيليجرام كمجتمع للمتعلمين تستطيع أن تعثر على رفيق لك، أو على مساعدة من هناك (Telegram)

أهمية إدارة الوقت في تعلم البرمجة بجانب الدراسة

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

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

تعليقات



حجم الخط
+
16
-
تباعد السطور
+
2
-