عاوزة اعرف برمجة واتعلم مع نفسي .....

إجابة سؤال على ASk :

عاوزة اعرف برمجة واتعلم مع نفسي بس انا ماعرفش عنها حاجة ممكن تدلني وهكون محتاجة برامج ايه تكون على جهازي…


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

من الممكن تقسيم الموضوع لــ 4 أجزاء

لماذا نتعلم:

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

ماذا سنتعلم:

كما وضحت البرمجة موضوع واسع جدًا ومتفرع، ولكن في البداية أرشح تعلم HTML و CSS فهي لغات بسيطة في التعلم وتفاعلية أكثر وستشاهدين نتيجة التعلم بشكل سريع، والهدف هنا في البداية هو معرفة ما هي الكود وكيف أنه بكتابة أكواد بسيطة من الممكن عمل موقع بسيط، وبعد ذلك من الممكن أن يكون العمل بهذه اللغات بشكل كبير كتخصص، أو أنكِ ومع الممارسة والقراءة المستمرة والتعلم سوف تتفتح أمامكِ تخصصات أخرى ولغات لتعلمها، مثل Ruby ، و Python و Java، وطبعًا للتمكن بشكل كبير من البرمجة بهذه اللغات، يجب دراسة فروع أخرى من العلم كالخوارزميات والرياضيات المتقطعة (Discrete Math) وهكذا (لست متخصصا في هذه الجزئيات ولكن مررت عليها في مساري السابق). أيضًا تعلم الانجليزية مهم لأن معظم مصادر التعلم غير عربية، ولكن إذا لم تكن الانجليزية جيدة كمعظمنا، فالتعلم بشكل موازي مع البرمجة من خلال الاستعانة بجوجل الترجمة وسماع المحاضرات وهكذا، ومع الوقت سيتم استيعاب كل المواد المقروئة أو المسموعة إن شاء الله

مصادر التعلم:

على حسب ما سنتعلمه بالتأكيد سنختار مصادر التعلم، هذه بعض المواقع التي تقدم كورسات للتعلم

https://www.codecademy.com/

https://www.khanacademy.org/computing/computer-programming

https://www.udacity.com/

أدوات التعلم:

الأدوات بسيطة في البداية، فقط برنامج تحرير للأكواد، وإذا كانت البرمجة للويب، فمتصفح للويب، مثل الفايرفوكس أو جوجل كروم

محرر للأكواد ممتاز جدًا https://code.visualstudio.com

أشياء أخرى:

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

هذه مقالة كتبتها ستكون مفيدة إن شاء الله https://oktob.io/posts/735

وهذا مقال بشكل عام عن التطوير والتعلم https://oktob.io/posts/341

مقال مهم عن تعلم البرمجة في عشر سنوات :)

http://norvig.com/21-days.html

وهذا رابط لترجمة المقال http://myahya.org/writing/21-days/

والله المستعان