توطين الصناعات الرائدة

 

المساهمة في التحول الرقمي

 

كوادر وطنية مدربة

 

تخفيض نسبة غير العاملين

  المسابقة البرمجية الوطنية الثانية

٢٠١٨-٢٠١٩

1.  مقدمة:

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

2.  التعريف بالمسابقة

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

3.  المشاركون

يشترط للمشارك في هذه المسابقة أن يكون سعوديا، ويكون العمر أكبر من ١٢ سنه، وكذلك الإلمام الجيد باللغة الإنجليزية وبلغات البرمجة المستخدمة في هذه المسابقة وهي لغتي الجافا أو++C.

4.  مواعيد المسابقة

a. المرحلة الأولى:15-11-2018– 22-11-2018
b. المرحلة الثانية:  19-1-2019 - 18-01-2019

5.  آلية المسابقة: ستتم المسابقة البرمجية على مرحلتين:

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

سوف يراعى ضمان أن تتجنب المسائل الاعتماد على معرفة تفصيلية من مجال تطبيق معين أو لغة برمجة معينة.

سيتم قراءة المسألة من شاشة المدخلات عن طريق لوحة المفاتيح “console”، واظهار المخرجات على شاشة المخرجات في جهاز الحاسب الآلي للمتسابق.

لابد أن يتطابق ناتج البرنامج مع نسق الإخراج المحدد في وصف المشكلة حيث أن عملية التحكيم آلية.

سيقوم المحكم الآلي باختبار البرنامج عن طريق ملف إدخال سري لعدة حالات (أو مجموعات بيانات).

سوف يتم لكل مسألة في المسابقة وجود الأقسام الأربعة التالية:

الوصف: يوضح هذا القسم المسألة المطلوب من المتسابقين حلها.

تنسيق الإدخال: عبارة عن وصف مفصل حول كيفية تنسيق مدخلات البرنامج.

تنسيق الإخراج: يحدد هذا القسم تنسيق إخراج البرنامج. يجب أن تكون مخرجات البرنامج مطابقة للتنسيق المحدد للمسألة.

عينة الإدخال / الإخراج: مثال لعينة الإدخال / الإخراج التي اجتازت بنجاح برنامج المحكمين.

ملاحظة: سيتم اختبار البرنامج بناء على مجموعة بيانات مختلفة (وأكثر تعقيدا) وبالتالي لا تعني اجتياز عينات الاختبار الإدخال / الإخراج البسيطة أن البرنامج المقدم صحيحا.

بما أن عملية المترجم والاختبار عملية آلية، يجب تسمية البرنامج في لغة الجافا “Main.java” أو في لغة C++  “easy.cpp”.

يجب أن يكون الإخراج دقيقا بتنسيق الإخراج: التهجئة وعلامات الترقيم والتباعد والحالة (الأحرف الكبيرة / الصغيرة) كلها مهمة ما لم يتم تحديد خلاف ذلك في وصف المشكلة.

النوع الثاني من الأسئلة: مسائل برمجية معرفيه "اختيار من متعدد":

حيث يتم طرح سؤال برمجي معرفي للمتسابق مع عدة اختيارات. يقوم المتسابق باختيار الإجابة الصحيحة من بين هذه الاختيارات.

6.  كيفية تقديم الحلول


يجب أن يتم تسليم البرامج عن طريق الصفحة المخصصة للمسائل على بوابة المسابقة البرمجية.

يسمح للمتسابق أن يسلم حل للمسائل البرمجيه المطروحة أكثر من مرة ولكن سيكون هناك عقوبة عند تسليم حل غير صحيح بحد أقصى ٥ مرات.

يجب قراءة كل المدخلات من شاشة المدخلات عن طريق لوحة المفاتيح “console”. وفي حالة مسائل الاختيار من متعدد يكتفى فقط باختيار الإجابة الصحيحة بحد اقصى محاولة واحدة فقط.

إذا قام المتسابق بتقديم برنامج يتطلب تدخل المستخدم، سوف تتلقى على الأرجح خطأ "تجاوز المدة المسموحة للتنفيذ".

يجب أن يراعي المتسابقين الذين يكتبون "اضغط أي مفتاح للاستمرار" في نهاية برنامجهم تجنب ذلك الأمر حتى لا يضيع الوقت المحدد لتنفيذ لبرنامج.

المرحلة الثانية: ستكون من خلال احضار المتسابقين الى مقر المسابقة ويكون التسابق من خلال مسارات Tracksللعدد المتوقع ٤٠ مرشح من المرحلة الأولى. يتم تقسيمهم الى فرق بحيث يتكون كل فريق من متسابقين:

المسار الأول :تطوير وتعديل الألعاب الإلكترونية وملحقاتها Games

المسار الثاني :تحدي الاختراقات الرقمية  أمن المعلومات  Security

المسار الثالث:تطوير المواقع الإلكترونية وتطبيقات الجوال Mobile Application

المسار الرابع :تطبيقات خدمة ذوي الهمم العالية Special Needs Applications

سيتم إعطاء عدة مسائل في المسار الذي اختاره في بداية المسابقة ويقوم المتسابق بحلها خلال ٢٤ ساعة، يجب حل المسائل بلغة الجافا أو لغة  C++وذلك باستخدام المحرر المتوفر على جهاز الحاسب المتاح للمتسابق.

7.   المكافآت والجوائز

=>  المرحلة الأولى: يحصل الفريق الفائز شهادة اتمام المسابقة الوطنية البرمجية الثانية. ويتأهل للمنافسة في المرحلة الثانية للمسابقة
=>  المرحلة الثانية: يحصل الفريق الفائز على شهادة اتمام المسابقة الوطنية البرمجية الثانية (المرحلة الأولى و الثانية)
=>  اجمالي الجوائز 60,000ريال سعودي للفائزين في المرحلة الثانية موزعة كالتالي:
-    يحصل الفريق الفائز في المركز الأول في كل مسار على 7000ريال سعودي.
-    يحصل الفريق الفائز في المركز الثاني في كل مسار على 5000ريال سعودي.
-    يحصل الفريق الفائز في المركز الثالث في كل مسار على3000ريال سعودي.