لنفرض أن ريم أنهت الثانوية بنسبة موزونة عالية، وفتحت بوابة القبول فوجدت أمامها ثلاثة عروض: علوم الحاسب في جامعة الملك سعود، ونظم المعلومات في جامعة الإمام محمد بن سعود الإسلامية، ومسار الأمن السيبراني في جامعة الأمير سلطان. وفي البيت كل شخص له رأي: أبوها يريدها «مهندسة» لأن اللقب له وزن، وصديقتها تقول إن الأمن السيبراني رواتبه أعلى، وابن خالتها الذي يدرس في الجامعة يقول إن المستقبل كله للذكاء الاصطناعي Artificial Intelligence وإن جامعته فتحت له بكالوريوساً مستقلاً، والمعلم الذي تثق به يقول لها جملة واحدة: «التخصص لا يهم كثيراً، المهم ماذا تتعلمين وماذا تبنين». وريم ليست وحدها، فهذا السؤال من أكثر الأسئلة التي تصلنا من الطلاب: أي تخصص تقني أفضل، وما الوظائف التي تأتي بعده، وهل يكفي أن أختار «الذكاء الاصطناعي» لأن الجميع يتحدث عنه؟
والمشكلة أن أغلب الإجابات المتداولة تعتمد على الانطباع: قائمة رواتب من حساب مجهول، أو تجربة شخص واحد، أو اسم التخصص نفسه، والأسماء هنا مضللة، فمسمى «مهندس برمجيات Software Engineer» في سوق العمل يحمله خريجو علوم الحاسب ونظم المعلومات وحتى الفيزياء، وبكالوريوس «الأمن السيبراني» في جامعة قد يكون مساراً داخل علوم الحاسب في جامعة أخرى. لذلك سوف نجيب في هذا المقال عن سؤال ريم من مصادر يمكن التحقق منها: ماذا تقول المناهج الدولية عن كل تخصص، وماذا تحتوي الخطط الدراسية في الجامعات السعودية فعلاً، ثم نعد ساعات المواد بأنفسنا ببرنامج صغير، ونقرأ بيانات حقيقية عن الوظائف التي يعمل فيها خريجو كل تخصص، ونختبر الرأي الذي سمعته ريم من معلمها: هل الوظيفة مرتبطة بالتخصص أم بالمهارة؟ وهذا المقال من مرحلة الأساسيات في مسار أساسيات الحاسب والبرمجة، وهو موجه للطالب الذي يختار، ولولي الأمر، ولمن يريد أن يغير اتجاهه بعد سنة أو سنتين.
وسوف نناقش في هذا المقال ما يلي:
- لماذا تتشابه أسماء التخصصات التقنية، وكيف تطورت من ثلاثة تخصصات إلى سبعة.
- تعريف كل تخصص بحسب تقارير المناهج الدولية Computing Curricula من ACM وIEEE، ومجالات المعرفة Knowledge Areas في كل منها.
- الفرق الحقيقي في المواد بين التخصصات بحسب جدول تقرير CC2020.
- ماذا تحتوي 27 خطة دراسية رسمية من سبع جامعات سعودية، مع مصدر كل خطة.
- تجربة عملية Lab: برنامج Python يعد ساعات المواد بحسب المجال، والمشكلات التي ظهرت في البيانات وكيف عالجناها.
- الاعتماد الأكاديمي ABET والاعتماد المهني من الهيئة السعودية للمهندسين، وأين يهم نوع البرنامج.
- أين يعمل الخريجون فعلاً، من بيانات Stack Overflow ومكتب إحصاءات العمل الأمريكي BLS والمنتدى الاقتصادي العالمي.
- الذكاء الاصطناعي: بكالوريوس مستقل أم مسار داخل علوم الحاسب، وماذا تطلب وظائفه.
- متى يهم التخصص ومتى لا يهم، وجدول قرار بحسب الاهتمام والوظيفة المستهدفة، وأخطاء شائعة، وقائمة تحقق Checklist.
لماذا تتشابه أسماء التخصصات التقنية؟
قبل أن نقارن أي شيء يجب أن نفهم من أين جاءت هذه الأسماء، لأن جزءاً كبيراً من الحيرة سببه التاريخ وليس الطالب. ففي السبعينات والثمانينات والتسعينات كانت هناك ثلاثة تخصصات واضحة تقريباً: هندسة الحاسب Computer Engineering القريبة من الهندسة الكهربائية، وعلوم الحاسب Computer Science القريبة من الرياضيات، ونظم المعلومات Information Systems القريبة من كليات الإدارة. ثم يذكر تقرير Computing Curricula 2020 الصادر عن جمعية ACM وجمعية الحاسب في IEEE بتاريخ 31 ديسمبر 2020 أن المشهد تغير في بداية الألفية، فخرجت هندسة البرمجيات Software Engineering تخصصاً مستقلاً له توصية منهج خاصة به، وظهرت برامج تقنية المعلومات Information Technology لتلبي حاجة المؤسسات إلى من يبني البنية التقنية ويشغلها ويدعم المستخدمين، ثم ظهر في العقد الثاني تخصصان جديدان هما الأمن السيبراني Cybersecurity وعلم البيانات Data Science.
والتقرير نفسه يعترف بالمشكلة التي تقع فيها ريم، فيقول في قسم هندسة البرمجيات إن مسمى «مهندس برمجيات» كمهنة أوسع بكثير من هندسة البرمجيات كبرنامج جامعي، وإن عدد من يحملون هذا المسمى الوظيفي أكبر بكثير من عدد خريجي برامج هندسة البرمجيات، ويضيف أن الأمر يزداد غموضاً لأن تطوير البرمجيات جزء من برامج علوم الحاسب وهندسة الحاسب أيضاً. ويقول في قسم علوم الحاسب إن الناس يخلطون أحياناً بين علوم الحاسب والحوسبة كلها، وهذا خطأ، لأن كل تخصص من هذه التخصصات له هوية مستقلة. والصورة التالية تبين أين يقف كل تخصص بين العتاد Hardware والمؤسسة، وبين النظرية والتطبيق:

لاحظ في الصورة أن التخصصات ليست درجات في سلم واحد، فلا يوجد تخصص «أعلى» من آخر، وإنما مواقع مختلفة على خريطة واحدة، وكل موقع يقربك من نوع من المشكلات: هندسة الحاسب من الدائرة والمعالج، وعلوم الحاسب من الخوارزمية والنموذج الرياضي، وهندسة البرمجيات من النظام الكبير الذي يبنيه فريق، وتقنية المعلومات من السيرفر والشبكة والمستخدم، ونظم المعلومات من العملية والقرار في المؤسسة. ولهذا السبب فالسؤال الصحيح ليس «أي تخصص أفضل؟» وإنما «أي نوع من المشكلات أريد أن أقضي فيه أغلب يومي؟».
ماذا تقول المناهج الدولية Curricula عن كل تخصص؟
لكل تخصص من هذه التخصصات تقرير منهج دولي تصدره ACM وIEEE، وأحياناً مع جمعية نظم المعلومات AIS، وهذه التقارير هي ما تعود إليه الجامعات عندما تبني خططها، وما تعود إليه هيئات الاعتماد مثل ABET عندما تقيم البرامج. لذلك فهي أصدق تعريف للتخصص من اسمه، وفيما يلي خلاصة كل تقرير مع مجالات المعرفة فيه.
علوم الحاسب Computer Science
يصف CC2020 علوم الحاسب بأنها التخصص الأكثر نظرية بين تخصصات الحوسبة، وأن صلتها بالرياضيات المجردة ما زالت قوية، وأن شهادة علوم الحاسب وحدها لا تعطي خبرة في مجال تطبيق محدد، وإنما تركز على القدرات الحسابية المجردة. وأحدث تقرير لها هو CS2023، الذي اعتمدته ACM في 18 يناير 2024 وجمعية الحاسب في IEEE في 22 يناير 2024 وجمعية AAAI للذكاء الاصطناعي في 22 فبراير 2024، ويقسم المعرفة إلى 17 مجال معرفة، منها أسس الخوارزميات Algorithmic Foundations، والمعمارية والتنظيم Architecture and Organization، والذكاء الاصطناعي، وإدارة البيانات Data Management، وأسس لغات البرمجة، والأسس الرياضية والإحصائية Mathematical and Statistical Foundations، والشبكات، وأنظمة التشغيل، والحوسبة المتوازية والموزعة، والأمن، وهندسة البرمجيات، والمجتمع والأخلاقيات والمهنة.
والرقم المهم في التقرير هو ما يسميه «جوهر علوم الحاسب» CS Core، أي المواضيع التي يجب أن يعرفها كل خريج، فقد قدر قسم نموذج المعرفة أنها تحتاج 270 ساعة تدريس، والمادة الواحدة فيه نحو 40 ساعة، وأكبر نصيب منها للأسس الرياضية والإحصائية بـ 55 ساعة، ثم أساسيات تطوير البرمجيات بـ 43 ساعة، ثم الخوارزميات بـ 32 ساعة، أما الذكاء الاصطناعي فنصيبه في الجوهر الإلزامي 12 ساعة فقط، ثم 18 ساعة إضافية لمن يتعمق فيه. وتذكر هذا الرقم لأننا سوف نعود إليه عندما نتحدث عن بكالوريوس الذكاء الاصطناعي.
وإذا اخترت علوم الحاسب فعلاً فقد شرحنا منهجها مجالاً بمجال، مع ساعات خطط الجامعات السعودية وما ينقصها وخريطة للتعلم الذاتي، في مقال تخصص علوم الحاسب من الداخل.
هندسة البرمجيات Software Engineering
يعرف CC2020 هندسة البرمجيات بأنها تخصص هندسي يركز على تطوير طرق منضبطة لتصميم البرمجيات وبنائها بحيث تؤدي المهام المحددة بشكل موثوق، ويقول إنها أكثر بكثير من البرمجة، لأنها تجمع الانضباط الهندسي مع الخوارزميات وهياكل البيانات القادمة من علوم الحاسب، وأن خريجيها يعملون غالباً على الأنظمة الكبيرة التي تحتاج موثوقية وأمناً عاليين. وتقريرها هو SE2014 المنشور في 23 فبراير 2015، وفيه جسم معرفة اسمه SEEK من عشرة مجالات مجموعها 467 ساعة، أي نحو عشر مواد، والتوزيع كما يلي:
| المجال في SEEK | الساعات |
|---|---|
| أساسيات الحوسبة Computing Essentials | 152 |
| الأسس الرياضية والهندسية Mathematical and Engineering Fundamentals | 80 |
| تصميم البرمجيات Software Design | 48 |
| التحقق والاختبار Verification and Validation | 37 |
| عملية تطوير البرمجيات Software Process | 33 |
| تحليل المتطلبات Requirements Analysis | 30 |
| الممارسة المهنية Professional Practice | 29 |
| النمذجة والتحليل Modeling and Analysis | 28 |
| الأمن Security | 20 |
| الجودة Quality | 10 |
لاحظ أن أكبر مجال هو أساسيات الحوسبة، وفيه 120 ساعة من أسس علوم الحاسب نفسها، أي أن طالب هندسة البرمجيات يدرس البرمجة والخوارزميات مثل طالب علوم الحاسب، ثم يضيف فوقها ما يخص العمل في فريق على نظام كبير: المتطلبات والتصميم والاختبار والعملية. وإذا أردت أن ترى هذه الموضوعات في الواقع فقد شرحناها في مقال هندسة المتطلبات ومقال ضمان الجودة QA.
وإذا اخترت هندسة البرمجيات فقد شرحنا منهج SE2014 ومعرفة SWEBOK مجالاً بمجال، مع ساعات خطط الجامعات السعودية وما ينقصها، في مقال تخصص هندسة البرمجيات من الداخل.
هندسة الحاسب Computer Engineering
هندسة الحاسب بحسب CC2020 تجمع الحوسبة مع الهندسة الكهربائية، وتركز على الحد الفاصل بين العتاد والبرمجيات، ويقول التقرير إن خريجها يجب أن يقدر على تصميم الحاسب نفسه والأنظمة المبنية عليه والشبكات، تصميماً يتجاوز التركيب والإعداد، وإن رياضياتها ثقيلة، وإن دولاً كثيرة تتيح لخريجيها الترخيص كمهندسين محترفين بحسب أنظمتها المحلية. وتقريرها CE2016 فيه 12 مجال معرفة، منها الدوائر والإلكترونيات Circuits and Electronics، والتصميم الرقمي Digital Design، ومعمارية الحاسب وتنظيمه، والأنظمة المدمجة Embedded Systems، ومعالجة الإشارات Signal Processing، وتصميم البرمجيات، والشبكات، وأمن المعلومات. وإذا كان ما يشدك هو ما يحدث داخل المعالج والذاكرة فابدأ بمقال ماذا يحدث عندما تشغل برنامج Hello World.
وإذا اخترت هندسة الحاسب فقد شرحنا منهج CE2016 من الدوائر والمعالج إلى الأنظمة المدمجة، مع ساعات خطط الجامعات السعودية، في مقال تخصص هندسة الحاسب من الداخل.
تقنية المعلومات Information Technology
يقول CC2020 إن تقنية المعلومات تضع حاجة المستخدم في المركز، وينقل تعريف تقرير IT2017 لها بأنها دراسة الطرق المنظمة لاختيار تقنيات حوسبة آمنة وتطويرها وتطبيقها ودمجها وإدارتها حتى يحقق المستخدمون أهدافهم الشخصية والمؤسسية والمجتمعية، ويصفها بأنها أكثر تخصصات الحوسبة تعاملاً مع مكونات تقنية محددة في سياق مؤسسة. ويقسم IT2017 المنهج إلى عشرة مجالات أساسية Essential Domains تشكل نحو 40% من البرنامج، منها مبادئ الأمن السيبراني بنسبة 6%، وإدارة المعلومات 6%، ونماذج الأنظمة System Paradigms 6%، والشبكات 5%، وأساسيات البرمجيات 4%، وتجربة المستخدم User Experience Design 3%، وأنظمة الويب والجوال 3%، ثم تسعة مجالات تكميلية Supplemental Domains يختار منها البرنامج ما يصل إلى نحو 20%، مثل الحوسبة السحابية Cloud Computing والشبكات التطبيقية وإنترنت الأشياء IoT والأنظمة الافتراضية.
وإذا اخترت تقنية المعلومات فقد شرحنا إطار IT2017 بمجالاته الأساسية والاختيارية، مع ساعات خطط الجامعات السعودية، في مقال تخصص تقنية المعلومات من الداخل.
نظم المعلومات Information Systems ونظم المعلومات الإدارية MIS
نظم المعلومات بحسب CC2020 تهتم بالمعلومات، أي البيانات في سياق محدد، وبجمعها وتخزينها ومعالجتها وتحليلها بحيث تدعم القرار، وبتحويل ذلك إلى عمليات وأنظمة دائمة في المؤسسة، ويقول التقرير إن برامج نظم المعلومات تجمع دائماً بين الحوسبة وبين مجال تطبيق مثل الأعمال، وإن مهارات التواصل والقيادة فيها أثقل وزناً من غيرها لأن خريجها يربط بين التقنية والإدارة. ويحدد تقرير IS2020 الصادر في ديسمبر 2020 عشرة مجالات كفاءة إلزامية: أسس نظم المعلومات، وإدارة البيانات والمعلومات، والبنية التقنية IT Infrastructure، وتحليل النظم وتصميمها Systems Analysis and Design، وإدارة مشاريع نظم المعلومات، وإدارة نظم المعلومات واستراتيجيتها، وتطوير التطبيقات والبرمجة، والحوسبة الآمنة Secure Computing، والأخلاقيات وأثر التقنية في المجتمع، والتطبيق العملي Practicum. ولاحظ أن البرمجة أصبحت إلزامية في IS2020 بعد أن كانت اختيارية في IS2010، والسبب كما يذكر التقرير انتقادات من مجتمع التخصص بأن المهارات التقنية لخريجي نظم المعلومات لم تعد تلبي حاجة سوق العمل. أما «نظم المعلومات الإدارية MIS» فهو الاسم الذي يطلق غالباً على البرنامج نفسه عندما يكون في كلية إدارة الأعمال، وستجد مثالاً عليه في قائمة ABET السعودية لاحقاً.
وإذا اخترت نظم المعلومات فقد شرحنا منهج IS2020 بكفاياته بين التقنية والإدارة، مع ما تحمله خطط الجامعات السعودية أكثر منه وما تقل فيه، في مقال تخصص نظم المعلومات من الداخل.
الأمن السيبراني Cybersecurity
يصف CC2020 الأمن السيبراني بأنه تخصص متداخل جداً، وأن برامجه ترتبط غالباً بأحد التخصصات الراسخة بطريقة تحدد هويتها، فبرنامج أمن مبني على علوم الحاسب يختلف كثيراً عن برنامج مبني على نظم المعلومات. ويقسم تقرير CSEC2017 المعرفة إلى ثمانية مجالات: أمن البيانات Data، وأمن البرمجيات Software، وأمن المكونات Component، وأمن الاتصال Connection، وأمن الأنظمة System، والعنصر البشري Human، وأمن المؤسسة Organizational، والأمن المجتمعي Societal، ويقول إن وظائف الأمن تمتد من التقنية البحتة مثل التشفير والدفاع عن الشبكات إلى الإدارية مثل السياسات والامتثال، وإن كل خريج يحتاج المهارة التقنية مع فهم إداري لما تحتاجه المؤسسة. وفي المملكة صنف الإطار السعودي لكوادر الأمن السيبراني (سيوف) من الهيئة الوطنية للأمن السيبراني أعمال الأمن في خمس فئات: معمارية الأمن السيبراني والبحث والتطوير، والقيادة وتطوير الكوادر، والحوكمة والمخاطر والالتزام والقوانين، والحماية والدفاع، وأنظمة التحكم الصناعي والتقنيات التشغيلية، ويصف كل دور بالمهام والمعارف والمهارات والقدرات، اعتماداً على إطار NICE الأمريكي. والمصطلحات التي ستسمعها في هذا المجال جمعناها في مصطلحات الأمن السيبراني للمبتدئين.
وإذا اخترت الأمن السيبراني فقد شرحنا منهج CSEC2017 وإطار سيوف مجالاً بمجال، مع ما تغطيه خطط الجامعات السعودية وما تتركه، في مقال تخصص الأمن السيبراني من الداخل.
علم البيانات Data Science والذكاء الاصطناعي
هنا يجب أن تنتبه إلى نقطة مهمة: لا يوجد حتى الآن تقرير منهج مكتمل من ACM وIEEE لبكالوريوس الذكاء الاصطناعي. أما علم البيانات فكان CC2020 يضعه تحت عنوان «قيد التطوير»، ثم أصدر فريق ACM لعلم البيانات تقريره النهائي في يناير 2021 باسم الكفايات الحاسوبية لمناهج بكالوريوس علم البيانات CCDS2021، واعتمدته ACM. ويحدد التقرير أحد عشر مجالاً للمعرفة الحاسوبية، منها أساسيات الحوسبة، والبرمجة وهياكل البيانات والخوارزميات، وجمع البيانات وإدارتها وحوكمتها، وخصوصية البيانات وأمنها، وتعلم الآلة Machine Learning، والتنقيب في البيانات Data Mining، وأنظمة البيانات الضخمة Big Data، والتحليل والعرض، والمهنية. ولكنه يصرح بأنه يغطي جانب الحوسبة وحده، وأن المنهج الكامل يحتاج فوقه حساب التفاضل والتكامل والتراكيب المحددة والاحتمالات والإحصاء والجبر الخطي، ومجال تطبيق واحد على الأقل، ولذلك أوصى بفريق مشترك مع جمعيات الإحصاء والرياضيات، وهو الفريق الذي يعمل الآن على منهج كامل لعلم البيانات. أما الذكاء الاصطناعي فهو في CS2023 مجال معرفة داخل علوم الحاسب، وهذا يعني أن بكالوريوس الذكاء الاصطناعي في أي جامعة هو في الغالب برنامج علوم حاسب أعيد توزيع ساعاته لصالح الرياضيات وتعلم الآلة، وسوف نتحقق من ذلك بالأرقام. وإذا كنت تريد أن تفهم ما الذي تتعلمه هذه النماذج قبل أن تختار التخصص فابدأ بمقال التعلم الآلي للمبتدئين ثم كيف تعمل نماذج اللغة الكبيرة من الداخل.
وإذا اخترت علم البيانات أو الذكاء الاصطناعي فقد شرحنا تقرير CCDS2021 ومجال الذكاء الاصطناعي في CS2023، وقارنا بهما خطط أربع جامعات سعودية، في مقال تخصص علم البيانات والذكاء الاصطناعي من الداخل.
الفرق الحقيقي في المواد: جدول مجالات المعرفة Knowledge Areas في CC2020
التعريفات السابقة مفيدة، ولكن ريم تحتاج شيئاً أوضح: ما المواد التي سوف تقضي فيها وقتها في كل تخصص؟ وهنا يقدم CC2020 جدولاً اسمه «خريطة معرفة الحوسبة» Landscape of Computing Knowledge، يجمع 34 مجال معرفة، ويعطي كل مجال درجة أهمية من 0 إلى 5 في كل تخصص، مع حد أدنى وحد أعلى يقع بينهما أغلب البرامج. ويذكر التقرير بصراحة أن هذه القيم من رأي خبراء اللجنة وليست من مسح لبرامج حقيقية، وأنها متوسط تقييماتهم بعد التقريب، لذلك اقرأها كوصف للتخصص كما يراه من كتب منهجه. والصورة التالية تعرض 18 مجالاً من الجدول:

في الجدول أعلاه لاحظ التالي:
- علوم الحاسب هو التخصص الوحيد الذي يصل فيه الذكاء الاصطناعي إلى 5، بينما هو بين 0 و1 في هندسة البرمجيات، وبين 1 و2 في نظم المعلومات وتقنية المعلومات والأمن، وهذا وحده يكفي لتعرف أن طريق الذكاء الاصطناعي في المنهج الدولي يمر من علوم الحاسب.
- هندسة البرمجيات تتفوق في المتطلبات Requirements والتصميم والجودة والعملية، وتكاد تتساوى مع علوم الحاسب في البرمجة، وتقل عنها في الخوارزميات وأنظمة التشغيل والذكاء الاصطناعي.
- نظم المعلومات هي الوحيدة التي تصل فيها إدارة نظم المعلومات ومعمارية المؤسسة Enterprise Architecture وتحليل النظم وإدارة المشاريع إلى 5، وهذا عكس علوم الحاسب تماماً في هذه الصفوف.
- تقنية المعلومات قوية في الشبكات والأنظمة الافتراضية وتكامل الأنظمة، ومتوسطة في البرمجة، وضعيفة في النظرية والذكاء الاصطناعي.
- الأمن السيبراني يصل إلى 5 في سياسات الأمن وتقنياته، وفي الباقي يشبه تخصصاً عاماً متوسطاً، وهذا يؤكد ما قاله التقرير عن ارتباطه بتخصص أساسي.
- هندسة الحاسب وحدها تصل إلى 5 في الدوائر والتصميم الرقمي والمعمارية، وهذه مواد لا يدرسها غيرها تقريباً.
والدرس الأول لريم من هذا الجدول أن الفروق بين التخصصات ليست في كل شيء، وإنما في ثلاثة أو أربعة صفوف لكل تخصص، أما البرمجة وقواعد البيانات والشبكات فهي مشتركة بدرجات متقاربة، وهذه الصفوف المشتركة هي سبب أن الانتقال بين وظائف التخصصات ممكن كما سوف نرى.
ماذا تحتوي الخطط الدراسية Study Plans في الجامعات السعودية؟
المنهج الدولي يصف التخصص كما يجب أن يكون، والخطة الدراسية تصف ما ستدرسه ريم فعلاً، وقد تختلف الخطة عن المنهج كثيراً، لذلك جمعنا الخطط الرسمية من مواقع سبع جامعات: الملك سعود KSU، والملك فهد للبترول والمعادن KFUPM، والإمام محمد بن سعود الإسلامية IMSIU، والملك عبدالعزيز KAU، والأمير سلطان PSU، والجامعة السعودية الإلكترونية SEU، والإمام عبدالرحمن بن فيصل IAU. واخترنا هذه الجامعات لأنها تجمع الحكومية والأهلية والتعليم الإلكتروني، ولأن فيها برامج مستقلة للذكاء الاصطناعي والأمن السيبراني إلى جانب البرامج التقليدية. والجدول التالي يبين كل خطة ومصدرها ومجموع ساعاتها كما تذكره الخطة نفسها:
| الجامعة | البرنامج | الساعات المعلنة | المصدر |
|---|---|---|---|
| KFUPM | علوم الحاسب | 129 مع التدريب الصيفي أو 128 مع التدريب الطويل | دليل طالب علوم الحاسب |
| هندسة البرمجيات | 129 | دليل طالب هندسة البرمجيات، أغسطس 2025 | |
| الذكاء الاصطناعي والأمن السيبراني (برنامج واحد) | 127 أو 129 | صفحة البرنامج | |
| KSU | علوم الحاسب، بمسارات عام والذكاء الاصطناعي والشبكات والأمن السيبراني | 128 | دليل طالب علوم الحاسب |
| هندسة البرمجيات | 137 | الخطة الدراسية 2023 | |
| تقنية المعلومات | 127 | خطة 2026 | |
| نظم المعلومات، مساران | 131 | صفحة برنامج نظم المعلومات | |
| هندسة الحاسب | 160 بجمع مستويات الخطة | صفحة البرنامج | |
| IMSIU | علوم الحاسب | 135 | خطة 1447 |
| نظم المعلومات | 134 بجمع المستويات | خطة 1447 | |
| تقنية المعلومات | 134 بجمع المستويات | خطة 1447 | |
| KAU | علوم الحاسب ونظم المعلومات وتقنية المعلومات والهندسة الكهربائية (حاسبات) | لا تذكرها الصفحات | صفحة علوم الحاسب وصفحات البرامج المجاورة |
| الأمن السيبراني (قسم جديد) | لا تذكرها الصفحة | صفحة البرنامج | |
| PSU | علوم الحاسب ونظم المعلومات وهندسة البرمجيات، ومسارا الأمن السيبراني والذكاء الاصطناعي وعلم البيانات داخل علوم الحاسب | 134 لكل برنامج | نشرة البكالوريوس 2025-2026 في موقع الجامعة |
| SEU | علوم الحاسب وعلم البيانات وتقنية المعلومات | 130 و133 و130 | توصيف برنامج علوم الحاسب 2025-2026 وتوصيفا البرنامجين الآخرين |
| IAU | الذكاء الاصطناعي، والأمن السيبراني والأدلة الرقمية | 128 و131 | صفحات البرنامجين في موقع كلية علوم الحاسب وتقنية المعلومات |
وقبل أن نعد المواد هناك ملاحظات تغير قراءة هذا الجدول:
- ساعات KFUPM لا تشمل السنة التحضيرية، وهي 31 ساعة بحسب دليل طالب هندسة البرمجيات، بينما تشمل خطط KSU السنة الأولى المشتركة، لذلك لا تقارن المجموع مباشرة بين جامعتين.
- في PSU لا يوجد بكالوريوس مستقل للأمن السيبراني أو الذكاء الاصطناعي، وإنما مساران داخل علوم الحاسب، وكل البرامج 134 ساعة: 23 متطلبات جامعة و34 كلية و67 برنامج و10 تدريب تعاوني. وفي KSU أيضاً الذكاء الاصطناعي والأمن مساران داخل علوم الحاسب، أما IAU فلديها بكالوريوس مستقل لكل منهما، وKFUPM جمعت الاثنين في برنامج واحد.
- في SEU لا يوجد بكالوريوس للأمن السيبراني، وإنما مسار داخل تقنية المعلومات، والذكاء الاصطناعي مسار داخل علم البيانات.
- لم نجد في IMSIU بكالوريوس مستقلاً للأمن أو الذكاء الاصطناعي، ويظهر الاثنان في الماجستير فقط.
- صفحات KAU تعرض الخطة من واجهة برمجية في الصفحة، ولا تذكر المجموع، وفيها أخطاء إدخال سوف نراها في التجربة. ورابطا PSU وIAU لم نضعهما كروابط لأن خوادم الجامعتين ترفض أدوات التحقق الآلي من الروابط، وتجد العنوان الكامل لكل مصدر في ملف البيانات.
لاحظ أن ريم اكتشفت من هذا الجدول وحده شيئاً لم تكن تعرفه: عرض «الأمن السيبراني» من جامعة الأمير سلطان هو في الحقيقة بكالوريوس علوم الحاسب بمسار أمن، وهذا ليس عيباً، بل قد يكون ميزة لأن الشهادة تحمل اسم علوم الحاسب، ولكنه يغير المقارنة كلها.
تجربة عملية Lab: نعد ساعات المواد بأنفسنا
قراءة 27 خطة بالعين لا تكفي لمقارنة عادلة، والسبب أن كل جامعة تقسم المواد بطريقتها: متطلبات جامعة ومتطلبات كلية ومتطلبات قسم ومسارات واختياري حر. لذلك كتبنا برنامجاً صغيراً بلغة Python يقرأ كل الخطط من ملف واحد، ويضع كل مادة إجبارية في مجال من أحد عشر مجالاً، ثم يحسب نسبة ساعات كل مجال من الساعات التقنية الإجبارية، ويضيف إلى ذلك ثلاثة مصادر بيانات عامة: واجهة ABET للبرامج المعتمدة، واستبيان Stack Overflow 2020 الذي سأل المطورين عن تخصصهم، واستبيان 2026 الذي سألهم عن أعلى شهادة. والبرنامج يستخدم مكتبة Python الأساسية فقط، فلا يحتاج إلى Docker ولا إلى أي تثبيت.
البيانات: ملف الخطط واستبيانا Stack Overflow
جمعنا الخطط في ملف plans.json، وكل برنامج فيه يحمل اسم الجامعة والبرنامج وعائلته ورابط المصدر والساعات المعلنة وقائمة المواد، وكل مادة تحمل الرمز والعنوان والساعات وتصنيف الخطة نفسها لها، ثم حقلاً اسمه required يقول هل هي إجبارية أم خيار من قائمة اختيارية. وهذا مثال من الملف لمادتين من خطة هندسة البرمجيات في KFUPM:
{
"university": "King Fahd University of Petroleum and Minerals (KFUPM)",
"programme_en": "B.S. in Software Engineering",
"major_family": "SE",
"source_url": "https://ics.kfupm.edu.sa/docs/default-source/default-document-library/swe-student-guide-august-2025.pdf?sfvrsn=853e7f7b_1",
"total_credit_hours": "129",
"courses": [
{"code": "MATH 101", "title_en": "Calculus I", "title_ar": null, "credits": 4, "category": "math & science", "required": true},
{"code": "SWE 206", "title_en": "Introduction to Software Engineering", "title_ar": null, "credits": 3, "category": "major core", "required": true}
]
}وإذا كنت في موقف ريم فهذا الجزء هو أهم ما في التجربة لك: اجمع خطط الجامعات التي قبلتك بنفس الشكل، من الصفحة الرسمية للقسم وليس من المنتديات، وشغل البرنامج عليها. أما الاستبيانان فمنشوران برخصة ODbL في مستودع Stack Overflow على GitHub، وتحملهما بالأوامر التالية:
mkdir majors-lab && cd majors-lab
curl -L -o so2020.zip https://info.stackoverflowsolutions.com/rs/719-EMH-566/images/stack-overflow-developer-survey-2020.zip
unzip -o so2020.zip survey_results_public.csv && mv survey_results_public.csv so2020.csv
curl -L -o so2026.csv https://github.com/StackExchange/Survey/raw/refs/heads/main/packages/archive/2026/survey_results_public.csvولاحظ أننا نستخدم استبيان 2020 لأنه آخر سنة سأل فيها Stack Overflow المطورين عن تخصصهم الجامعي، ففي استبيان 2026 يوجد سؤال عن أعلى شهادة ولا يوجد سؤال عن التخصص، ولذلك نستخدم كل استبيان لما يجيب عنه.
البرنامج majors_data.py
البرنامج التالي هو الملف كاملاً كما شغلناه، احفظه باسم majors_data.py بجانب الملفات:
# What do the tech majors really contain, and where do their graduates work?
# Standard library only. Usage:
# python majors_data.py plans.json so2020.csv so2026.csv
# plans.json : the study plans collected from the official university pages (one object per programme)
# so2020.csv : survey_results_public.csv of the Stack Overflow Developer Survey 2020 (last year that asked the major)
# so2026.csv : survey_results_public.csv of the Stack Overflow Developer Survey 2026
# The ABET part reads the public ABET API live.
import collections, csv, json, re, sys, urllib.parse, urllib.request
plans_file, so2020_file, so2026_file = sys.argv[1:4]
# ---------------------------------------------------------------- 1) course areas in the Saudi study plans
# Each pattern has English and Arabic words, because some plans print Arabic titles only. First match wins.
AREAS = [
("project", r"graduation|senior project|senior design|capstone|co-?op|cooperative|internship|field training|summer training|practical training|field experience|seminar|مشروع التخرج|التدريب|ندوة"),
("security", r"secur|privacy|cyber|cryptograph|forensic|penetration|ethical hack|malware|intrusion|incident|threat|vulnerab|أمن|الأمن|تشفير|الجنائي"),
("data_ai", r"artificial intelligence|machine learning|deep learning|neural|data mining|data science|big data|analytics|natural language|computer vision|image processing|pattern recognition|intelligent|reinforcement|knowledge|database|data management|data warehous|visuali[sz]ation|data engineering|data quality|recommender|robot|الذكاء الاصطناعي|تعلم الآلة|قواعد البيانات|العصبية|اللغات الطبيعية|معالجة الصور|علم البيانات|تحليل البيانات|البيانات الضخمة"),
("soft_eng", r"software engineering|requirement|software design|software architecture|software testing|verification|validation|software quality|software process|software project|software construction|maintenance|evolution|formal method|devops|software modeling|object-oriented analysis|human.{0,2}computer|interaction design|user experience|user interface|\bux\b|\bhci\b|usability|system analysis|systems analysis|هندسة البرمجيات|الإنسان والحاسب"),
("hardware", r"circuit|electronic|digital logic|logic design|digital design|signal|embedded|microprocessor|microcontroller|vlsi|internet of things|\biot\b|hardware|computer organization|computer architecture|المنطق الرقمي|عمارة الحاسب|المدمجة"),
("systems", r"operating system|network|cloud|distributed|parallel|system administration|systems administration|virtuali|wireless|communication system|platform|infrastructure|data communication|server|integration|high performance|concurren|it systems|integrated systems|technical support|system architecture|أنظمة التشغيل|شبكات|الشبكات|السحاب|الموزعة"),
("math", r"calculus|linear algebra|discrete|probability|statistic|mathemat|numerical|differential|matrix|optimization|operations research|quantitative|prob\. and stat|التفاضل|الجبر|الاحتمالات|الإحصاء|الرياضيات"),
("theory", r"algorithm|data structure|theory|automata|computation|compiler|programming language|formal language|complexity|discrete structure|الخوارزميات|تراكيب البيانات|المترجمات|تراكيب محددة|الحسابات"),
("org", r"management|business|enterprise|e-?commerce|e-?business|organi[sz]ation|accounting|econom|marketing|\berp\b|process|governance|strategy|entrepreneur|decision support|professional ethics|ethic|law|legal|innovation|audit|risk|workplace|emerging technolog|information systems|financ|إدارة|الأعمال|الأخلاقيات"),
("programming", r"programming|program|web|mobile|applications? development|object.oriented|coding|java|python|game|graphics|software development|computer skills|introduction to comput|computing|برمجة|البرمجة|الحوسبة|تطبيقات"),
("science", r"physics|chemistry|biology|science|الفيزياء|الكيمياء"),
]
GENERAL = r"islam|quran|arabic|english|language skills|writing|communication skills|thinking|culture|history|society|fitness|health|physical education|life skills|university|national|volunteer|kingdom|creative|research skills|learning skills|psychology|belief|academic|discourse|language foundation|language &|communication skills|business communication|technical communication|prof. communication|professional communication|presentation|technical report|career|issues|القرآن|اللغوية|الإنجليزية|الشريعة|السنة|السيرة|العقيدة|الفقه|التاريخ|الصحة|مهارات"
def area(course):
t = f"{course.get('title_en') or ''} {course.get('title_ar') or ''}".lower()
if re.search(GENERAL, t) and not re.search(r"programming|software|network|data|secur|comput|برمج|حاسب|الحوسبة", t):
return "general"
for name, rx in AREAS:
if re.search(rx, t):
return name
return "other"
UNI = {"King Fahd": "KFUPM", "King Saud": "KSU", "Imam Mohammad": "IMSIU", "King Abdulaziz": "KAU",
"Prince Sultan": "PSU", "Saudi Electronic": "SEU", "Imam Abdulrahman": "IAU"}
def short(p):
u = next(v for k, v in UNI.items() if p["university"].startswith(k))
t = p["programme_en"]
tag = (" CS track" if "Track)" in t else " DS track" if "Data Science & Management" in t
else " general track" if "General Information Systems" in t else " AI+Cyber" if "Intelligence and Cybersecurity" in t else "")
return u + tag
ORDER = ["programming", "theory", "soft_eng", "systems", "security", "data_ai", "org", "hardware", "math", "science", "project"]
plans = json.load(open(plans_file, encoding="utf-8"))
import datetime
print("run on", datetime.date.today())
print("== 1) course areas in", len(plans), "Saudi study plans: share of the required technical credit hours, % ==")
print(" (required = not an elective option; technical = everything except university general requirements)")
print(f"{'programme':<40}{'hours':>6} " + " ".join(f"{a[:6]:>6}" for a in ORDER))
unknown, skipped, shares = collections.Counter(), [], {}
for p in sorted(plans, key=lambda p: (p["major_family"], p["university"])):
# an empty slot such as "Free elective" or "Department Elective Course 1" is not a course yet
req = [c for c in p["courses"] if c["required"] and not re.search(r"elective", c.get("title_en") or "", re.I)]
# a course worth more than 6 credits is a typing error in the source, unless it is training/co-op (up to 12)
# or an intensive general course such as English, which the comparison leaves out anyway
odd = [c for c in req if area(c) != "general" and float(c["credits"] or 0) > (12 if area(c) == "project" else 6)]
total_req = sum(float(c["credits"] or 0) for c in req)
name = f"{p['major_family']:<6}{short(p)}"
if odd or total_req < 100:
why = f"{odd[0].get('title_en')} = {odd[0]['credits']} credits" if odd else f"only {total_req:.0f} required credits listed"
skipped.append(f"{name}: {why}")
continue
hours = collections.Counter()
for c in req:
a = area(c)
if a == "general":
continue
hours[a] += float(c["credits"] or 0)
if a == "other":
unknown[c.get("title_en") or c.get("title_ar")] += 1
total = sum(hours.values())
shares[name] = {a: 100 * hours[a] / total for a in ORDER}
print(f"{name:<40}{total:>6.0f} " + " ".join(f"{shares[name][a]:>6.0f}" for a in ORDER))
print("skipped (source data problem):", *skipped, sep="\n ")
print("required courses left as 'other':", sum(unknown.values()), "|", "; ".join(k for k, _ in unknown.most_common(8)))
# average share per family, and the courses every family shares
fam = collections.defaultdict(list)
for name, sh in shares.items():
fam[name.split()[0]].append(sh)
print(f"{'family average':<40}{'plans':>6} " + " ".join(f"{a[:6]:>6}" for a in ORDER))
for f in ["CS", "SE", "CE", "IT", "IS", "CYBER", "AI", "DS"]:
if fam[f]:
print(f"{f:<40}{len(fam[f]):>6} " + " ".join(f"{sum(s[a] for s in fam[f]) / len(fam[f]):>6.0f}" for a in ORDER))
def norm(t):
t = (t or "").lower().replace("&", "and")
t = re.sub(r"\b(i|ii|1|2|introduction to|fundamentals of|principles of)\b", " ", t)
return " ".join(re.sub(r"[^a-z ]", " ", t).split())
has = collections.defaultdict(set)
for p in plans:
for c in p["courses"]:
if c["required"] and c.get("title_en") and area(c) != "general":
has[norm(c["title_en"])].add(p["major_family"])
common = sorted(((len(v), k) for k, v in has.items() if k), reverse=True)[:10]
print("required in the most families:", "; ".join(f"{k} ({n})" for n, k in common))
# ---------------------------------------------------------------- 2) ABET accreditation of Saudi computing programmes
print("\n== 2) ABET-accredited bachelor programmes in Saudi Arabia (live API) ==")
api = "https://amspub.abet.org/webapi/pubapi/AccreditedPrograms?"
rows, skip = [], 0
while True:
q = urllib.parse.urlencode({"$filter": "organizationCountryCode eq 'SA' and isProgramCurrent eq true", "$top": "100", "$skip": str(skip)})
req = urllib.request.Request(api + q, headers={"User-Agent": "arabroot-lab/1.0"})
page = json.load(urllib.request.urlopen(req, timeout=60))["value"]
rows += page
skip += 100
if len(page) < 100:
break
print("current Saudi programmes in ABET:", len(rows), dict(collections.Counter(r["commissionName"] for r in rows)))
FAM = [("AI", r"artificial"), ("DS", r"data science"), ("CYBER", r"cyber|security"), ("SE", r"software"),
("CE", r"computer engineering|computer & network eng|networks and communications eng|electrical engineering \(computer\)|electrical and computer"),
("IS", r"information systems"), ("IT", r"information technology|networks and communications"), ("CS", r"computer science")]
table = collections.defaultdict(collections.Counter)
for r in rows:
if not r["isCurrentlyAccredited"] or r["degreeLevelCode"] != "B":
continue
for fam, rx in FAM:
if re.search(rx, r["programName"], re.I):
table[fam][r["commissionName"]] += 1
break
for fam in ["CS", "SE", "CE", "IS", "IT", "CYBER", "AI", "DS"]:
print(f" {fam:<6} " + " ".join(f"{k}={v}" for k, v in sorted(table[fam].items())))
# ---------------------------------------------------------------- 3) Stack Overflow 2020: major of professional developers, by role
print("\n== 3) Stack Overflow 2020: undergraduate major of professional developers, by role (%) ==")
def fam2020(m):
if m.startswith("Computer science"): return "CS/CE/SE"
if m.startswith("Information systems"): return "IS/IT"
if m.startswith("Another engineering"): return "OtherEng"
if m.startswith("Mathematics") or m.startswith("A natural science"): return "Math/Sci"
return "Other"
FAMS = ["CS/CE/SE", "IS/IT", "OtherEng", "Math/Sci", "Other"]
pro = [r for r in csv.DictReader(open(so2020_file, encoding="utf-8", newline=""))
if r["MainBranch"] == "I am a developer by profession"]
with_major = [r for r in pro if r["UndergradMajor"] != "NA"]
overall = collections.Counter(fam2020(r["UndergradMajor"]) for r in with_major)
print(f"professional developers: {len(pro)}, answered the major: {len(with_major)}")
print(f"{'all roles':<46}{len(with_major):>7} " + " ".join(f"{100 * overall[f] / len(with_major):>9.0f}" for f in FAMS))
by_role = collections.defaultdict(collections.Counter)
for r in with_major:
for d in r["DevType"].split(";"):
by_role[d][fam2020(r["UndergradMajor"])] += 1
print(f"{'role':<46}{'n':>7} " + " ".join(f"{f:>9}" for f in FAMS))
for d in ["Developer, back-end", "Developer, front-end", "Developer, mobile", "DevOps specialist", "System administrator",
"Database administrator", "Data or business analyst", "Engineer, data", "Data scientist or machine learning specialist",
"Developer, embedded applications or devices", "Scientist", "Product manager"]:
c = by_role[d]; n = sum(c.values())
print(f"{d[:45]:<46}{n:>7} " + " ".join(f"{100 * c[f] / n:>9.0f}" for f in FAMS))
edu = collections.Counter(r["NEWEdImpt"] for r in pro if r["NEWEdImpt"] != "NA")
n = sum(edu.values())
print("how important was formal education to your career:", "; ".join(f"{k} {100 * v / n:.0f}%" for k, v in edu.most_common()))
# ---------------------------------------------------------------- 4) Stack Overflow 2026: highest education, by role (%)
print("\n== 4) Stack Overflow 2026: highest education by role (%) ==")
def edu2026(e):
if e.startswith("Master"): return "Master"
if e.startswith("Professional degree"): return "PhD/Prof"
if e.startswith("Bachelor"): return "Bachelor"
if e in ("NA", "Other, please specify"): return None
return "NoDegree"
EDU = ["NoDegree", "Bachelor", "Master", "PhD/Prof"]
roles = collections.defaultdict(collections.Counter)
for r in csv.DictReader(open(so2026_file, encoding="utf-8-sig", newline="")):
e = edu2026(r["Education"])
if e and r["Role"] != "NA":
roles[r["Role"]][e] += 1
print(f"{'role':<46}{'n':>6} " + " ".join(f"{e:>9}" for e in EDU))
for d in ["Developer, full-stack", "Developer, back-end", "Developer, mobile", "DevOps engineer or professional",
"Cloud infrastructure engineer", "System administrator", "Cybersecurity or InfoSec professional", "Data engineer",
"Data scientist", "AI/ML engineer", "Developer, AI apps or physical AI", "Applied scientist", "Academic researcher"]:
c = roles[d]; n = sum(c.values())
print(f"{d[:45]:<46}{n:>6} " + " ".join(f"{100 * c[e] / n:>9.0f}" for e in EDU))
# ---------------------------------------------------------------- 5) what if a KSU CS student takes the AI track?
print("\n== 5) what if: KSU CS + AI track (4 track courses + 4 AI electives) against the AI bachelors ==")
PICK = {"CSC 216", "CSC 462", "CSC 494", "CSC 495", "CSC 463", "CSC 464", "CSC 466", "CSC 472"}
ksu = next(p for p in plans if p["university"].startswith("King Saud") and p["major_family"] == "CS")
extra = [dict(c, required=True) for c in ksu["courses"] if c["code"] in PICK and "Artificial" in c["category"]]
base = [c for c in ksu["courses"] if c["required"] and not re.search(r"elective", c.get("title_en") or "", re.I)]
print(f"{'programme':<40}{'hours':>6} " + " ".join(f"{a[:6]:>6}" for a in ORDER))
for label, courses in [("KSU CS, no track", base), ("KSU CS + AI track", base + extra)]:
hours = collections.Counter()
for c in courses:
if area(c) != "general":
hours[area(c)] += float(c["credits"] or 0)
total = sum(hours.values())
print(f"{label:<40}{total:>6.0f} " + " ".join(f"{100 * hours[a] / total:>6.0f}" for a in ORDER))
for name in shares:
if name.startswith("AI"):
print(f"{name:<40}{'':>6} " + " ".join(f"{shares[name][a]:>6.0f}" for a in ORDER))في البرنامج أعلاه لاحظ التالي:
- القائمة
AREASهي قلب الجزء الأول: لكل مجال تعبير نمطي Regular Expression فيه كلمات إنجليزية وعربية، والمادة تأخذ أول مجال يطابق عنوانها، لذلك الترتيب مهم، فالمشروع والأمن والبيانات تأتي قبل البرمجة العامة، وإلا أصبحت «البرمجة الآمنة» برمجة، و«برمجة الذكاء الاصطناعي» برمجة. - الدالة
areaتعيدgeneralلمواد الثقافة الإسلامية واللغة والمهارات العامة ما لم يكن في عنوانها كلمة تقنية، وهذه المواد لا تدخل في المقارنة لأنها تختلف بين الجامعات لأسباب لا علاقة لها بالتخصص. - المقارنة تحسب المواد الإجبارية فقط، والسبب أن الخطة التي تسرد عشرين مادة اختيارية سوف تبدو أكبر وأغنى من خطة تسرد خمساً، والطالب لن يدرس منها إلا ثلاثاً أو أربعاً.
- الشرط
oddيوقف أي خطة فيها مادة غير منطقية الساعات، فلا تزيد مادة عادية عن 6 ساعات ولا يزيد التدريب عن 12، وكذلك الخطة التي يقل مجموع ساعاتها الإجبارية عن 100، والسبب سوف تراه في المخرج. - الجزء الثاني يقرأ واجهة ABET العامة صفحة بعد صفحة لأنها تعيد 100 سجل فقط في كل طلب، والجزءان الثالث والرابع يقرآن ملفي CSV مباشرة.
التشغيل والمخرج: نسب المواد في 24 خطة
python majors_data.py plans.json so2020.csv so2026.csvوالمخرج سوف يكون كما يلي، وهذا الجزء الأول منه:
run on 2026-10-26
== 1) course areas in 27 Saudi study plans: share of the required technical credit hours, % ==
(required = not an elective option; technical = everything except university general requirements)
programme hours progra theory soft_e system securi data_a org hardwa math scienc projec
AI IAU 103 9 6 3 10 6 29 5 6 17 3 8
AI KFUPM AI+Cyber 103 7 7 3 7 20 23 8 3 19 0 3
AI PSU CS track 93 11 10 3 10 3 10 9 3 16 12 14
CE KAU 114 12 3 0 6 0 0 4 18 23 13 5
CE KSU 117 7 5 3 9 3 3 5 27 18 10 7
CS IMSIU 97 8 16 9 8 3 10 3 6 15 6 13
CS KFUPM 93 11 11 3 8 3 13 5 9 22 13 3
CS KSU 89 16 13 3 10 3 10 8 3 20 4 8
CS PSU 84 12 11 4 11 4 4 6 4 18 13 15
CS SEU 87 7 14 7 7 3 10 10 7 17 7 10
CYBER IAU 105 9 6 0 9 37 9 8 3 13 0 8
CYBER PSU CS track 99 10 9 3 9 15 3 8 3 15 11 13
DS SEU 90 7 7 3 7 3 30 7 3 13 7 10
IS IMSIU 94 15 4 6 12 3 9 21 0 15 3 12
IS KAU 97 14 4 11 8 8 12 14 4 9 3 6
IS KSU DS track 95 12 3 3 9 3 22 22 0 13 4 8
IS KSU general track 95 15 3 6 9 3 9 22 3 16 4 8
IS PSU 91 11 3 3 7 3 3 35 3 13 3 14
IT IMSIU 96 15 4 3 19 3 9 6 6 19 3 12
IT KSU 97 15 3 6 7 9 12 8 3 15 6 7
IT SEU 90 10 3 7 13 7 10 17 3 13 7 7
SE KFUPM 94 11 7 19 7 3 10 5 3 21 9 4
SE KSU 99 11 3 26 6 3 3 3 3 15 12 7
SE PSU 97 10 3 22 6 3 3 5 3 19 12 13
skipped (source data problem):
CS KAU: Computer Networks. = 13 credits
CYBER KAU: only 72 required credits listed
IT KAU: Summer Training = 25 credits
required courses left as 'other': 14 | IT Skills; Free Course 2; Introduction to Engineering Design (1); Electrical Engineering Technologies; Analytical Methods in Engineering; Introduction to Communications; Principles of Automatic Control; Fundamentals of Math
family average plans progra theory soft_e system securi data_a org hardwa math scienc projec
CS 5 11 13 5 9 3 9 7 6 18 9 10
SE 3 11 5 22 7 3 5 5 3 18 11 8
CE 2 10 4 1 8 1 2 5 23 20 12 6
IT 3 13 4 5 13 6 11 10 4 16 5 9
IS 5 13 4 6 9 4 11 23 2 13 4 10
CYBER 2 9 7 2 9 26 6 8 3 14 6 10
AI 3 9 7 3 9 10 21 7 4 17 5 8
DS 1 7 7 3 7 3 30 7 3 13 7 10
required in the most families: senior project (8); operating systems (8); object oriented programming (7); linear algebra (7); general physics (7); entrepreneurship (7); discrete mathematics (7); computer programming (7); practical training (6); general mathematics (6)في المخرج أعلاه لاحظ التالي:
- العمود
hoursهو الساعات التقنية الإجبارية بعد حذف المتطلبات العامة والاختيارية، لذلك هو أقل من الساعات المعلنة، والأعمدة بعده نسب مئوية من هذا الرقم. - هندسة البرمجيات واضحة جداً: عمود
soft_eبين 19% و26% في الجامعات الثلاث، بينما هو بين 3% و9% في علوم الحاسب، وهذا الفرق الحقيقي بين التخصصين، وليس البرمجة. - نظم المعلومات تتميز بعمود
org، أي الإدارة والأعمال والمشاريع، من 14% في KAU إلى 35% في PSU، والسبب في PSU أن البرنامج يشترط 15 ساعة من مواد الأعمال. - هندسة الحاسب وحدها فيها عمود
hardwaبين 18% و27%، ومعه أعلى نسبة للرياضيات والعلوم. - الأمن السيبراني في IAU يصل إلى 37% من مواد الأمن، بينما مسار الأمن في PSU 15% فقط، لأنه مسار داخل علوم الحاسب يشترك مع البرنامج الأم في أغلب المواد، وهذا ما رأته ريم في الجدول السابق بالأرقام.
- علوم الحاسب ليست أكثر التخصصات برمجة كما يظن كثيرون، فنسبة البرمجة فيها مثل بقية التخصصات تقريباً، وما يميزها هو الأسس النظرية
theoryوالرياضيات معاً. - سطر
required in the most familiesيبين المواد المشتركة بين أكثر العائلات: مشروع التخرج، وأنظمة التشغيل، والبرمجة الشيئية، والجبر الخطي، والفيزياء، والرياضيات المتقطعة، وهذا يؤكد ما رأيناه في جدول CC2020: أساس مشترك كبير، ثم ثلاثة أو أربعة مجالات تميز كل تخصص.
والصورة التالية تعرض متوسط كل عائلة من السطور الأخيرة في المخرج:

المشكلات التي ظهرت في البيانات وكيف عالجناها
لم يخرج هذا الجدول من التشغيل الأول، وفيما يلي ما ظهر لنا فعلاً وكيف عالجناه، لأن نفس المشكلات سوف تظهر لك إذا جمعت خطط جامعاتك:
- خطة كاملة بالعربية: في التشغيل الأول ظهرت خطة علوم الحاسب في جامعة الإمام بأصفار في كل الأعمدة، والسبب أن خطة 1447 تكتب عناوين المواد بالعربية فقط، والأنماط كانت إنجليزية، فذهبت كل المواد إلى
other. والحل كان إضافة الكلمات العربية إلى كل نمط، مثل «تراكيب البيانات» و«أنظمة التشغيل» و«تعلم الآلة». - كلمة عربية عامة جداً: بعد إضافة العربية أصبحت مادة «شبكات اتصالات البيانات» من مجال البيانات والذكاء الاصطناعي، لأن النمط كان يطابق كلمة «البيانات» وحدها، فاستبدلناها بعبارات أدق مثل «قواعد البيانات» و«علم البيانات».
- المواد الاختيارية تضخم الأرقام: في التشغيل الأول ظهرت خطة هندسة البرمجيات في KFUPM بـ 288 ساعة، والسبب أن الدليل يسرد 41 مادة اختيارية يختار الطالب منها عدداً محدوداً، فأضفنا حقل
requiredوحسبنا الإجباري فقط، واستبعدنا الخانات الفارغة مثل «Free elective». - ترتيب الأنماط: ظهرت مادة «Computer Organization» في مجال الأعمال لأنها تحتوي كلمة organization، و«Network Management» في الأعمال بسبب كلمة management، فنقلنا العتاد والأنظمة قبل الأعمال في القائمة.
- أخطاء في المصدر نفسه: صفحات جامعة الملك عبدالعزيز تذكر مادة الشبكات في علوم الحاسب بـ 13 ساعة، والتدريب الصيفي في تقنية المعلومات بـ 25 ساعة، وخطة الأمن السيبراني الجديدة لا تعرض إلا 72 ساعة إجبارية، وهذه أرقام لا يمكن أن تكون صحيحة. ولم نصحح المصدر بأيدينا، وإنما جعلنا البرنامج يستبعد هذه الخطط ويذكر السبب، وهي الأسطر تحت
skipped.
والدرس هنا يخص ريم أيضاً: صفحة القسم في موقع الجامعة قد تكون قديمة أو فيها أخطاء، لذلك إذا وجدت رقماً غريباً فاطلب من القسم الخطة المعتمدة الحالية، ولا تبن قرارك على صفحة واحدة.
ماذا يحدث إذا اختارت ريم مسار الذكاء الاصطناعي داخل علوم الحاسب؟
السؤال الذي يشغل ريم: هل تحتاج بكالوريوس الذكاء الاصطناعي، أم يكفي علوم الحاسب مع مسار الذكاء الاصطناعي؟ والجزء الخامس من البرنامج يجيب بالأرقام، فيضيف إلى خطة علوم الحاسب في KSU مواد مسار الذكاء الاصطناعي الأربع الإجبارية، ثم أربع مواد اختيارية من المسار هي التعلم العميق Deep Learning ومعالجة اللغات الطبيعية NLP والتعلم المعزز Reinforcement Learning والرؤية بالحاسب Computer Vision، ويقارن النتيجة ببرامج الذكاء الاصطناعي الثلاثة:
== 5) what if: KSU CS + AI track (4 track courses + 4 AI electives) against the AI bachelors ==
programme hours progra theory soft_e system securi data_a org hardwa math scienc projec
KSU CS, no track 89 16 13 3 10 3 10 8 3 20 4 8
KSU CS + AI track 113 15 11 3 8 3 21 6 3 16 4 12
AI IAU 9 6 3 10 6 29 5 6 17 3 8
AI KFUPM AI+Cyber 7 7 3 7 20 23 8 3 19 0 3
AI PSU CS track 11 10 3 10 3 10 9 3 16 12 14والنتيجة أن مسار الذكاء الاصطناعي رفع نصيب مواد البيانات والذكاء الاصطناعي من 10% إلى 21%، أي قريباً من برنامج KFUPM (23%) وأقل من برنامج IAU (29%) بثماني نقاط، مع بقاء الأسس النظرية والرياضيات قريبة مما هي في علوم الحاسب. ولاحظ أن مسار الذكاء الاصطناعي في PSU بقي عند 10% لأن الخطة تترك أغلب مواد المسار ضمن قوائم اختيارية لم نحسبها، وهذا تذكير بأن اسم المسار لا يخبرك بما ستدرسه، وإنما قائمة المواد الإجبارية.
الاعتماد الأكاديمي Accreditation من ABET، والاعتماد المهني من الهيئة السعودية للمهندسين
الجزء الثاني من المخرج يقرأ قاعدة البرامج المعتمدة في ABET مباشرة، ويعد برامج البكالوريوس السعودية المعتمدة حالياً بحسب العائلة ولجنة الاعتماد:
== 2) ABET-accredited bachelor programmes in Saudi Arabia (live API) ==
current Saudi programmes in ABET: 339 {'EAC': 204, 'ETAC': 36, 'CAC': 84, 'ANSAC': 15}
CS CAC=31
SE EAC=10
CE EAC=18
IS CAC=17
IT CAC=15
CYBER CAC=4 EAC=1
AI CAC=3
DS CAC=1في المخرج أعلاه لاحظ التالي:
- ABET لها لجان مختلفة، وأهمها هنا لجنة اعتماد الحوسبة Computing Accreditation Commission واختصاراً CAC، ولجنة اعتماد الهندسة Engineering Accreditation Commission واختصاراً EAC، والبرنامج يعتمد بحسب طبيعته.
- علوم الحاسب ونظم المعلومات وتقنية المعلومات والذكاء الاصطناعي وعلم البيانات كلها معتمدة من CAC، أي أنها برامج حوسبة، أما هندسة البرمجيات وهندسة الحاسب فمعتمدة كلها من EAC، أي أنها برامج هندسية، ومنها هندسة البرمجيات في KSU منذ 2010، وفي KFUPM منذ 2008، وفي PSU منذ 2021.
- برامج الذكاء الاصطناعي المعتمدة ثلاثة فقط، في IAU منذ 2021، وجامعة جدة منذ 2021، وجامعة الأمير مقرن منذ 2023، وهذا طبيعي لأن البرامج جديدة والاعتماد يحتاج دفعات من الخريجين.
وهنا تظهر أول نقطة يهم فيها اسم التخصص بشكل لا يقبل النقاش: لقب «مهندس». فبحسب دليل الاعتماد المهني للهيئة السعودية للمهندسين، يقبل التسجيل في فئة «مهندس» لخريج بكالوريوس هندسي معتمد أكاديمياً، أو غير معتمد إذا حقق معايير التعليم الهندسي واجتاز اختبار أساسيات الهندسة FE، أما خريج البكالوريوس غير الهندسي فيرفض طلبه إلا إذا كان لديه دراسات عليا في تخصص هندسي تحقق المعايير. ويحدد الدليل الحد الأدنى للتعليم الهندسي ببرنامج لا تقل مدته عن أربع سنوات، فيه 12 ساعة من العلوم الإنسانية والاجتماعية، و32 ساعة من الرياضيات والعلوم الأساسية، و48 ساعة من العلوم الهندسية والتصميم الهندسي.

وهذا يجيب عن رغبة أبي ريم: إذا كان لقب «مهندسة» مهماً للعائلة، أو كانت ريم تريد وظيفة تشترط التسجيل في الهيئة، فعلوم الحاسب ونظم المعلومات لن توصلها إليه مباشرة، وهندسة البرمجيات أو هندسة الحاسب هي الطريق. أما إذا كانت تريد أن تعمل مطورة برمجيات، فهذا اللقب لا يغير ما تفعله يومياً، فخريجة علوم الحاسب وخريجة هندسة البرمجيات تجلسان في نفس الفريق وتكتبان نفس الكود. والاعتماد الأكاديمي الوطني من المركز الوطني للتقويم والاعتماد الأكاديمي NCAAA التابع لهيئة تقويم التعليم والتدريب يستحق أن تسأل عنه أيضاً، وأفضل طريقة أن تسأل القسم عن حالة اعتماد البرنامج الوطني والدولي وتاريخها، لأن قوائم الاعتماد تتغير كل سنة.
أين يعمل الخريجون فعلاً؟
الآن نصل إلى السؤال الذي يقلق ريم وأهلها أكثر من غيره: ماذا بعد التخرج؟ وسوف نجيب عنه من ثلاث زوايا، الأولى ماذا تطلب الوظائف نفسها من شهادات، والثانية من أي تخصص جاء من يعملون فيها فعلاً، والثالثة إلى أين يتجه السوق.
ماذا تطلب كل وظيفة من شهادة؟
أوضح مصدر عام يربط كل وظيفة بالشهادة المعتادة لدخولها هو دليل المهن Occupational Outlook Handbook من مكتب إحصاءات العمل الأمريكي BLS، والأرقام فيه عن السوق الأمريكي، وآخر تحديث للصفحات التالية في 27 أغسطس 2026 ببيانات 2025، لذلك لا تقرأ الرواتب كرواتب سعودية، وإنما اقرأ عمود الشهادة والتخصصات المقبولة:
| الوظيفة | الشهادة المعتادة للدخول | التخصصات التي يذكرها الدليل | النمو المتوقع 2025-2035 |
|---|---|---|---|
| مطور البرمجيات والاختبار | بكالوريوس | الحاسب وتقنية المعلومات أو تخصص قريب مثل الهندسة أو الرياضيات | 10% |
| محلل أمن المعلومات | بكالوريوس، مع خبرة سابقة أقل من خمس سنوات | الحاسب وتقنية المعلومات أو الهندسة أو الرياضيات، وبعضهم يدخل بشهادة ثانوية مع تدريب وشهادات مهنية | 21% |
| محلل النظم | بكالوريوس | الحاسب وتقنية المعلومات، ونظم المعلومات الإدارية مفيدة، وبعض الشركات توظف خريجي الأعمال والآداب مع مهارة تقنية | 8% |
| مدير الشبكات والأنظمة | بكالوريوس | الحاسب وعلوم المعلومات أو الهندسة | تراجع 4% |
| عالم البيانات | بكالوريوس على الأقل، وبعض الوظائف ماجستير أو دكتوراه | الرياضيات والإحصاء وعلوم الحاسب والأعمال والهندسة | 35% |
| باحث علوم الحاسب والمعلومات | ماجستير أو أعلى، وبعض الجهات تفضل الدكتوراه | علوم الحاسب أو تخصص قريب مثل هندسة الحاسب | 22% |
| مهندس عتاد الحاسب | بكالوريوس | هندسة الحاسب أو الهندسة الكهربائية | 9% |
لاحظ أن الدليل لا يقول «بكالوريوس علوم الحاسب» لمطور البرمجيات، وإنما «الحاسب وتقنية المعلومات أو تخصص قريب»، أي عائلة كاملة من التخصصات، ولا يحدد تخصصاً واحداً إلا في وظيفتين: مهندس العتاد الذي يحتاج هندسة الحاسب أو الكهرباء، والباحث الذي يحتاج ماجستير أو أعلى. وهذا أول دليل على صحة جزء كبير مما قاله معلم ريم.
من أي تخصص جاء من يعملون في كل وظيفة؟
الجزء الثالث من مخرج البرنامج يقرأ إجابات المطورين المحترفين في استبيان Stack Overflow 2020 عن تخصصهم الجامعي، ثم يوزعها على الأدوار التي يعملون فيها:
== 3) Stack Overflow 2020: undergraduate major of professional developers, by role (%) ==
professional developers: 47193, answered the major: 40103
all roles 40103 66 8 8 7 11
role n CS/CE/SE IS/IT OtherEng Math/Sci Other
Developer, back-end 22866 68 8 7 6 10
Developer, front-end 14838 64 9 7 5 15
Developer, mobile 7757 71 8 7 4 10
DevOps specialist 4730 68 8 8 6 9
System administrator 3333 64 10 7 7 12
Database administrator 4199 64 10 7 7 13
Data or business analyst 2387 56 10 9 11 14
Engineer, data 2795 63 7 11 11 9
Data scientist or machine learning specialist 2702 58 4 11 20 8
Developer, embedded applications or devices 3853 68 6 15 6 6
Scientist 1242 54 3 10 28 5
Product manager 1623 64 7 9 7 13
how important was formal education to your career: Fairly important 27%; Very important 24%; Somewhat important 24%; Not at all important/not necessary 16%; Critically important 9%في المخرج أعلاه لاحظ التالي:
- الاستبيان نفسه جمع علوم الحاسب وهندسة الحاسب وهندسة البرمجيات في خيار واحد، وجمع نظم المعلومات وتقنية المعلومات وإدارة الأنظمة في خيار آخر، أي أن استبياناً بهذا الحجم لم ير فرقاً يستحق أن يسأل عنه بين هذه التخصصات.
- عائلة علوم الحاسب تشكل بين 54% و71% من كل دور، ونظم وتقنية المعلومات بين 3% و10%، والتوزيع شبه ثابت بين مطور Backend ومدير الأنظمة ومدير قواعد البيانات، أي أن الدور لا يختار تخصصاً معيناً من داخل الحوسبة.
- الاستثناء الواضح هو البيانات والبحث: في دور عالم البيانات والتعلم الآلي يرتفع خريجو الرياضيات والعلوم إلى 20%، وفي دور الباحث العلمي إلى 28%، لأن هذه الأدوار تحتاج إحصاء ورياضيات أكثر من غيرها.
- نحو ثلث المطورين من خارج عائلة علوم الحاسب أصلاً، من هندسة أخرى ورياضيات وتخصصات بعيدة، ومع ذلك يعملون في نفس الأدوار.
- سؤال أهمية التعليم الرسمي يعطي صورة متوازنة: 16% قالوا إنه غير مهم إطلاقاً، و9% قالوا إنه مهم جداً جداً، والأغلبية في المنتصف، أي أن الشهادة تساعد ولكنها ليست كل شيء.
- الاستبيان يمثل من يستخدمون Stack Overflow، وأغلبهم من الولايات المتحدة وأوروبا والهند، وعدد المطورين المحترفين من المملكة الذين أجابوا عن التخصص في 2020 كان 37 فقط، لذلك لا نستخرج منه أي رقم سعودي.

إلى أين يتجه سوق العمل Job Market؟
يعتمد تقرير مستقبل الوظائف 2025 من المنتدى الاقتصادي العالمي، الصادر في يناير 2025، على مسح لأصحاب العمل في عشرات الدول، ويقول إن أسرع الوظائف نمواً بالنسبة المئوية هي الوظائف التقنية، مثل متخصصي البيانات الضخمة Big Data Specialists ومهندسي التقنية المالية FinTech Engineers ومتخصصي الذكاء الاصطناعي وتعلم الآلة ومطوري البرمجيات والتطبيقات، وإن مهارات الذكاء الاصطناعي والبيانات الضخمة في رأس قائمة المهارات الأسرع نمواً، تليها الشبكات والأمن السيبراني ثم الثقافة التقنية Technology Literacy. ويقدر التقرير أن 39% من مهارات العامل الحالية سوف تتغير أو تصبح قديمة بين 2025 و2030.
وفي الجزء الخاص بالمملكة يذكر التقرير أن أكثر من 70% من أصحاب العمل في المملكة يرون الثقافة التقنية مهارة متصاعدة، تليها الشبكات والأمن السيبراني ثم الذكاء الاصطناعي والبيانات الضخمة، وأن 38% من الشركات العاملة في المملكة تتوقع إلغاء اشتراط الشهادة الجامعية لتوسيع خيارات التوظيف، مقابل 19% في المتوسط العالمي. ويقول التقرير في قسم تقييم المهارات إن الخبرة العملية هي أكثر طريقة يعتمد عليها أصحاب العمل في التقييم بنسبة 81%، ثم اختبارات المهارات بنسبة 48%، وتأتي الشهادة الجامعية في المرتبة الثالثة بنسبة 43%. وانتبه إلى أن هذه توقعات أصحاب عمل شاركوا في مسح، وليست قرارات حكومية أو أرقام توظيف فعلية.
الذكاء الاصطناعي: بكالوريوس مستقل أم مسار داخل علوم الحاسب؟
نعود إلى ابن خالة ريم الذي يدرس بكالوريوس الذكاء الاصطناعي. ماذا يدرس فعلاً مقارنة بطالب علوم الحاسب؟ رأينا في التجربة أن بكالوريوس الذكاء الاصطناعي في IAU يعطي 29% من ساعاته الإجبارية التقنية لمواد البيانات والذكاء الاصطناعي، ومعها 17% رياضيات، وأن مسار الذكاء الاصطناعي في علوم الحاسب بجامعة الملك سعود يصل إلى 21%، وأن الأساس في الحالتين واحد تقريباً: برمجة وهياكل بيانات وخوارزميات وأنظمة تشغيل ورياضيات. والفرق إذن في التوقيت والعمق: البكالوريوس المستقل يبدأ مواد التعلم الآلي مبكراً ويعطيها مساحة أكبر، وعلوم الحاسب مع المسار يؤجلها إلى السنتين الأخيرتين ويعطيك اسم شهادة أوسع.
ثم السؤال الأهم: ماذا تطلب وظائف الذكاء الاصطناعي؟ والجزء الرابع من المخرج يقرأ إجابات استبيان Stack Overflow 2026 عن أعلى شهادة لكل دور:
== 4) Stack Overflow 2026: highest education by role (%) ==
role n NoDegree Bachelor Master PhD/Prof
Developer, full-stack 6932 24 49 24 3
Developer, back-end 3435 17 48 32 4
Developer, mobile 672 20 47 31 3
DevOps engineer or professional 519 22 48 26 4
Cloud infrastructure engineer 216 27 44 26 3
System administrator 283 44 30 18 8
Cybersecurity or InfoSec professional 221 36 36 22 6
Data engineer 419 16 42 35 6
Data scientist 299 6 27 42 25
AI/ML engineer 439 15 34 40 12
Developer, AI apps or physical AI 193 26 36 31 8
Applied scientist 178 7 15 33 45
Academic researcher 698 15 14 31 40في المخرج أعلاه لاحظ التالي:
- كلمة «الذكاء الاصطناعي» تغطي وظائف مختلفة جداً: مطور تطبيقات الذكاء الاصطناعي Developer, AI apps يبني منتجات فوق نماذج جاهزة، و26% منهم بلا بكالوريوس، أي أنه قريب جداً من مطور Full-stack (24%).
- مهندس الذكاء الاصطناعي وتعلم الآلة AI/ML Engineer يدرب النماذج وينشرها، و52% منهم لديهم ماجستير أو دكتوراه، مقابل 27% فقط في Full-stack.
- عالم البيانات Data Scientist والعالم التطبيقي Applied Scientist والباحث الأكاديمي في الطرف الآخر، فنحو ثلثي كل منهم أو أكثر لديه ماجستير أو أعلى، والعالم التطبيقي وحده 45% منهم دكتوراه أو شهادة مهنية.
- مدير الأنظمة ومتخصص الأمن السيبراني فيهما أعلى نسبة بلا بكالوريوس (44% و36%)، وهذا يتفق مع ما ذكره BLS عن دخول بعض محللي الأمن بشهادة ثانوية مع شهادات مهنية.

والخلاصة لريم في هذا الجزء أن بكالوريوس الذكاء الاصطناعي ليس بوابة مختلفة عن علوم الحاسب، وإنما نسخة منه تقدم التعلم الآلي مبكراً، وأن العامل الحاسم في وظائف الذكاء الاصطناعي العميقة هو الرياضيات والدراسات العليا والمشاريع، وليس اسم البكالوريوس. فإذا كانت تريد بناء تطبيقات فوق النماذج فأي تخصص حوسبة مع مشاريع جيدة يكفي، وإذا كانت تريد تدريب النماذج والبحث فيها فعليها أن تخطط من الآن للجبر الخطي والاحتمالات والإحصاء ثم الماجستير، سواءً اختارت الذكاء الاصطناعي أو علوم الحاسب. وقد يتساءل البعض: إذا كانت النتيجة متقاربة إلى هذا الحد، فما فائدة البكالوريوس المستقل؟ والإجابة أنه يعطي مواد البيانات والذكاء الاصطناعي مساحة أكبر كما رأينا بالأرقام، وهذا مفيد لمن حسم اهتمامه مبكراً وهو متأكد منه، أما من لم يحسم بعد فالبرنامج الأوسع يترك له الباب مفتوحاً إلى تطوير البرمجيات والأنظمة والأمن دون أن يحتاج إلى شرح اسم شهادته في كل مقابلة. والمصطلحات التي ستقابلها في هذا الطريق جمعناها في مصطلحات الذكاء الاصطناعي ونماذج اللغة.
هل الوظيفة مرتبطة بالتخصص؟ نختبر الرأي الشائع
رأينا في عرب رووت، وهو نفس ما قاله معلم ريم، أن الوظيفة في الواقع العملي كثيراً ما لا ترتبط بالتخصص، وأن المهارة والمشاريع والخبرة هي ما يحسم التوظيف. ولا يكفي أن نقول هذا الرأي، بل يجب أن نختبره بالأدلة التي جمعناها، فنرى أين يصح وأين لا يصح.
أين يصح: الوظائف التي لا تسأل عن اسم التخصص
- تطوير البرمجيات بكل أنواعه: BLS يقبل عائلة الحاسب كاملة مع الهندسة والرياضيات، وبيانات Stack Overflow تبين أن توزيع التخصصات شبه ثابت بين أدوار التطوير، وأن نحو ثلث المطورين من خارج عائلة علوم الحاسب أصلاً.
- البنية التحتية والعمليات: مدير الأنظمة وDevOps والسحابة، حيث تصل نسبة من لا يحملون بكالوريوس إلى 22% في DevOps و44% في إدارة الأنظمة بحسب استبيان 2026.
- الأمن السيبراني التشغيلي: مثل مراكز العمليات والاستجابة للحوادث واختبار الاختراق، فالإطار السعودي لكوادر الأمن يصف الأدوار بالمهام والمعارف والمهارات، وBLS يذكر أن بعضهم يدخل بتدريب وشهادات مهنية.
- اتجاه أصحاب العمل في المملكة: 38% من الشركات العاملة في المملكة تتوقع إلغاء اشتراط الشهادة بحسب تقرير المنتدى الاقتصادي العالمي، والخبرة العملية هي أول طريقة للتقييم عالمياً.
وفي كل هذه الوظائف يسأل صاحب العمل عن شيء واحد في الحقيقة: هل تستطيع أن تقوم بالعمل؟ وتجيب عنه المقابلة التقنية والمشاريع والتدريب، وقد كتبنا كيف تقيم الشركات المرشحين في مقال كيف تدير مقابلة تقنية تكشف مستوى المرشح، ولماذا يحتاج كل تقني إلى البرمجة وLinux والشبكات معاً في مقال المهندس الشامل.
أين لا يصح: البوابات التي تقرأ اسم البرنامج
- لقب مهندس والوظائف التي تشترطه: الهيئة السعودية للمهندسين ترفض تسجيل خريج البكالوريوس غير الهندسي في فئة مهندس دون دراسات عليا هندسية، فالوظيفة التي تشترط هذا التسجيل مغلقة أمام خريج علوم الحاسب ونظم المعلومات مهما كانت مهارته.
- الدراسات العليا والبحث: برامج الماجستير تشترط عادة خلفية قريبة، وBLS يجعل الماجستير الشهادة المعتادة لباحث علوم الحاسب، و78% من العلماء التطبيقيين في استبيان 2026 لديهم ماجستير أو أعلى، وهنا العمق النظري والرياضيات في البكالوريوس يصنع فرقاً حقيقياً.
- الذكاء الاصطناعي العميق: تدريب النماذج وبحثها يحتاج رياضيات وإحصاء لا تعطيها خطط نظم المعلومات وتقنية المعلومات بالقدر الكافي، ورأينا في جدول CC2020 أن الذكاء الاصطناعي بين 1 و2 في هذه التخصصات.
- العتاد والأنظمة المدمجة: BLS يحدد هندسة الحاسب أو الكهرباء لمهندس العتاد، والدوائر والتصميم الرقمي لا يدرسها غير طالب هندسة الحاسب تقريباً.
- الفلترة الآلية في الوظيفة الأولى: كثير من إعلانات الوظائف تكتب تخصصات بعينها، وأنظمة تتبع المتقدمين ATS قد تستبعد الاسم غير المذكور قبل أن يقرأ أحد مشاريعك، وهذا يهم في الوظيفة الأولى أكثر من الثانية، لأن الخبرة تحل محل الشهادة بعد سنوات.
والنتيجة أن الرأي صحيح في أغلب الوظائف التقنية، وغير صحيح في أربع بوابات واضحة، لذلك القاعدة العملية لريم: اختاري التخصص بحسب البوابة التي قد تحتاجينها، ثم ابني المهارة التي تحتاجها الوظيفة مهما كان التخصص.
جدول القرار Decision Table: بحسب ما تحب وما تريد أن تعمل
الجدول التالي يجمع كل ما سبق في قرار عملي، فابدأ من العمود الأول، أي ما يشدك فعلاً، ثم اقرأ التخصص الأقرب والبديل المقبول:
| ما يشدك ونوع العمل | التخصص الأقرب | بديل مقبول | انتبه إلى |
|---|---|---|---|
| الخوارزميات والرياضيات وحل المسائل الصعبة، والبحث أو الذكاء الاصطناعي العميق | علوم الحاسب | بكالوريوس الذكاء الاصطناعي | الرياضيات ثقيلة، وخطط للماجستير إذا أردت البحث |
| بناء أنظمة كبيرة في فريق، والجودة والمعمارية | هندسة البرمجيات | علوم الحاسب | لقب مهندس يحتاج برنامجاً هندسياً معتمداً |
| تطوير تطبيقات الويب والجوال | علوم الحاسب أو هندسة البرمجيات | تقنية المعلومات أو نظم المعلومات مع مشاريع قوية | المشاريع والتدريب أهم من الاسم هنا |
| السيرفرات والشبكات والسحابة والدعم | تقنية المعلومات | علوم الحاسب بمسار الشبكات | الشهادات المهنية والتطبيق العملي مهمة |
| العمليات والبيانات والقرار في المؤسسة، وإدارة المشاريع والمنتجات | نظم المعلومات | تقنية المعلومات | لا تهمل البرمجة وقواعد البيانات |
| حماية الأنظمة والتحقيق في الحوادث والحوكمة | الأمن السيبراني | علوم الحاسب أو تقنية المعلومات بمسار أمن | اسأل هل البرنامج مستقل أم مسار، وماذا يدرس فعلاً |
| البيانات والإحصاء والتحليل | علم البيانات | علوم الحاسب أو نظم المعلومات بمسار بيانات | الإحصاء هو الأساس، وليس الأدوات |
| المعالجات والدوائر والأنظمة المدمجة والروبوتات | هندسة الحاسب | الهندسة الكهربائية | لا يوجد بديل حوسبي حقيقي هنا |
| لا تعرف بعد | علوم الحاسب | هندسة البرمجيات | الأوسع أساساً والأسهل في الانتقال منه |
أخطاء شائعة عند اختيار التخصص
- «الذكاء الاصطناعي هو المستقبل، فيجب أن أدرس بكالوريوس الذكاء الاصطناعي»: رأينا أن البكالوريوس المستقل نسخة من علوم الحاسب بمواد تعلم آلي أكثر، وأن وظائف الذكاء الاصطناعي العميقة تطلب الرياضيات والماجستير أكثر مما تطلب اسم البكالوريوس.
- «علوم الحاسب برمجة فقط»: نسبة البرمجة في علوم الحاسب مثل بقية التخصصات تقريباً، وما يميزها الأسس النظرية والرياضيات، فإذا كنت تكره الرياضيات فهذا التخصص سيكون ثقيلاً عليك.
- «نظم المعلومات تخصص سهل بلا برمجة»: IS2020 جعل البرمجة إلزامية، والخطط السعودية فيها برمجة وقواعد بيانات بنسب قريبة من غيرها.
- «الأمن السيبراني رواتبه أعلى فهو الأفضل»: الأمن مجال واسع، والتشغيلي منه يعتمد على المهارة والشهادات المهنية أكثر من الشهادة، وكثير من محترفيه جاؤوا من علوم الحاسب وتقنية المعلومات.
- «التخصص يحدد وظيفتي مدى الحياة»: بيانات Stack Overflow تبين أن نحو ثلث المطورين من خارج عائلة علوم الحاسب، وتقرير المنتدى الاقتصادي العالمي يتوقع تغير 39% من المهارات خلال خمس سنوات، فالتخصص بداية وليس قيداً.
- «التخصص لا يهم إطلاقاً»: هذا أيضاً خطأ، فهناك بوابات واضحة يهم فيها، ومنها لقب مهندس والبحث والعتاد، فلا تقم بإغلاق باب تحتاجه لأن أحداً قال لك إن الشهادة لا قيمة لها.
- «أختار بحسب اسم البرنامج»: افتح الخطة الدراسية واقرأ المواد الإجبارية، فقد رأينا مساراً اسمه الذكاء الاصطناعي لا تتجاوز مواده الإجبارية 10% من الساعات.
كيف تصل من تخصصك إلى وظائف التخصصات الأخرى؟
إذا اخترت تخصصاً ثم وجدت أن الوظيفة التي تريدها أقرب إلى تخصص آخر، فلا تقم بتغيير التخصص قبل أن تنظر إلى ما ينقصك فعلاً، لأن الأساس المشترك كبير كما رأينا، والفجوة في الغالب ثلاثة أو أربعة مجالات تستطيع أن تملأها بالمواد الاختيارية والمشاريع والتدريب:
| تخصصك | إلى وظائف | ما تضيفه |
|---|---|---|
| نظم المعلومات | تطوير البرمجيات | مادتا هياكل البيانات والخوارزميات كاختيار، ومشروعان كاملان على GitHub، وتدريب في فريق تطوير |
| تقنية المعلومات | الأمن السيبراني | مسار الأمن إن وجد، وLinux والشبكات بعمق، وشهادة مهنية أساسية، ومختبر منزلي تطبق فيه |
| علوم الحاسب | نظم المعلومات وإدارة المنتجات | مادة إدارة مشاريع وتحليل نظم، وفهم العمليات والأعمال، ومشروع يحل مشكلة جهة حقيقية |
| هندسة البرمجيات | الذكاء الاصطناعي | الجبر الخطي والاحتمالات والإحصاء، ومادتا تعلم الآلة والتعلم العميق، ومشروع تخرج فيه نموذج حقيقي |
| علوم الحاسب | البنية التحتية وDevOps | الشبكات والسحابة كاختيار، وLinux يومياً، وأتمتة النشر في مشاريعك |
| أي تخصص حوسبة | الأمن السيبراني التشغيلي | مواد الأمن الاختيارية، والتطبيق في بيئات مصرح بها، والاطلاع على أدوار الإطار السعودي لكوادر الأمن |
| أي تخصص غير هندسي | وظيفة تشترط لقب مهندس | لا يوجد طريق مختصر: ماجستير في تخصص هندسي يحقق معايير الهيئة السعودية للمهندسين |
والتدريب التعاوني Co-op أو الصيفي هو أقصر جسر في هذا الجدول كله، لأنه يعطيك الخبرة التي تحل محل اسم التخصص في السيرة الذاتية، وقد شرحنا كيف تبني الشركات برامج التدريب في مقال لماذا تحتاج شركتك برنامج تدريب Internship، فاقرأه لتعرف ما تبحث عنه الشركة فيك.
ماذا اختارت ريم؟
جلست ريم مع الجدول، وكتبت ما تعرفه عن نفسها: تحب الرياضيات، واستمتعت بمادة البرمجة في الثانوية، ولا تعرف بعد هل تريد الذكاء الاصطناعي أم تطوير البرمجيات، ولا تريد العتاد. ثم قرأت الخطط الثلاث بنفسها، فوجدت أن عرض «الأمن السيبراني» هو علوم الحاسب بمسار أمن، وأن نظم المعلومات فيها ربع الساعات للأعمال والإدارة، وأن علوم الحاسب في جامعة الملك سعود فيها مسار للذكاء الاصطناعي يرفع مواده إلى قرابة ما في بكالوريوس الذكاء الاصطناعي، مع اسم شهادة أوسع وأساس نظري يفتح باب الماجستير. أما لقب «مهندسة» فناقشت أباها فيه بالدليل: إن احتاجته يوماً فطريقه الماجستير الهندسي أو هندسة البرمجيات من البداية، وهي لا تريد وظيفة تشترطه الآن.
فاختارت علوم الحاسب، وكتبت خطة صغيرة: الجبر الخطي والإحصاء بجدية، ومسار الذكاء الاصطناعي في السنة الثالثة إن بقي اهتمامها، ومشروع صغير كل فصل على GitHub، وتدريب صيفي بعد السنة الثانية، ثم قرار الماجستير في السنة الرابعة. ولاحظ أن هذا ليس الاختيار الصحيح للجميع، فلو كانت ريم تحب تنظيم العمل وفهم المؤسسات أكثر من الرياضيات لكانت نظم المعلومات أنسب لها، ولو كان ما يشدها هو المعالج والدائرة لكانت هندسة الحاسب. والمهم أنها اختارت من الخطط والأدلة، وليس من الاسم أو من رأي واحد.
قائمة تحقق Checklist قبل أن تختار
- اكتب نوع المشكلات الذي يشدك: الخوارزمية، أو النظام الكبير، أو السيرفر والشبكة، أو المؤسسة والقرار، أو الحماية، أو البيانات، أو الدائرة.
- افتح الخطة الدراسية الرسمية لكل عرض من موقع القسم، وتأكد من سنة الخطة.
- عد المواد الإجبارية في كل مجال، ولو يدوياً، ولا تعد قوائم المواد الاختيارية.
- اسأل: هل البرنامج مستقل أم مسار داخل برنامج آخر، وما اسم الشهادة التي ستحملها؟
- ابحث عن البرنامج في قاعدة ABET، واسأل القسم عن الاعتماد الوطني وتاريخه.
- إذا كان لقب مهندس مهماً لك أو لوظيفة تريدها، فاختر برنامجاً هندسياً معتمداً.
- إذا كنت تفكر في البحث أو الذكاء الاصطناعي العميق، فتأكد أن الخطة فيها جبر خطي واحتمالات وإحصاء، وخطط للماجستير.
- اسأل عن التدريب التعاوني أو الصيفي ومدته، فهو أقرب جسر إلى الوظيفة الأولى.
- اقرأ إعلانات الوظائف التي تريدها بعد أربع سنوات، ولاحظ التخصصات والمهارات التي تذكرها.
- تذكر أن الأساس المشترك كبير، وأنك تستطيع أن تصل إلى وظائف التخصصات المجاورة بالمواد الاختيارية والمشاريع.
الخلاصة
وصلنا لنهاية الموضوع، وأهم ما فيه:
- التخصصات التقنية مواقع مختلفة على خريطة واحدة، من العتاد إلى المؤسسة ومن النظرية إلى التطبيق، وليست درجات في سلم.
- تقارير ACM وIEEE هي أصدق تعريف لكل تخصص، وجدول CC2020 يبين أن الفروق في ثلاثة أو أربعة مجالات لكل تخصص، والباقي مشترك.
- في 24 خطة سعودية: هندسة البرمجيات تميزها مواد هندسة البرمجيات بنحو 22%، ونظم المعلومات مواد الأعمال بنحو 23%، وهندسة الحاسب العتاد بنحو 23%، والأمن مواد الأمن بنحو 26%، والذكاء الاصطناعي مواد البيانات والذكاء الاصطناعي بنحو 21%.
- كثير من برامج الأمن والذكاء الاصطناعي مسارات داخل علوم الحاسب أو تقنية المعلومات، فاقرأ المواد الإجبارية وليس اسم البرنامج.
- هندسة البرمجيات وهندسة الحاسب معتمدتان من لجنة الهندسة في ABET، والهيئة السعودية للمهندسين لا تسجل خريج البكالوريوس غير الهندسي في فئة مهندس دون دراسات عليا هندسية.
- في أغلب الوظائف التقنية لا يفرق صاحب العمل بين تخصصات الحوسبة، والمهارة والخبرة والمشاريع تحسم التوظيف، و38% من الشركات في المملكة تتوقع إلغاء اشتراط الشهادة.
- التخصص يهم في أربع بوابات: لقب مهندس، والدراسات العليا والبحث، والذكاء الاصطناعي العميق، والعتاد، ومعها الفلترة الآلية في الوظيفة الأولى.
- وظائف الذكاء الاصطناعي طيف واسع: بناء التطبيقات فوق النماذج قريب من تطوير البرمجيات، وتدريب النماذج والبحث فيها يميل إلى الرياضيات والماجستير.
وفي مقالات قادمة بإذن الله من مرحلة الأساسيات سوف نبدأ بما يحتاجه كل طالب مهما كان تخصصه: الأنظمة العددية، وهياكل البيانات، والخوارزميات. وأقرب المقالات إلى هذا الموضوع على الموقع:
دليلماذا يحدث عندما تشغل برنامج Hello World؟نتتبع برنامج C صغيراً من المحرر إلى الشاشة، فترى كل طبقة يمر بها في الجهاز حتى تظهر الجملة أمامك.
دليلهياكل البيانات Data Structures للمبتدئينلماذا تكون نفس العملية سريعة في هيكل بيانات وبطيئة في آخر، وأين تقابل كل هيكل في السيرفرات وقواعد البيانات.
دليلBig-O للمبتدئين: لماذا يبطؤ كودك عندما تكبر البياناتلماذا يعمل الكود بسرعة على مئة صف ثم يتوقف على مئة ألف، وكيف تقرأ Big-O وتكتشف الخوارزمية البطيئة في كودك.
دليلالتعلم الآلي Machine Learning للمبتدئينكيف تتعلم الآلة القواعد من الأمثلة، وكيف تعرف أن النموذج تعلم فعلاً ولم يحفظ الإجابات، ومتى تختار كل خوارزمية.
دليلمصطلحات الأمن السيبراني للمبتدئين: من CVE إلى Purple Teamماذا تعني الكلمات التي تتكرر في كل عرض أمني، من رقم الثغرة وخطورتها إلى أدوات المراقبة SOC والفرق الحمراء والزرقاء.
دليلالمهندس الشامل: لماذا يحتاج كل تقني إلى البرمجة وLinux والشبكات معاً، من هاكرز الستينات إلى عصر الذكاء الاصطناعيكان الهاكر في الأصل مبرمجاً يفهم نظام التشغيل والشبكة معاً، وما زال هذا الاتساع هو ما يجعلك ذا قيمة في عصر الذكاء الاصطناعي. رأيي في الاتساع والعمق، مع خريطة الموقع كاملة ومسار مقترح للمبتدئ.
دليللماذا تحتاج شركتك برنامج تدريب Internship؟ماذا تستفيد الشركة من برنامج التدريب بالأرقام المنشورة، وأنواعه من الصيفي إلى تمهير، وما يقوله النظام في المملكة، ولماذا تفشل البرامج.
دليلكيف تدير مقابلة تقنية تكشف مستوى المرشح؟كيف تبني مقابلة تقنية منظمة تفرق بين المبتدئ والخبير بأسئلة المتابعة والتقييم بالدرجات بدلاً من الانطباع.سجل التحديثات
- أكتوبر 2026: كتابة المقال، وجمع 27 خطة دراسية رسمية من سبع جامعات سعودية، وتشغيل البرنامج majors_data.py على Python 3.13 مع واجهة ABET العامة واستبياني Stack Overflow 2020 و2026، وقراءة تقارير CC2020 وCS2023 وSE2014 وCE2016 وIT2017 وIS2020 وCSEC2017.
- أكتوبر 2026: تصحيح فقرة علم البيانات بعد مراجعة: أضفنا التقرير النهائي CCDS2021 من ACM (يناير 2021) بمجالاته الأحد عشر، بدل الاكتفاء بوصف CC2020 له بأنه «قيد التطوير».