التخطي إلى المحتوى الرئيسي

ما هي البرمجة ؟

ما هي البرمجة ؟

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

هل إذا تعلم الشخص لغة برمجية معينة ، أصبح مبرمجاً؟

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

الآن اسأل نفسك، لماذا تود تعلم البرمجة؟

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

اختيار لغة البرمجة

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

إذا لم تكن قادرا بعد على تحديد لغة برمجية للبدء بها ، يمكنك البدء بإحدى هذه اللغات :

  1. Python
  2. JavaScript
  3. #C
معظم المبرمجين ينصحون بتعلم إحدى هذه اللغات، لأنها سهلة، واستخداماتها واسعة. يمكنك إجراء بحث عن كل لغة من اللغات السابقة واختيار التي تراها مناسبة لك.
سنفرد مقال كامل عن لغات البرمجة الشهيرة واستخدامات كل لغة على حدة ، بالإضافة للمصادر التي تساعدك على التعلم.
تذكر أن المهم هو أن تبدأ. بعد أن تكمل تعلم أي لغة بشكل صحيح، ستصبح قادرا على تعلم أي لغة أخرى بكل سهولة.
طبعا هذا لا يعني أن تشتت نفسك وتنتقل من لغة إلى أخرى، لأن هذا لن يجعل منك محترفا في مجالك.

من أين أبدأ التعلم ؟

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

الدورات التدريبية

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

الكتب

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

مهارة حل المشكلات

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

الممارسة

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

لا تتوقف عن المحاولة

في طريقك لتحقيق هدفك ستجد العديد من التحديات، ولكن لا تستلم. ستنجح مرة ، وتتعلم مرة. كل خطأ سيزيد من معرفتك.
يجب أن تكون صبورا في طريقك للتعلم. إذا وجدت نفسك ضائعا، لا تستسلم! قم بالبحث وطلب المساعدة. ستجد من يساعدك دائما. يمكنك الاستفادة أيضا من المواقع التالية في حال كانت لديك أسئلة، هذه المواقع تحتوي على الكثير من الأسئلة البرمجية التي تمت الإجابة عليها مع الشرح الكامل، ويمكنك أيضا طرح سؤالك، ستجد بالتأكيد من يجيب عليك!
  1. Stack Overflow
  2. GitHub

تعليقات

المشاركات الشائعة من هذه المدونة

سكول فويس Schoolvoice

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

ما هوالفرق بين الشبكة والانترنت ,والانترانت , الاكسترانت , الشبكة العنكبوتية ؟

ما هوالفرق بين الشبكة والانترنت ,والانترانت , الاكسترانت , الشبكة العنكبوتية ؟ الشبكة : Network هي مجموهة مواد ومعدات معلوماتية متصلة ببعضها البعض وهناك الشبكة المحلية والشبكة الواسعة مدى الشبكات المحلية محدود في عدد الكيلومترات بينما تمتد الشبكات الواسعة الى مئات والاف الكيلومترات . من الامثلة الشائعة على الشبكات : ⇦ الانترنت. ⇦الانترانت. ⇦الاكسترانت. ⇦الشبكة العنكبوتية. ➤الانترنت : هو شبكة واسعة تغطي العالم بأسره. ويعتبر خدمة تقدم للمؤسسات والأفراد من خلال دمج تكنولوجيا المعلومات مع تكنولوجيا الاتصالات والاجهزة والبرمجيات . ➤الانترانت :عبارة عن شبكة حاسوب خاصة بالشركات والمؤسسات الحكومية والخاصة , حيث صممت هذه الشبكة لخدمة افراد الشركة او المؤسسة ,من خلال مشاركة الملفات والمعلومات داخل نطاق الشركة ,مع امكانية الاتصال بشبكة الانترنت ولكن تحت قيود . ➤الاكسترانت : هي مجموعة شبكات انترانت متصلة مع بعض . ➤الشبكة العنكبوتية : مصطلح يطلق على شبكة الانترنت التي تضم شبكة واسعة وغير محددة على مستوى العالم , تتيح لمستخدميها او المتصلين امكانية تبادل المعلومات بمختلف انواعها وفق بروتوكول واحد...

أفوائد استخدام التكنولوجيا الرقمية في ظل أزمة الكورونا .. مها الشهراني

أصبحت الحاجة ملحة لاستخدام التكنولوجيا الرقمية في ظل أزمة الكورونا   طي لماذا أصبحت الحاجة ملحة لاستخدام التكنولوجيا الرقمية؟ قدمت التكنولوجيا الرقمية مجموعة كبيرة من الميزات التي جعلتها تتصدر أي تفكير في تطوير العملية التعليمية، و جعلتها أيضا حلا للمشكلات التي نتعرض لها في وقت الأزمة (كورونا)، والنقاط الآتية توضح أهم ميزات أدوات التكنولوجيا الرقمية: 1- إمكانية استخدام أدواتها بسهولة وفي مختلف الأماكن حيث تتميز أدوات التكنولوجيا الرقمية الحديثة بكونها مناسبة من حيث حجمها، ابتداءً بالحاسوب الشخصي والمحمول (اللاب توب)، وصولاً إلى لأجهزة اللوحية (التابلت)، وانتهاءً بالهاتف الذكي، مما أنتج مرونة وسهولة في استخدامها لمختلف الظروف، فنستطيع من خلالها العمل في مختبر المدرسة ( الحاسوب الشخصي)، وفي الصفوف الدراسية الاعتيادية (الجهاز اللوحي)، وفي المكتبة ومختبر العلوم (اللوح التفاعلي – (LCD وفي المنزل بواسطة العديد من الأدوات، مثل (الحاسوب الشخصي – الجهاز اللوحي – الهاتف الذكي)،  بالإضافة إلى تميزها بسهولة الاستخدام والعمل من خلالها، ولا يخفى على أحد بأن هذه التط...