ادامه مطلب

تاریخ ایجاد: پنج شنبه 01 دی 1393 تعداد بازدید: 1661 تعداد نظرات ارسالی: 0 نویسنده: host
مچ اندازی برنامه نویس ها

مچاندازی برنامه نویس ها

برنامه‌نویسیرا می‌توان نوعی ورزش ذهنی دانست و به همین دلیل همانند ورزش‌های دیگر، هر سالهرقابت‌های مختلفی بین برنامه‌نویسانی از سراسر دنیا برگزار می‌شود. در اینمسابقات، برنامه‌نویسانی از کشورهای مختلف مهارت‌های خود را به نمایش گذاشته و باهمکاران خود رقابت می‌کنند.

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

برخلافرقابت‌های ورزشی که همه ورزشکاران باید در یک ورزشگاه جمع شوند، در برخی رقابت‌هایبرنامه‌نویسی، شرکت‌کنندگان می‌توانند بدون حضور در یک مکان خاص از هر نقطه دنیاتنها با اتصال به اینترنت در مسابقه مورد نظر خود شرکت کنند.

سازوکاررقابت‌ها

در رقابت‌هایبرنامه‌نویسی معمولا یک یا چند مساله منطقی یا ریاضیاتی به شرکت‌کنندگان داده می‌شودو آنها باید یک برنامه رایانه‌ای برای حل آن بنویسند.

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

در برخیرقابت‌های برنامه‌نویسی، از شرکت‌کنندگان خواسته می‌شود فقط از یک زبان برنامه‌نویسی(مثلا ویژوال بیسیک یا جاوا) برای کدنویسی استفاده کنند؛ با این حال بسیاری ازرقابت‌ها هم دست شرکت‌کنندگان را در انتخاب زبان مورد نظر خود باز می‌گذارند.

داوری دررقابت‌های برنامه‌نویسی

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

به اینمنظور ابتدا کدهای نوشته شده از سوی شرکت‌کننده به یک رایانه داده می‌شود و رایانهبا توجه به آزمون‌های خاصی (که معمولا محرمانه است و شرکت‌کنندگان به آنها دسترسیندارند) میزان درست بودن و کارآمدی هر یک از برنامه‌های نوشته شده را ارزیابی می‌کند.

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

کوتاه‌مدتیا بلندمدت؟

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

معمولاتعداد شرکت‌کنندگان در رقابت‌های کوتاه مدت بسیار زیاد است و به همین دلیل مسابقاتدر چند دور برگزار می‌شود و به این ترتیب تعداد زیادی از شرکت‌کنندگان در دورهایمختلف حذف می‌شوند. معمولا دور نهایی یا همان فینال در یک مکان مشخص برگزار می‌شود،اما دورهای مقدماتی تا نیمه نهایی به شکل اینترنتی اجرا می‌شود. بیایید با هم بهبررسی برخی از این رقابت‌های کوتاه مدت بپردازیم.

باز همگوگل

شرکت گوگلکه در بسیاری از حوزه‌های دیجیتال پیشتاز است، چند تا از مهم‌ترین رقابت‌هایبرنامه‌نویسی دنیا را هم برگزار می‌کند. یکی از معروف‌ترین این رقابت‌ها «گوگل کدجم» (Google Code jam)نام دارد که از سال 1382 خورشیدی آغاز شده است و هر ساله تعداد زیادی برنامه‌نویسدر این رقابت شرکت می‌کنند.

سال 1391بیش از 35 هزار نفر از سراسر دنیا در این رقابت شرکت کردند. برندگان هر دوره علاوهبر جایزه نقدی، ممکن است از سوی گوگل هم استخدام شوند.

رقابتدانشگاه‌ها

شرکتمعروف آی.‌بی.‌ام علاوه بر این که در زمینه طراحی قطعات رایانه پیشتاز است، یکی ازبا‌سابقه‌ترین رقابت‌های برنامه‌نویسی دنیا را هم اجرا می‌کند. این رقابت که«رقابت برنامه‌نویسی بین‌المللی دانشگاهی» یا به اختصار «آی.‌سی. پی.‌سی» نامدارد، هر ساله بین دانشجویان دانشگاه‌های مختلف جهان برگزار می‌شود.

هر یک ازتیم‌های شرکت‌کننده که شامل سه دانشجوست پنج ساعت فرصت دارد 8 تا 12 مساله دادهشده را به صورت برنامه درآورده و حل کند. در این رقابت‌ها فقط می‌توان از زبان‌هایجاوا، سی و سی پلاس پلاس استفاده کرد.

جام‌جهانیهکرها

شرکتفیسبوک رقابتی دیگر را با نام جام هکر فیسبوک (Facebook Hacker Cup)برگزار می‌کند. هدف از این رقابت‌ها که از سه سال پیش آغاز شده جذب نیروی بااستعداد از سراسر دنیا برای این شرکت است.

در اینرقابت شرکت‌کنندگان باید مجموعه‌ای از مسائل الگوریتمی را در زمانی مشخص حل کنند.شرکت‌کنندگان آزاد هستند از هر زبان برنامه‌نویسی دوست دارند بهره ببرند. در سال‌هایگذشته شرکت‌کنندگانی از چین، روسیه، ویتنام و لهستان برنده این رقابت بودند.

دانشجو، تابستان و گوگل

«تابستان کدنویسی گوگل» (Summer of Code Google) نام برنامه‌ای است که از سال 1385 خورشیدی از سوی شرکت گوگلبرگزار شده است. دانشجویان با حداقل 18 سال می‌توانند از سراسر دنیا در این برنامهشرکت کنند. شرکت‌کنندگان باید طی تابستان یک پروژه کدنویسی برای ساخت نرم افزاریمتن باز را به انجام برسانند. به برنده مبلغ 5500 دلار تعلق می‌گیرد و ممکن استشرکت‌های معروفی برنامه نوشته شده را از برنده خریداری کنند.

گوگل برای نوجوانان

گوگل همواره جزو طرفداران نرم افزارهای متن باز ونیز نرم افزارهای آزاد بوده است. به همین دلیل از سال 2007 برنامه‌هایی را برایتشویق نوجوانان به نرم افزارهای متن باز تدارک دید. این برنامه از سال 2010 باعنوان گوگل کد این (Google Code-in) اجرا شد و در چند سال اخیر بیش از 1500دانش‌آموز از 78 کشور در این رقابت آنلاین شرکت کرده‌اند.

در این برنامه، گوگل با همکاری شرکت‌های پیشرو درتهیه برنامه‌های متن باز، پروژه‌های کوچکی برای نوجوانان تهیه می‌کند تا به اینترتیب آنها تجربه کار روی برنامه‌های متن باز را بیابند. کلاس‌های آموزشی آنلاینبرگزار شده برای نوجوانان شرکت‌کننده در این برنامه، از مهم‌ترین بخش‌های اینرویداد است.

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

ضمیمه کلیک
صالح سپهری‌فر


print



rating
  نظرات

نظری وجود ندارد.

نام
ایمیل
وب سایت
عنوان
نظر
کد CAPTCHA
وارد نمودن کد