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