انجمن علمی دانشگاه صنعتی همدان در نظر دارد در تاریخ 28 اردیبهشت ماه 1396 در محل سایت دانشگاه صنعتی همدان به برگزاری ششمین دوره از مسابقات ACM بپردازد. جوایز نفیسی برای این دوره از مسابقات در نظر گرفته شده است که به شرح زیر است:
- نفر اول 5000000 ریال
- نفر دوم 3000000 ریال
- نفر سوم 2000000 ریال
همچنین جهت تشویق دانشجویان ورودی، به برترین تیم از این دانشجویان مبلغ 1000000 ریال جایزه اهدا می گردد.
جهت ثبتنام به دفتر انجمن کامپیوتر مراجعه کنید.
قوانین ششمین دوره مسابقات برنامه نویسی ACM – ICPC دانشگاه صنعتی همدان
- مدت مسابقه 3 ساعت است.
- در روز مسابقه 5 مسئله به زبان انگلیسی داده خواهد شد.
- هر تیم میتواند شامل 2 یا 3 عضو از دانشجویان دانشگاه باشد.
- حضور سر گروه تیم شرکت کننده در جلسه ی توجیهی اجباری می باشد.
- در روز مسابقه یک سیستم با سیستم عامل Windows 7 در اختیار هر تیم قرار داده می شود که اعضاء تیم می بایست به صورت مشترک از آن استفاده نمایند.
- تیم های شرکت کننده در مسابقه می توانند با یکی از پنج زبان برنامه نویسی آمده در فرم ثبت نام ( جاوا ، سی ، سی ++ ، پایتون 2 و پایتون 3 ) به سوالات پاسخ دهند.
- تیم ها بر اساس تعداد مسئله های حل شده توسط آن ها مرتب می شوند.
- رتبه تیم هایي که به تعداد مساوی مساله حل کرده اند ، بر اساس مجموع زمان صرف شده برای حل مسائل (از کوچک به بزرگ) مرتب می شود.
- زمان صرف شده برای حل یک مسئله از ابتدای مسابقه تا زمان حل موفق آن مسئله حساب می شود. هر ارائه غلط حل، 20 دقیقه جریمه (Penalty) به این زمانمی افزاید. البته این جریمه وقتی محاسبه می شود که آن مسئله جواب صحیح بگیرد.
- در صورت برابر بودن تیم ها با شرایط قانون 5 تیمی که تعداد جریمه کمتری داشته باشد در اولویت بهتری خواهد داشت.
- محیط برگزاری مسابقه نرم افزاری به نام PC2 است که محصول شرکت IBM است. این محیط امکان ارسال راه حل تیم ها به داوران، ارسال پرسش از صورت مساله و ارائه نتیجه کار و رتبه بندی تیم ها را به همه فراهم می کند.
- راه حل ها از طریق شبکه به داوران ارسال می شود و پس از زمان کوتاهی درستی یا نادرستی راه حل به اطلاع تیم ارسال کننده رسانده می شود.
- براي هر مسئله يک رنگ خاص در نظر گرفته شده و هر تيمي که سوالي را حل کند بادکنکي به رنگ سوال مربوطه دريافت مي کند.
- در محل مسابقه يک برد قرار دارد که نتيجه لحظه به لحظه در آن نمايش داده مي شود. در يک ساعت پاياني مسابقه اين برد Update نمي گردد.
- در 30 دقیقه پایانی براي افزايش هيجان مسابقه به تيم ها بادکنک داده نمي شود.
- اتصال کول دیسک (flash memory ) یا سی دی به کامپیوترهای مسابقه ممنوع است و در صورت کشف موجب محروميت تيمها خواهد شد .
- استفاده از هر وسیله غیر الکترونیکی(کتاب ،جزوه و…) در روز مسابقه بلامانع است.
- در صورت هر گونه تخلف ، داوران حق دارند که با شخص یا تیم خاطی بنا به صلاح دید خود برخورد نمایند.
- تیم ها میتوانند حداکثر 3 بار در طول مدت مسابقه از داوران بخواهند که کد ارسالی آن ها را بازبینی کند. البته باید قبل از ارسال راه حل بعدی به داوران اطلاع دهند. در صورت اعتراض بیش تر با آنها برخورد خواهد شد و از امتیاز آنها کسر میشود.
- شرکت کنندگان نمی توانند در کد های خود از فایل بخوانند یا در فایل بنویسند.
نرم افزار های برنامه نویسی نصب شده در جدول زیر آمده است.
نرم افزار برنامه نویسی (IDE) | زبان برنامه نویسی | کامپایلر پیشفرض |
code blocks | C/C++ | MinGW(GCC) |
dev c++ | C/C++ | MinGW(GCC) |
Eclipse | Java | open jdk 7 |
Netbeans | Java | jdk 7 |
Python IDLE | Python | cython |
Notepad++ | All | no compiler |
مختصری درباره ی مسابقات ACM
ACM International Collegiate Programming Contest یا به اختصار ACM-ICPC مسابقه سالانهی برنامهنویسی میان دانشگاههای جهان است. این رقابت تحت حمایت انجمن ماشینهای کامپیوتری (ACM) و با مدیریت دانشگاه Baylor و پشتیبانی مالی IBM برگزار میشود و دارای حوزههای منطقهای در هر شش قاره است. مدیر اجرایی ارشد مسابقه پروفسور William B. Poucher از دانشگاه Baylor می باشند. در این نوشته به بررسی تاریخچه و نحوه برگزاری این مسابقات، قوانین حاکم بر آن و آمادگی برای این مسابقات خواهیم پرداخت و در انتها در مورد نحوه عضویت در تیم ICPC دانشکده توضیحاتی را ارائه می کنیم.
- تاریخچه
پیشینهی مسابقات برنامهنویسی دانشگاهی بینالمللی ICPC به رقابتی که در سال 1970 توسط واحد آلفای انجمن افتخاری علوم کامپیوتری UPE در دانشگاه Texas A&M برگزار شد باز میگردد. این رقابت در سال 1977 به شکل چند مرحلهای کنونی خود در آمد و اولین دورهی نهایی در ضمن کنفرانس علوم کامپیوتر ACM برگزار شد. از 1977 تا 1989 غالبا تیمهای آمریکایی و کانادایی در مسابقه شرکت داشتند. با استقرار در دانشگاه Baylor از سال 1989 و راه اندازی مسابقات منطقهای در اتحادیهی دانشگاههای جهان، حمایت ACM و پشتیبانی صنایع مختلف، ICPC تبدیل به یک رویداد معتبر جهانی با شرکت تیمهایی از 84 کشور جهان در 2005 شده است.
از زمان شروع پشتیبانی مالی IBM در سال 1997، میزان حضور در رقابت به طور گستردهای افزایش یافته است. در 1997، 840 تیم از 560 دانشگاه در رقابت شرکت کردند که این تعداد در 2007 به 6700 تیم از 1821 دانشگاه مختلف رسید. تعداد تیمها هر سال %20-10 افزایش مییابد.
- مسابقات Regional و World Final
این رقابت شامل چندین مرحله است. دانشگاههای بسیاری برای تعیین شرکت کنندگان مرحلهی منطقهای مسابقات محلی برگزار میکنند. سپس، دانشگاهها در مسابقهی منطقهای رقابت میکنند. برندگان این رقابتها به فینال جهانی ACM-ICPC راه مییابند. در مسابقهی منطقهای امکان حضور بیش از یک تیم از هر دانشگاه وجود دارد، اما در مرحله ی فینال فقط یک تیم از هر دانشگاه رقابت خواهد کرد. از هر منطقه، حداقل یک تیم به مرحلهی فینال راه مییابد. مناطق با تعداد زیاد تیم، چندین تیم (گاهی تا 6 تیم) به مرحلهی فینال اعزام میکند.
- قوانین مربوط به مسابقه جهانی
ICPC رقابتی تیمی است. قوانین کنونی تصریح میکنند که هر تیم باید از سه دانشجو که تا پیش از مسابقه کمتر از 5 سال از تحصیل آنها در دانشگاه گذشته باشد، تشکیل شود. هیج دانشجویی حق حضور در بیش از دو دوره مسابقهی World Final و 5 دوره Regional را ندارد.در حین مسابقه هر تیم در حدود ۵ ساعت زمان خواهد داشت تا ۸-۱۲مسئلهی برنامهنویسی را حل کرده و راه حل خود را بصورت برنامههایی به زبانهایی از جمله C، C++ ، Pascal و یا Java ثبت کنند. سپس این برنامهها با دادههای آزمون توسط نرم افزاری موسوم به PC2 اجرا میشوند. اگر برنامه ای قادر به ارائهی پاسخ صحیح نباشد، تیم ارسال کننده مطلع شده و به تصحیح آن میپردازد. همچنین شما می توانید تعدادی برگه (عموما 15 برگ A4) را با خود به امتحان ببرید که محتوای آن به هیچ عنوان مد نظر نیست و می تواند هر چیزی اعم از کد، کتاب، فرمول و … باشد.
برندهی نهایی تیمی است که بیشترین تعداد مسئله را حل کند. در صورت الزام به رتبهبندی تیمها برای مدالها و جوایز، رتبهی هر تیم بر اساس مجموع زمانهای صرف شده تا ارائهی پاسخ صحیح بعلاوهی 20 دقیقه جریمه به ازای هر مرتبه ارائهی پاسخ نادرست مسئلهی حل شده مشخص میشود.در مقایسه با سایر رقابتهای برنامهنویسی، در ICPC با تعداد مسئلهی زیاد آن (۸یا بیشتر) در مدت زمان محدود (5 ساعت) ICPC رقابتی سخت تر و البته با هیجان بالاتری می باشد. همچنین علی رغم این موضوع که هر تیم شامل سه نفر است، اما هر تیم میتواند تنها از یک کامپیوتر استفاده کند که این نکته فشار زمان را بیشتر میکند.
- وضعیت مسابقات در ایران
این مسابقات هر سال در اوایل آذر ماه برگزار می شود و دو یا 3 تیم ابتدایی (با توجه به اینکه تنها یک تیم از یک دانشگاه می تواند به World Final صعود کند) به مسابقات World Final اعزام می شوند. در این مسابقات تیم دانشگاه شریف در هر 10 سال گذشته به عنوان یکی از نمایندگان ایران در این مسابقات بوده است. همچنین تیم دانشگاه امیر کبیر در 8 دوره (به جز سالهای 2001 و 2006)، دانشگاه فردوسی مشهد 1 دوره(سال 2001) ، دانشگاه شهید بهشتی 1 دوره (سال 2006)،دانشکده علوم تهران 1 دوره(سال 2008) و … به عنوان نمایندگان ایران در این مسابقات بودند.بهترین نتیجه ایرانیان تا به حال رتبه 9 امی این مسابقات در سال 2001 بوده که توسط دانشگاه شریف بدست آمده است.
- تاثیر ICPC در آینده علمی
با توجه به تئوری بودن اکثریت مباحث در دانشگاه و توجه کمتر مسئولان به فعالیت های عملی در دنیای واقعی، ICP فرصت بسیار خوبی برای بکارگیری این دانش تئوری و تبدیل آن به مهارت می باشد. در هرصورت موضوع مشخص این است که ICPC چیزی جز درس یک مهندس ;امپیوتر نیست و تنها به صورت عملی و رقابتی در ICPC مطرح می گردد و مسلما بنیه علمی شما را تقویت می کند. همچنین عموما هر سال در مسابقات Regional و World final به 10 الی 15 تیم ابتدایی لوح افتخاری با تایید شرکت IBM به شرکت کنندگان اهدا می گردد که تاثیر بسیار خوبی در رزومه علمی شما و عملا ادامه تحصیلات عالیه خواهد داشت.
- تاثیر ICPC در آینده کاری در ایران
در چند سال اخیر مسابقات برنامه نویسی متفاوتی در سطح کشور برگزار شده است که مورد توجه شرکت های فعال کشور بوده است و از رتبه های برتر مسابقات نیز برای کار در شرکت های مختلف دعوت به عمل آمده است. افرادی که تجربه شرکت در چنین مسابقاتی را دارند و یا رتبه نیز آورده اند معمولا در محیط کاری موفق تر بوده اند.
- چگونه برای مسابقه آماده شویم؟
- بهترین راه برای آمادگی برای مسابقات شرکت کردن در یک مسابقه برنامه نویسی و آشنایی با جو حاکم بر مسابقات می باشد . همچنین آشنایی با نوع سوالات ، الگوریتم های برنامه نویسی و یادگیری یک زبان برنامه نویسی این مسیر را برای شما هموار تر خواهد کرد. می توانید برای آمادگی بیشتر نمونه سوالات دوره قبل را از لینک زیر دانلود کنید:
انجمن علمی مهندسی کامپیوتر دانشگاه صنعتی همدان در نظر دارد با برگزاری مسابقات متعدد به صورت پیوسته و همچنین برگزاری کلاس های آموزشی شما را در رسیدن به سطوح بالاتر همراهی نماید.
پاسخی بگذارید