كيفية-تعلم-البرمجة

كيفية تعلم البرمجة: نصائح وأدوات لرحلتك في عالم البرمجة

كيف تتعلّم البرمجة: نصائح وأدوات لرحلتك في عالم تعلم البرمجة

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

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

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

العبرة من القصة هي أنه عليك أن تكون مستعدًا. إن الطريق إلى رحلة البرمجة هو طريقٌ طويل، وبدون العقلية الصحيحة في البدء، سوف يفقد الطريق بريقه بسرعة.

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

ما يجب توقعه في طريقك لـ تعلم البرمجة

قد يبدو الأمر بديهيًّا، ولكن أول أمر عليك إدراكه هو أن البرمجة في جوهرها موضوعٌ تقني. المهارات التي ستكتسبها في البداية ستتطلب الكثير من “الدّقة” و “الصحة” ومحاولات المراوغة لن تفيدك إطلاقًا. عليك أن تتعلم قليلًا من الرياضيات، وكذلك الكثير من الأمور التي قد “تبدو” وكأنها رياضيات، مثل المنطق العمليّاتي.

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

إن منحنى تعلم البرمجة أكثر ما يكون انحدارًا في بدايته. هناك كمية كبيرة من الأساسيّات التي عليك استيعابها، وذلك يتضمن الأجزاء المختلفة من لغة البرمجة (التعابير expressions، المُتغيّرات variables، أنماط البيانات data types، العمليات operators، الحلقات loops، الجمل الشرطيّة conditional statements، التوابع functions، الأصناف classes)، والتقنيات لفهم كم من الوقت والذاكرة سيستخدم حاسوبك لتنفيذ نصك البرمجيّ (درجة التعقيد). ستكتب الكثير من البرامج التي لن تعمل في أول مرة، وبالتالي ستتأقلم مع كابوس كل مُبرمج: التّنقيح debugging.

عند تعلّمك كيفيّة كتابة البرنامج، ستصبح قادرًا على تعلم كيفيّة كتابة برنامج جيّد. إن كتابة برنامجٍ فعّال، سهل الفهم والقراءة ومن السهل تطويره، هو فنّ، وهذا أمر يتطوّر بشكلٍ مستمر. سوف تتمكن من البدء باستكشاف فلسفات برمجيّة وتنتقل من مجرد كونك “مُبرمج” إلى “مهندس برمجيّات”. وهذه عملية تتطلب أيضًا الكثير من الوقت والتدريب، ولكن كلما تفوّقت في ذلك، فُتحت أمامك فرصٌ أكثر.

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

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

1. قم باختيار وجهتك: اختر لغة، أية لغة برمجة لا يهم!

إن كنت جديًا في موضوع تعلم البرمجة، فلن يُهم كثيرًا أية لغة تختار، حيث تحمل معظم لغات البرمجة الرائجة نفس المفاهيم الأساسية، وعندما تتمكن من البرمجة في اللغة التي تعلمتها في البداية، سيكون من السهل أن تتعلم لغة أخرى بسهولةٍ أكبر. إن كنت تتعلم البرمجة ضمن برنامج جامعي، أو ما شابه، فمن المرجح أن يتم اختيار اللغة بالنيابة عنك.

بكل الأحوال، إن لم تكن تعلم تمامًا ماذا تريد القيام به على المدى البعيد، هناك خمسة لغات فقط أنصح بالتفكير بها، وهي تحقّق توازنًا بين سهولة التعلم، تعدد استخدامات المعرفة التي ستكتسبها، والمجال الواسع من فرص العمل على المدى الطويل: Ruby، JavaScript، Python، C و Java.

وهذه ملاحظاتٌ عامّة عن كل لغة لتساعدك على الاختيار:

اللغات المفسرة

من الأسهل البدء باللغات المفسّرة Interpreted Languages، وهذا لأنه يمكن تنفيذ النص البرمجي بمجرّد أن تتم كتابته، بينما تتطلب اللغات المجمّعة compiled languages، خطوة إضافية بين كتابة وتنفيذ البرنامج.

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

تستخدم عادة من أجلالمساوئالميزاتاللغة
تطبيقات الواجهة الخلفية Backendألق نظرة على Ruby on Rails– قد تؤدي المرونة الزائدة إلى كثير من الغموض حول ما يتم فعليًا- الأداء البطيء يجعلها غير مناسبة للتطبيقات المتقدمة.– قواعد كتابة شديدة المرونة.- سهلة البدء بها.- الطلب العالي عليها يؤمن الكثير من الوظائف.Ruby
– تطبيقات الواجهة الأمامية، انظر  React,Angular, Ember, jQuery .تطبيقات الواجهة الخلفية ، انظر Node.js .– قواعد الكتابة المعقدة قد تجعلها مُربكة أحيانًا.- تشكل تحدي للمبتدئين أكثر من Ruby و Python.– الخيار الوحيد لتطبيق مُضمّن في المتصفح.- ضرورية لكل موقع حديث.- الطلب العالي جدًا يؤمن وظائف كثيرة بمرتبات          JavaScript        
– تطبيقات الواجهة الخلفية، انظر Django.- البحث العلمي والأكاديمي، انظر . SciPy.– الأداء البطيء يجعلها غير مناسبة للتطبيقات المتقدمة.- قابلية منخفضة للتوّسّع Scalling، تصميم اللغة يجعلها غير مناسبة للبرامج الضخمة.– أنيقة، قواعد الكتابة فيها محبوبة من طرف ممارسيها.- سهل البدء فيها.Python

اللغات المجمعة Compiled Languages

بعد أن يتم تجميع النص البرمجي، يتم تحويله من نصٍ برمجي يمكن قراءته من قبل البشر إلى نصٍ أمثل للآلة، قبل أن يتم تنفيذه. وتكون النتيجة أسرع وأكثر فعاليّة من اللغات المفسرة. والمجمّع (compiler) الذي يقوم بذلك، عليه كجزء من وظيفته أن يتأكد من أن كل ما في النص البرمجي “منطقي”، وبالتالي يستطيع أن يتعرف ويمنع أنماطًا عديدة من الأخطاء التي تكون اللغات المفسرة عُرضة لها.

ولهذا السبب من الصعب اللوذ بالأخطاء أو البرامج السيئة مع هذه اللغات. كما ستُجبرك على اكتساب فهمٍ أعمق لما يجري فعلًا “تحت الغطاء”، وستتعلم أكثر بكثير عن كيفيّة عمل الحاسوب. والثمن، هو أن هذه اللغات تتطلب الكثير من الجهد، وتشكل تحديًا أكبر للمبتدئين.

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

تستخدم عادة من أجلالمساوئالميزاتاللغة
– أنظمة التشغيل.- ألعاب الفيديو المتطورة.- النظم المضمنة.- علم الروبوت والذكاء الصنعي. غالبًا الأكثر صعوبة للتّعلم في هذه القائمة. – بإمكانها توفير أداء أفضل أي من اللغات عالية المُستوى.- أكثر اللغات التي ستعلمك كيفية عمل الحاسوب.        C           
– تطبيقات المشاريع الضخمة.- تطوير الويب.- تطوير تطبيقات الأندرويد.– قواعد الكتابة المعقدة قد تكون مرهقة للقراءة والعمل.- يعتبرها الكثيرون قديمة الطراز، غير مرنة وشعبيتها آخذة بالانخفاض.– بشكل عام، اللغة الأكثر استخدامًا.- صرامة الكتابة تفرض طريقة تفكير واضحة وفعّالة.Java 

HTML و CSS ليست لغات برمجة

يجب الإشارة إلى أن HTML و CSS المستخدمة في كل صفحات الويب التي سبقت لك زيارتها ليست بلغات برمجة. إنما هي لغاتٌ وصفية presentational languages، تستخدم لتحديد كيف يجب أن تبدو الأشياء وماذا يجب أن تتضمن، ولكن لا تحدد كيف يجب أن تتصرف. ولكنها قد تكون مكانًا جيدًا للبدء لأنها سهلة التعلم، وستعلمك كيف تقوم بطباعة الأشياء بشكلٍ صحيح. وإذا كنت تنوي الخوض في مجال تطوير الويب عليك تعلمهما بأي حال من الأحوال.

2. ابدأ تدريجياً و بخطوات صغيرة

التعلم سيأخذ وقتًا، وهنالك الكثير ليتم استيعابه. إذا حاولت بناء تطبيقٍ كامل في يومك الأول، لن تصل إلى نتيجة!!!

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

على سبيل المثال، إن أول برنامج يتم كتابته عند تعلم أي لغةٍ جديدة هو برنامج “Hello, World !” (مرحبا بك بالعالم) والذي يقوم ببساطة بطباعة عبارة “Hello, World !” على الشاشة. وفي معظم لغات البرمجة من المستحيل كتابة برنامجٍ أبسطَ من ذلك. ووضوحًا لا يقدم هذا البرنامج الكثير من الفائدة، ولكنه يستلزم العديد من أساسيات اللغة لكتابته، فهو مثاليٌ لتتعرف على كيفية الكتابة في هذه اللغة.

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

3. كن صبوراً ومُتحدياً

قد تشكل المفاهيم الجوهرية للبرمجة تحديًا حقيقيًا. ومعظمها لا يكون بديهيًا إن لم تكن تعلم كيف يعمل الحاسوب بشكلٍ مُعمّق.

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

تعلم-البرمجة
كن صبوراً عند تعلم البرمجة

سيحصل هذا الأمر معك، ويدفعك إلى الجنون. ولهذا فإن أحد عوامل النجاح هي أن تكون صبورًا، ولا تقسُ على نفسك. وتوصي بعض أفضل النصائح في هذا الموضوع أن تركز على العملية وليس الأهداف. فإن قمت بالتركيز على الهدف النهائي (“أريد بناء موقع في نهاية الشّهر القادم”) سوف تشعر بالإحباط، وبأنك فاشل. بينما من خلال السماح لنفسك أن تأخذ كل الوقت اللازم لتحرزَ تقدمًا، سوف تحقق نجاحًا أكبر.

4. تدرب تدرب ثم تدرب

ومثل أية مهارة، سوف يتحسّن مستواك من خلال التدريب. لا يوجد شيء مماثل للجهد المبذول في شيء في سبيل تعلم القيام به. حتى لو خصصت بضعة ساعات أسبوعيًا، إن استمريت بالتدرب بانتظام، سوف تتمكن، يومًا ما، من كتابة البرامج. في النهاية سوف تكتسب حدسًا للأمور، وسيصبح أمرٌ تطلب منك يومًا كاملًا في البدء (مثل البحث عن خطأ ما)، يأخذ فقط بضع ثواني.

حين تشعر أنك تمكنت تقريبًا من أساسيات البرمجة، فإن البدء بمشروعك الأول هو طريقةٌ رائعة للتدريب. فكر بتطبيقٍ بسيط ترغب ببنائه، مثل قائمة مهام، أو برنامج آلة حاسبة (مجددًا، ابدأ بشكل صغير)، وجرب القيام به. سيعلمك ذلك كيف تحل مشاكل هيكلية وتصميمية، وبناء أجزاء مختلفة تعمل معًا بشكل جيد. هذه هي المهارات الأساسية التي ستخولك أن تعتبر نفسك مبرمجًا.

المراجع لتعلم البرمجة (أين تذهب)

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

التعليم المنظم (ذو هيكلية)

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

شهادة جامعة رسمية

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

هذه الأمور التي ستتعلمها غالبًا بشكلٍ معمّق خلال أي برنامج جامعيّ محترم، والذي قد يصعب العثور عليه في أي مكان آخر للتدريب.

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

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

الورشات المكثفة Bootcamps (دوراتنا في فرحات-ميديا)

ظهر مؤخرًا ما يدعى بـ “الورشات المكثفة” لتلبية حاجات أولئك الذين لا يملكون الوقت أو الموارد للحصول على شهادات جامعية، ولكنهم مستعدون للعمل بجدّ والحصول على الحد الأدنى للبدء بحياة مهنية في تطوير البرمجيات. ومن حيث الكلفة والالتزام المطلوب، تقع الورشات المكثفة بين الشهادة الجامعية وخيارات التعليم الذاتي التي سنتحدث عنها بعد قليل.

تمتد هذه الورشات بين 8-12 أسابيع من الدراسة المكثّفة وتكلّف حوالي 10،000 US$. يتم تغطية كمية كبيرة من المواد خلال وقت قصير، ستُضطر خلاله بالتضحية بكل التزاماتك الأخرى. ولكنها تَعِدك بتَحضيرك لتصبح قادرًا على تطوير برمجيات بما يناسب العالم الحقيقي، ووضعك على طريق سريع لحياة مهنية في البرمجة. معظم الورشات تحاول تأمين وظيفة لك فور تخرجّك أو تساعدك للحصول على الوظيفة.

وهي ظاهرة حديثة. بالتالي من الصعب قياس معدل نجاحهم، وما زال على العديد منهم تطوير سجلٍ مُثبت لتأمين وظائف لخرّيجيهم. وبعد قول ذلك، لا يمكن أن نتوقع إلا أن تتحسن البرامج المتوافرة حاليًا في ظل نمو هذه الظاهرة. طالما تقوم بالبحث بحذر، قد تجد أن هذا الخيار مثاليٌّ بالنسبة لك.

معظم الورشات المكثفة هي برامجٌ محليّة، فعليك البحث عن ما هو متوافرٌ في منطقتك.

التعلم شبه المهيكل

تتزايد المصادر المتوافرة يوميًا لأولئك الذين يعملون بالشكل الأفضل مع عنصر من التنظيم، والإرشاد، ولكن لا يملكون الوقت أو الموارد للالتزام في برنامج جامعيّ، أو ورشة مكثّفة. تتوافر هذه الخيارات عادة كليًا على الإنترنت، والعديد منها هو مجانيٌّ بشكلٍ كامل. ونظرًا لتزايد الطلب على هذه الخدمات، فقد تطورت هذه الأدوات بشكل كبير من حيث التعقيد والقيمة المُقدمة. قادت معظم هذا التطور طبعًا مساقاتٍ MOOCs في تطوير البرمجيات، حيث يقدم تعلّم وتعليم البرمجيات من خلال برمجيات فوائدَ واضحة.

مساقات على الإنترنت مفتوحة وضخمة MOOCs

إن هذه المساقات هي مصادرٌ هائلة، وتقدم خطواتٍ كبيرة في مجال المساواة وكلفة التعليم. فهي تقدم معظم هيكلية وإرشاد صفوف أعرق جامعات العالم، بشكل مفتوح، في أي مكان، لأي شخص يملك اتصالًا بالإنترنت. والعديد من هذه المساقات مجانيٌّ كليًا، بالرغم من أنه مع مبلغٍ إضافي (وتعهد بالدراسة)، يمكن الحصول على شهادة مُكتسبة للعديد من الصفوف، بشكل مكافئ لشهادة الجامعة.

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

يجب أن تعلم، أن هذه المساقات تجري متابعة مكافئة لتلك التي تجدها في الجامعة، لذا كن مستعدًا للعمل بجد لاجتيازها.

مواقع تعليمية إرشادية

إن كنت تحب الهيكلة والإرشاد ولكنك لا تحبذ المواعيد النهائية، هنالك العديد من المنصات التي تقدم تدريب “خطوة بخطوة”، باستخدام عدة طرق بعضها يستخدم الفيديوهات التعليمية، وأخرى النصوص. يتضمن العديد منها محررات تفاعلية للنصوص البرمجية كي تتدرب ضمن متصفحك. تعطيك هذه مرونة للعمل وفق السرعة التي تختارها، سواءٌ كان ذلك بمعدل نصف ساعة يوميًا، أو عشر ساعات في عطلة نهاية الأسبوع.

في حين تطلب العديد من هذه المنصات رسوم اشتراكيّة للوصول إلى محتواها، تقدم معظمها فترةً تجريبية بحيث يمكن البدء بها فورًا، وتقرر بعد ذلك إن كانت تناسبك أم لا.

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

التعليم غير المهيكل

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

مواقع للتدريب

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

الفيديوهات

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

  • MIT OpenCourseWare
  • Stanford University Lecture Series

الكتب

حتى مع كل الروائع التي تقدمها التكنولوجيا، مازال البعض يفضل الاستغراق في قراءة كتاب للوصول إلى فهم أعمق للموضوع. إن كنت تحب التعلم بهذه الطريقة، فهناك الكثير من الكُتب المجّانية المتوفرة على الإنترنت مثل هذه القائمة List of Free Learning Resources.

في الختام

نهاية-تعلم-البرمجة
للتعلم فرحة لا يعلمها إلا من جرّبها! فهي رحلة!

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

Comments are closed.