تعلم البرمجة من الصفر( الخوارزميات+Web Development)




السلام عليكم 

موضوعنا اليوم عن تعلم البرمجة وسيكون المقال مفصلاً ومفيداً باذن الله 


أولاً  أشياء يجب ان تعرفها قبل البدء في البرمجة


*الخوارزميات*





وهي الخطوات المنطقية المرتبة التي تتبعها لحل مشكلة معينة 

البرنامج هو عبارة عن اداة لحل مشكلة معينة 

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



* دورات تعلم الخوارزميات *


دورة ثانية


دورة ثالثة





                              UX Design  و  UI Design 



** UX Design **

تصميم تجربة المستخدم 
هو الشخص الذي يهتم بالطريقة التي سينظر بها المستخدم لمنتجك (موقع او تطبيق) من الناحية التقنية 
سهولة الاستخدام وتوافر الخدمات التي يبحث عنها وسهولة التعرف على ما يقدمه الموقع من خدمات وهكذا اماكن الازرار والصور والمقالات ومحتويات المنتج وينظمها بالطريقة الافضل بالنسبة للمستخدم

  ** UI Design **

تصميم واجهة المستخدم 
هو الذي يهتم بالمنتج من الناحية الجمالية 
الالوان وتناسقها وتوافق الوان الازرار مع وظيفتها والخطوط المناسبة للاستخدام وهكذا

** قواعد البيانات **

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


بعض الاسئلة المكررة والمهمة ويتم سؤالها دائماً  
* هل يجب ان اتعلم الرياضيات ؟ 
 الحاسوب يعتمد على الرياضيات كمبرمج انت لست مطالبا ان تكون خبيرا في الرياضيات يكفي ان تعرف الاساسيات 

* ما هي افضل لغة برمجة ؟ 
لا يوجد كل لغة لها مميزاتها واستخداماتها 
افضل لغة برمجة في مجال ما هي اللغة التي تستطيع انت بها ان تفعل ما تريد 
هذا يختلف من مبرمج لآخر ربما انت تستطيع القيام بكل شئ تريده باستخدام السي شارب وغيرك يفعل كل شئ بالسي بلس بلس 

* ما اللغة التي ابدأ بها ؟ 
كل مجال له مسار تعلمه ذلك اولا حدد المجال الذي تريده ثم سر مع المسار المخصص له 
* متى اعرف اني انتهيت من لغة ما ؟ 
لا يوجد نهاية للغة البرمجة التكنولوجيا تتطور كل يوم وتظهر اشياء جديدة 

السؤال يجب ان يكون 
* متى اعرف اني صرت محترفا في لغة ما ؟ 
عندما تستطيع ان تنفذ اي فكرة تأتي ببالك او على الاقل 90% منها 
الطريق للأحتراف طويل لكنه ليس مستحيل 
نفذ مشاريع وافكار عديدة ستواجهك مشاكل واشياء لن تقدر على حلها 
هكذا تأتي الخبرة في اي مجال 
فكر...طبق...ابحث...اكتسب خبرة...مبروك عليك الاحتراف 

* ما هو المجال الافضل ؟ 
هو المجال الذي تحبه وتريد العمل به 
لا يوجد مجال افضل من الاخر كل مجال له دوره 

* ما هو المجال الأكثر طلبا في سوق العمل ؟ 
جميع المجالات مطلوبة سواء في الشركات او في مواقع العمل على الانترنت العمل الحر Freelance 

شرح Web Development
** Web Design **
هو شخص يقوم بعمل UI في مجال الويب يقوم بتصميم الموقع بالفوتوشوب وغيره 
يحتاج الى معرفة ب HTML & CSS معرفة بسيطة عنهم ليعرف امكانياتهم ولا يضع في التصميم شئ لا يمكن عمله بهم مما يصعب الامر على front end developer

** Front End Developer **
وهو المسوؤل عن تحويل التصميم من تصميم بالفوتوشوب الى تصميم بالاكواد في هذا القسم تحتاج الى تعلم التالي 
* HTML وهي اللغة المستخدمة في بناء محتويات صفحات الويب 
* CSS وهي اللغة المستخدمة في تنسيق عناصر ومحتويات صفحة الويب 

* بعد تعلم HTML & CSS يأتي الدور على تعلم JavaScript وهي اللغة التي تضيف الطابع الديناميكي الى الموقع وتجعله يستجيب للمستخدم مثل التنبيهات التي تظهر للمستخدم وغيرها 
بعد ذلك تعلم الاصدارات المتقدمة HTML5 & CSS3 
هذه هي اللغات الثلاث الاساسية في تصميم المواقع 
تحتاج الى تعلم اشياء اخرى لتسهل عليك العمل 
* jQuery وهي مكتبة من مكتبات الجافا سكربت تسهل وتختصر اكواد الجافا سكربت وتقدم مميزات رائعة 
* Bootstrap وهو اطار عمل يقدم لك محتويات بتنسيقات جاهزة توفر عليك الكثير من الوقت والجهد واكواد HTML & CSS ويساعدك في بناء responsive websites وهي المواقع التي تستجيب لابعاد الشاشات فتغير ابعاد محتواها وترتيب العناصر داخلها وتنسيقها بناءا على حجم الشاشة (اي يعمل الموقع على الحاسوب والموبايل بالتنسيق الكامل)
* Sass تقنية تمكنك من كتابة خواص css في شكل اكواد برمجية مثلا يمكنك وضع لون معين في متغير وتستخدم اسم المتغير بدلا من اللون وعندما تريد تغيير اللون في الموقع كله تغير فقط قيمة المتغير وامكانيات اخرى مفيدة 
* Angular js هي مكتبة من مكتبات الجافاسكربت وتساعد كثيرا في التصميم والبرمجة

جميع الدورات في قناة الملك الاستاذ أسامة الزيرو

* Angular 4 *

دورة ثانية 




< Back End Developer >

وهو المسوؤل عن العمليات التي تتم وراء الكواليس ولا يراها المستخدم العمليات التي تتم بين الموقع والسيرفر مثل ارسال واستقبال البيانات التي يدخلها المستخدم والمعلومات التي يريدها 

 تحتاج الى 

1 - معرفة ب HTML & CSS & JavaScript لكي تعرف ما تتعامل معه وتبرمجه 
لا تحتاج الى معرفة عميقة بهم مثل Front End Developer 

2 - تعلم احدى اللغات الاتية 
* PHP لا تحتاج تعلم شئ قبلها 
* Java EE وقبلها تتعلم جافا 
* ASP.Net وقبلها تتعلم سي شارب 
* Django وقبلها تتعلم بايثون 
* Ruby On Rails وقبلها تتعلم روبي 

php هي لغة برمجة مخصصة الباقي هو عبارة عن اطار عمل من اللغة المذكورة بجانبه يتعامل مع برمجة المواقع 



3 - احدى لغات قواعد البيانات DataBases 

- لغات البرمجة وقواعد البيانات الاكثر توافقا معها 
* PHP --> mySQL 
* Java SE --> Oracle 
* ASP.Net --> Sql Server 
* Django --> Oracle 


4 - تعلم بعض التقنيات التي توفر لك مميزات رائعة مثل Ajax 

تعلم Wordpress:وهو نظام ادارة محتوى يعمل ب PHP يساعدك في برمجة موقعك 

تعلم Laravel:وهو اطار العمل الاشهر والاكثر استخداما ل PHP 


يمكنك ان تختار اما front end واما back end 
ويمكنك ان تختار الاثنين وعندها تكون Full Stack Web Developer 


*الدورات التعليمية*




* PHP*



دورة ثانية



* Java EE *


دورة ثانية

دورة ثالثة


دورة ثانية

دورة ثالثة

دورة رابعة



شارك الموضوع

إقرأ أيضًا