به گزارش گروه دانشگاه خبرگزاری دانشجو به نقل از روابط عمومی مسابقات، گروه فناوری اطلاعات شریف «Sharif ICT Group» با همکاری معاونت علمی و فناوری ریاست جمهوری، پارک علم و فناوری دانشگاه صنعتی شریف و صندوق نوآوری و شکوفایی ریاست جمهوری وحمایت استراتژیک مجموعه زیبال، شرکت پرداخت نوین آرین، شرکت راهبرد هوشمند شهر، گروه صنعتی مینو، شرکت اندیش طراحان و مجموعه تریبون در حال برگزاری ششمین دوره مسابقات کد نویسی مبهم "Spaghetti Contest ۶" به تاریخ نهم اسفند ماه ۱۴۰۳ و در محل صندوق نوآوری و شکوفایی ریاست جمهوری است.
این مسابقات که از با سابقهترین و معتبرترین رویدادها در حوزه برنامه نویسی میباشد همواره با حضور گسترده برنامه نویسان حرفهای از کل کشور و همکاری بی نظیر مجموعههای خصوصی و دولتی همراه بوده و با هدف شناسایی ایدههای بکر و خلاقانه و همچنین شناسایی برنامه نویسان مستعد و برجسته کشور و ورود این افراد به بازار کار برگزارمیشود.
مسابقات کد نویسی مبهم رویدادی در راستای تخمین مهارت شرکت کنندگان در نوشتن کدهای ناخوانا یا در اصطلاح برنامه نویسان همان کد کثیف (Dirty Code) است.یک برنامه را هنگامی ناخوانا مینامیم که اگر کد برنامه در اختیار برنامه نویس دیگر قرار دهیم و او معنای تک تک دستورات برنامه را بداند، شیوه کنار هم چیده شدن دستورات و پرشهای تو در توی میان آنها به حدی پیچیده و گیج کننده باشد که برنامه نویس بدون اجرای این برنامه، نتواند تشخیص دهد که خروجی برنامه چیست.هر تیم برای شرکت در مسابقه باید به ناخواناترین شکل ممکن، برنامهای به زبان C++ بنویسد که با هر بار اجرا شدن، رشتهای معین به طول حداقل یک و حداکثر سه کاراکتر را روی صفحه نمایش چاپ کند.
این رشته میبایست همواره ثابت باشد، نه آنکه در هر بار اجرا رشتهای متفاوت چاپ کند، و یا اینکه با انتقال به کامپیوتری دیگر، خروجی متفاوتی بدهد. تمام کاراکترهای این رشته باید روی صفحه کلید موجود و قابل تایپ باشند.
تیمها باید کدهای خود را تا یک هفته قبل از برگزاری رویداد برای تیم داوری ارسال کنند. کدها توسط تیم داوری بررسی شده و در صورت تایید کد، مجوز حضور در رویداد صادر خواهد شد.در طول مدت بررسی کدها توسط تیم داوری، شرکت کنندگان با تیم داوری در تماس هستند و در صورت شناسایی ایراد در کدها، این موضوع توسط تیم داوری به شرکت کنندگان اطلاع داده میشود و تیمها موظف هستند تا ایرادات کدهای خود را برطرف کنند تا مجوز ورود به مسابقه را دریافت کنند.
تیمهایی که مجوز ورود به مسابقات را دریافت کردند میتوانند در مرحله حضوری رویداد که در یک روز و به مدت ۸ ساعت برگزار میشود شرکت نمایند.در روز برگزاری مسابقه در ابتدا کلیه کدهای تایید شده در یک دفترچه چاپ شده و بین کلیه تیمهای شرکت کننده توزیع میشود.در این مرحله هر تیم هشت ساعت فرصت دارد تا خروجی کدهای تیم دیگر را حدس بزند. شکستن هر کد برای تیم یک امتیاز در بر دارد و هر تیمی که تعداد بیشتری کد مبهم را شناسایی کند امتیاز بیشتری دریافت خواهد کرد. البته این نکته قابل ذکر است که در صورتی که کد یک تیم توسط تیم دیگری شکسته شود یک امتیاز منفی برای تیم صاحب کد در نظر گرفته میشود (البته این امتیاز منفی فقط در اولین بار شکسته شدن کد مد نظر قرا گرفته میشود و اگر تیمهای دیگر هم کد تیم را شناسایی کردند دیگر امتیاز منفی برای تیم در نظر گرفته نمیشود.)بین تیمهایی که برنامه هایشان از این نظر امتیاز مساوی دارند تیمی برنده است که تعداد کد بیشتری را شکافته باشد و در صورت مساوی بودن تعداد مسائل حل شده، تیمی برنده است که مجموع زمان حل مسئله هایش کمتر باشد.
در مدت مسابقه، هر تیمی که خروجی یک برنامه را حدس بزند باید حدسش را با داور گروه در میان بگذارد تا داور درستی یا نادرستی حدس را اعلام کند. در صورت درست بودن پاسخ امتیاز برای تیم در نظر گرفته میشود و در صورت عدم پاسخ صحیح کد مورد به تیم برگردانده میشود تا مجددا برای شکستن کد اقدام نمایند. تیمها بهتر است در هنگام اعلام خروجی یک برنامه دقت کنند، زیرا به ازای هر حدس نادرست، مجموع زمان حل مسئله هایشان ده دقیقه افزوده میشود.در کل مدت مسابقه امتیازات کسب شده توسط تیمها بر روی یک نمایشگر بزرگ قابل مشاهده است و تیمها رتبه خود را در این نمایشگر مشاهده میکنند.
البته در یک ساعت پایانی مسابقه نمایشگر خاموش میشود تا نتیجه نهایی مسابقه در اختتامیه رویداد اعلام شود.اعضای هر تیم در حین مسابقه حق مشورت با یکدیگر یا استفاده از انواع کتاب جزوه، ماشین حساب و خط کش دارند، اما استفاده از هرگونه کامپیوتر یا موبایل در حین مسابقه ممنوع میباشد.مخاطبین مسابقات کدنویسی مبهم چه کسانی هستند؟
یادگیری (بررسی کدهای مختلف، نوشتن کد جدید و ارتباط مستمر با تیم داوری، باعث افزایش سطح علمی و مهارت افراد میشود) تمرین (ارسال کدها مبهم برای تیم داوری، مشاوره و گرفتن تایید فرصتی را برای محک زدن توانایی افراد فراهم میآورد) رقابت (آزمون انتخابی و آزمون نهایی محل اصلی رقابت بین افراد برتر هستند و نشاندهنده مهارت افراد در برنامهنویسی باشد).استخدام در شرکتهای معتبر (پس از برگزاری مسابقات، برای تیمهای برتر امکان استخدام در شرکتهای معتبر فعال در حوزه فناوری اطلاعات که از برگزاری این رویداد حمایت کردهاند وجود دارد).
جهت اطلاع از روند برگزاری مسابقه، قوانین و ثبت نام به وبسایت رویداد مراجعه بفرمایید:http://spaghetticontest.sharif.ir/