Last updated on July 9, 2019
التعلم بشكل عام يعتبر مهمة شاقة، على الأقل بالنسبة لي، فما بالك بتعلم البرمجة!! لذلك الأفضل للطالب أن يملك حافزا وهدفا واضحا ومحددا يبتغي الوصول إليه من خلال تعلم البرمجة. فبسبب صعوبة عملية التعلم، والوقت الذي يقضيه الطالب أثناء التعلم، يتسلل الملل إلى عقله وقلبه ليستسلم لاحقا ويترك التعلم. لكن عند وجود هدف واضح وصريح ومحدد المعالم والخطوات يصبح هناك حافز لديك لتصل لهدفك.
تختلف عملية التعلم بحسب اختلاف الأهداف، فمن يتعلم ليصبح خبيرا بمجاله يحتاج إلى خطة تعلم مختلفة عمن يريد التعلم بدافع الفضول أو التعلم ليأخذ فكرة عن الموضوع أو التعلم حتى يتمكن من حل مشكلة تواجهه في اختصاصه الأصلي. يبقى المشترك بين جميع هؤلاء هو وجود الحافز والإرادة ووجود خطة واضحة مع الخطوات والهدف النهائي. بدون هذه العناصر تفشل عملية التعلم قبل أن تبدأ.
فلنفرض مثلا أن أحمد خريج كلية الآداب ويحاول إيجاد عمل ولا يستطيع. هنا نجد أنه يملك حافزا رئيسيا وهو الوصول إلى وظيفة تمكنه من دفع مصاريفه على الأقل. وهذا هدف واضح وقوي بالنسبة لشاب عاطل عن العمل ويملك مؤهل جامعي. ولكن أحمد لا يعلم أننا نعيش في عصر المنافسة المفتوحة والسوق أصبح عالمي وغير محدود بمنطقة أو إقليم بوجود الإنترنت. فهو حدد منطقة بحثه في منطقته فقط ونسي أن الانترنت بابك للعالم كله. أحمد يمتلك ميزة مهمة وهي مؤهله الجامعي، فهو صاحب اختصاص ويملك معلومات عن اختصاص بعينه وفي حالتنا هو اللغة العربية مثلا.
أثناء تصفحه الانترنت، على جواله، كان يقرأ على موقع للأخبار فلاحظ وجود أخطاء إملائية كثيرة في المقال. بحكم دراسته أصبح لا يرى إلا الأخطاء الإملائية في المقالات التي يقرأها. فقرر أن يبحث عن عمل كمدقق إملائي. نعم هو عمل لا يكسب الكثير من ورائه ولكنها بداية جيدة، بدأ أحمد بالعمل كمتطوع في إحدى المجلات المحلية ليكسب بعض الخبرة ويؤسس شبكة معارف محلية.
كان عمله مرهقا لعينيه ومملا قليلا إذ أن أغلب الأخطاء التي يصححها كانت عبارة عن إضافة الكاتب لمسافة قبل الفاصلة أحيانا وإضافة مسافة بعد الواو عندما تكون لوحدها وغيرها، لا نحتاج لتفصيلها في هذا المقال. فقرر أن يجعل بعض التصحيحات تتم بشكل آلي من خلال الكمبيوتر ولكن كيف؟
الهدف النهائي بالنسبة لأحمد هو أتمتة بعض قواعد التصحيح حتى يكون أكثر إنتاجية في عمله، فقد حصل أحمد على عمل جديد كمدقق ولكن بأجر زهيد لعدم وجود خبرة كافية. هو يملك المعرفة والقواعد ولكن لا يعرف الوسيلة للوصول لغايته. بعد بحث وسؤال قرر تعلم البرمجة ليصنع لنفسه برنامجا يحل له هذه المشكلة ويزيد من إنتاجيته وكفاءته بنفس الوقت. نلاحظ أن أحمد يملك الآن الحافز والهدف الواضح ولكن تنقصه الخطوات!
عندما عاد من عمله إلى المنزل قرر قراءة كتاب عن كيفية وضع الخطط وقياس فعاليتها، وبعد انتهاءه من الكتاب وتشرب أفكاره إنكب على تقسيم عملية التعلُم إلى مراحل واضحة المعالم وتقاس بعدد أيام محدد لكل مرحلة. في البداية كان على أحمد اختيار لغة يستطيع التواصل بها مع الكمبيوتر فكان أما خيارين بايثون أو جافاسكريبت وشخصيا أنصح المبتدئين بتعلم إحدى اللغتين كبداية. المهم في النهاية قرر تعلم جافاسكريبت في تصنيع برنامجه. وبدأ في إعداد خطته لتكون كالآتي:
ـ فهم البيئة التي يحتاج إلى إيجادها قبل أن يبدأ باستعمال اللغة. ماذا نعني بذلك؟ كل لغة تحتاج لتسطيب أدوات معينة حتى تستطيع العمل على جهازك. في حالتنا مثلا يحتاج لمحرر نصوص يمكن أن يكون نودباد كبداية (Notepad ++). وحتى يستطيع أحمد العمل بشكل سلس على هذه الأدوات لتنفيذ خطته، قام بتحديد مدة (٤ أيام) لتسطيب وفهم أساسيات هذه الأدوات.
ـ تعلم إظهار أول جملة على شاشة الأوامر (Print hello world). (١ يوم)
ـ تعلُم المتغيرات (Variables) وأنواعها (Types)، وتطبيق عمليات حسابية بناءً على استعمال المتغيرات. ثم التركيز على الأنواع التي تهمه في مشروعه. (٧ أيام)
ـ تعلم كتابة “طريقة” (Methods) وكيفية استعمالها. (٣ أيام)
ـ تعلم قراءة نص موجود داخل ملف في الجهاز، بناء على امتداد معين(TXT extension). (٣ أيام)
ـ تعلم كتابة نص داخل ملف بامتداد معين. (٢ أيام)
ـ تعلُم تحديث (Update) هذا النص. (٣ أيام)
ـ تعلم استخدام مايسمى التعبيرات النمطية(Regex). (٣ أيام)
خطة مثل هذه كفيلة بأن توضح الطريق للوصول للهدف، وقياس التقدم كل يوم. والأهم من الخطة هو عدم التشتيت أثناء تنفيذها، فعلى أحمد أن يتعلم ما يهمه فقط ولا يوسع دائرة تعلمه في البداية حتى لا يتشتت ويمل من كثرة المعلومات ومن ضخامة الجزء المجهول، بالنسبة له، لهذه اللغة. مع قليل من النظام والكثير من الإرادة استطاع أحمد أن ينهي خطته خلال ٣٠ يوم ليتمكن من الاطلاع على أساسيات اللغة والنجاح بكتابة برامج صغيرة. أحس بمتعة كبيرة حينما استطاع كتابة أول أمر له، وكانت دافع له ليستمر بتنفيذ خطته. ملَكَ أحمد أساسيات اللغة ووضع نفسه على الطريق الصحيح التي تمكنه من تحقيق هدفه الرئيسي وهو برنامجه الذي سيساعده في عمله ويزيد من إنتاجيته. وأصبحت الوسيلة واضحة المعالم والطريق التي سيسلكها كذلك.
في النهاية، تمكن من تعلم مهارة جدا مهمة في سوق العمل المحلي والعالمي، مهارة تميزه عن زملائه في المهنة وتساعده على الإنتاجية أكثر وتفتح له أبواب أخرى لم تخطر على باله سابقا. فعند انتهائه من صنع برنامجه الرئيسي، استطاع أحمد أن يوفر على الأقل ٦٠% من وقته في التدقيق وبهذا استطاع زيادة عدد النصوص التي يستطيع الانتهاء منها وبالنتيجة زيادة مدخوله. يستطيع أحمد التعريف عن نفسه كصانع برامج و مدقق إملائي مما يجعل له اسم براق وقوي في السوق.
هذا مجرد مثال لشخص يملك مؤهل جامعي، ولكن تعلم البرمجة لا يتطلب مؤهل جامعي، لذلك هو مجرد مثال لتوضيح الفكرة. إن البرمجة يمكنها أن تغير من حياتك وتزيد من تميزك بمحيطك وتفتح لك أبواب لم يكن بإمكانك طرقها سابقا. لذلك إني أدعو كل شخص أن يهتم ولو قليلا بالبرمجة وأن يتعلمها أو على الأقل يتعرف عليها فهي حاليا داخل كل منزل وداخل كل شاشة ابتداء من الثلاجة وانتهاء بالصواريخ. ويمكن المزج بينها وبين اختصاص آخر كالزراعة والصناعة والمحاسبة، الإدارة والصحة وكل ماتريده.
Be First to Comment