برگزاری ششمین دوره مسابقات برنامه نویسی ACM

 

انجمن علمی دانشگاه صنعتی همدان در نظر دارد در تاریخ 28 اردیبهشت ماه 1396 در محل سایت دانشگاه صنعتی همدان به برگزاری ششمین دوره از مسابقات ACM بپردازد. جوایز نفیسی برای این دوره از مسابقات در نظر گرفته شده است که به شرح زیر است:

  1. نفر اول 5000000 ریال
  2. نفر دوم 3000000 ریال
  3. نفر سوم 2000000 ریال                                

همچنین جهت تشویق دانشجویان ورودی، به برترین تیم از این دانشجویان مبلغ 1000000 ریال جایزه اهدا می گردد.

جهت ثبتنام به دفتر انجمن کامپیوتر مراجعه کنید.            

         

 

               

قوانین ششمین دوره مسابقات برنامه نویسی ACM – ICPC دانشگاه صنعتی همدان

  1. مدت مسابقه 3 ساعت است.
  2. در روز مسابقه 5 مسئله به زبان انگلیسی داده خواهد شد.
  3. هر تیم میتواند شامل 2 یا 3 عضو از دانشجویان دانشگاه باشد.
  4. حضور سر گروه تیم شرکت کننده در جلسه ی توجیهی اجباری می باشد.
  5. در روز مسابقه یک سیستم با سیستم عامل Windows 7 در اختیار هر تیم قرار داده می شود که اعضاء تیم می بایست به صورت مشترک از آن استفاده نمایند.
  6. تیم های شرکت کننده در مسابقه می توانند با یکی از پنج زبان برنامه نویسی آمده در فرم ثبت نام ( جاوا ، سی ، سی ++ ، پایتون 2 و پایتون 3 ) به سوالات پاسخ دهند.
  7. تیم ‌ها بر اساس تعداد مسئله های حل شده توسط آن ها مرتب می ‌شوند.
  8.  رتبه تیم‌ هایي که به تعداد مساوی مساله حل کرده اند ، بر اساس مجموع زمان صرف شده برای حل مسائل (از کوچک به بزرگ) مرتب می ‌شود.
  9. زمان صرف شده برای حل یک مسئله از ابتدای مسابقه تا زمان حل موفق آن مسئله حساب می ‌شود. هر ارائه غلط حل، 20 دقیقه جریمه (Penalty) به این زمانمی ‌افزاید. البته این جریمه وقتی محاسبه می ‌شود که آن مسئله جواب صحیح بگیرد.
  10. در صورت برابر بودن تیم ها با شرایط قانون 5 تیمی که تعداد جریمه کمتری داشته باشد در اولویت بهتری خواهد داشت.
  11. محیط برگزاری مسابقه نرم ‌افزاری به نام PC2 است که محصول شرکت IBM است. این محیط امکان ارسال راه حل تیم ها به داوران، ارسال پرسش از صورت مساله و ارائه نتیجه کار و رتبه ‌بندی تیم ‌ها را به همه فراهم می کند.
  12. راه ‌حل ‌ها از طریق شبکه به داوران ارسال می شود و پس از زمان کوتاهی درستی یا نادرستی راه ‌حل به اطلاع تیم ارسال کننده رسانده می ‌شود.
  13. براي هر مسئله يک رنگ خاص در نظر گرفته شده و هر تيمي که سوالي را حل کند بادکنکي به رنگ سوال مربوطه دريافت مي کند.
  14. در محل مسابقه يک برد قرار دارد که نتيجه لحظه به لحظه در آن نمايش داده مي شود. در يک ساعت پاياني مسابقه اين برد Update نمي گردد.
  15. در 30 دقیقه پایانی براي افزايش هيجان مسابقه به تيم ها بادکنک داده نمي شود.
  16. اتصال کول دیسک (flash memory ) یا سی دی به کامپیوترهای مسابقه ممنوع است و در صورت کشف موجب محروميت تيم‌ها خواهد شد .
  17. استفاده از هر وسیله غیر الکترونیکی(کتاب ،جزوه و…) در روز مسابقه بلامانع است.
  18. در صورت هر گونه تخلف ، داوران حق دارند که با شخص یا تیم خاطی بنا به صلاح دید خود برخورد نمایند.
  19. تیم ها میتوانند حداکثر 3 بار در طول مدت مسابقه از داوران بخواهند که کد ارسالی آن ها را بازبینی کند. البته باید قبل از ارسال راه حل بعدی به داوران اطلاع دهند. در صورت اعتراض بیش تر با آن­ها برخورد خواهد شد و از امتیاز آنها کسر میشود.
  20. شرکت کنندگان نمی توانند در کد­ های خود از فایل بخوانند یا در فایل بنویسند.

 

نرم افزار های برنامه نویسی نصب شده در جدول زیر آمده است.

نرم افزار برنامه نویسی (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 در آینده کاری در ایران

در چند سال اخیر مسابقات برنامه نویسی متفاوتی در سطح کشور برگزار شده است که مورد توجه شرکت های فعال کشور بوده است و از رتبه های برتر مسابقات نیز برای کار در شرکت های مختلف دعوت به عمل آمده است. افرادی که تجربه شرکت در چنین مسابقاتی را دارند و یا رتبه نیز آورده اند معمولا در محیط کاری موفق تر بوده اند.

  • چگونه برای مسابقه آماده شویم؟
  • بهترین راه برای آمادگی برای مسابقات شرکت کردن در یک مسابقه برنامه نویسی و آشنایی با جو حاکم بر مسابقات می باشد . همچنین آشنایی با نوع سوالات ، الگوریتم های برنامه نویسی و یادگیری یک زبان برنامه نویسی این مسیر را برای شما هموار تر خواهد کرد. می توانید برای آمادگی بیشتر نمونه سوالات دوره قبل را از لینک زیر دانلود کنید:

 

انجمن علمی مهندسی کامپیوتر دانشگاه صنعتی همدان در نظر دارد با برگزاری مسابقات متعدد به صورت پیوسته و همچنین برگزاری کلاس های آموزشی شما را در رسیدن به سطوح بالاتر همراهی نماید.

 

 

اشتراک‌گذاری

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

-- بارگیری کد امنیتی --