السلام عليكم
اريد ان أتعلم البرمجة وتصميم المواقع .. هل ابدأ في كورس cs50 وبعد كده php ؟ وشكراً
لا يمكن تعلم البرمجة بشكل عام ما لم تحدد هدف/مجال معين لتعلمه، ومن الجيد أنك قمت بعمل هذه الخطوة وإخترت تعلم برمجة وتطوير المواقع. مجال تطوير المواقع ينقسم إلى قسمين رئيسيين وهما تطوير واجهات المستخدم Frontend وتطوير الواجهات الخلفية Backend، وهنا شرح مبسط عن كلٍ منهما:
لذلك يجب أن تتعلم بعض التقنيات أولًا لكي تستطيع تعلم برمجة وتطوير المواقع، مثل HTML و CSS و JavaScript (إن أردت أن تكمل تعمل تطوير واجهات المستخدم Frontend)، ثم يمكنك أن تنتقل إلى تطوير الواجهات الخلفية من خلال أحد اللغات فقط (ليس عليك سوى تعلم أحد اللغات لتطوير الواجهات الخلفية على عكس تطوير واجهات المستخدم).
مطور واجهات المستخدم يسمى Frontend Developer بينما مطور الواجهات الخلفية يسمى Backend Developer، كما يمكنك تعلم كلا المجالين وحينها يكون المسمى الوظيفي لك هو Full-Stack Developer أي أنك تجيد التعامل مع المجالين.
بالنسبة لمصادر التعلم، فيمكنك أن تبدأ بدورة CS50X المجانية ولاحظ أنها تحتوي على نفس محتويات دورة CS50 المدفوعة لكن الفرق يكمن في الشهادة في النهاية، وهذه الدورة سوف تعطيك لمحة عن أغلب ما ستحتاجه في مجال البرمجة بشكل عام وتطوير المواقع بشكل خاص، لكن لاحظ أنك لن تبدأ في تطوير مواقع في هذه الدورة سوى في الأسبوع الثامن (تحتوي الدورة على عشر أسابيع)، وبعد الإنتهاء من الدورة أنصحك بالتعمق في اللغات والتقنيات الخاصة بالويب مرة أخرى، وذلك لأن هذه الدورة تعطيك لمحة فقط عن البرمجة بشكل عام، ولا تتعمق في كثير من التفاصيل.
ملاحظة: إن كنت تواجهة مشكلة يف اللغة الإنجليزية أو تريد دورة مشابهة باللغة العربية، فيمكنك أن تبحث عن "CS50 بالعربي" في اليوتيوب حيث يقوم الكثير من الأشخاص بشرح نفس محتوى الدورة ولكن باللغة العربية، وإن مصدر مدفوع أكثر إحترافية وباللغة العربية فأنصحك بدورة علوم الحاسوب المقدمة من أكاديمية حسوب:
بعد تعلم الأساسيات السابقة (سواء من دورة CS50 أو من اليوتيوب أو من دورة علوم الحاسوب)، يمكنك الإنتقال إلى تطوير الواجهات الخلفية وتعلم أحد اللغات (إن أخترت Python أو JavaScript فسوف يكون لديك خلفية مسبقة لأنك سوف تتعلم كلا اللغتين في دورة CS50 أو دورة علوم الحاسوب)، ثم الإنتقال لتعلم أحد إطارات العمل الخاص بهذه اللغة مثل إطار Laravel الخاص بلغة PHP أو Express.js الخاص بلغة JavaScript أو Django الخاص بلغة بايثون .. إلخ.
أنصحك أيضًا بعمل مشروع ولو صغير في كل مرحلة من المراحل السابقة لأن هذا الأمر سوف يقوي من إتقانك للتقنيات واللغات وسوف يرسخ المعلومات التي تحصل عليها من الدورات، بالإضافة لمعرفة فائدة بعض العناصر التي قد تبدو مجهولة الفائدة للوهلة الأولى.
إن أردت معلومات مفصلة أكثر ومزيد من الشرح عن كل مجالات البرمجة بشكل عام أو تطوير الويب بشكل خاص، فيمكنك الإطلاع على دليل حسوب الشامل لتعلم البرمجة:
التعليقات