خوشبختانه در زمانه ای زندگی میکنیم که علم و تکنولوژی به پیشرفتهای بزرگی نائل شده اند. امکانات بسیار خوب و مفیدی در تمام زمینهها وجود دارد که افراد میتوانند از آنها استفاده کنند. از جمله برنامه نویسان که می توانند با استفاده از دو قابلیت مهم، یکی مسابقات برنامه نویسی و دیگری انجمنهای پرسش و پاسخ آنلاین، سطح مهارتهای فنی و ارتباطی خود را بسنجند و آن را ارتقا دهند. در این مقاله به بررسی تعدادی از این انجمنها و مسابقات میپردازیم.
انجمنهای پرسش و پاسخ آنلاین برنامه نویسی
هنگام یادگیری برنامه نویسی یا توسعه نرم افزار، معمولا به سوالات یا اشکالاتی درمورد زبانهای مختلف برنامه نویسی، سیستم عاملهای توسعه، ابزارها و غیره برخورد میکنیم که خود قادر به رفع آن نیستیم. در این مواقع اغلب برنامه نویسان با مراجعه به انجمنهای آنلاین پرسش و پاسخ، سوال خود را مطرح میکنند و در مقابل افراد ماهری که در این سایتها عضو و فعال هستند، جواب مورد نظر آنها را پاسخ میدهند یا نکاتی را مطرح میکنند که در یافتن راه حل بسیار کارگشا است. در این قسمت تعدادی از معتبرترین و معروفترین انجمنهای آنلاین معرفی میکنیم.
StackOverflow
استک اورفلو، سایتی که نزدیک به 5 میلیون برنامه نویس در آن عضویت دارند و هر کدام در مهارتهای برنامه نویسی خود، مدعی هستند. در این سایت میتوان پس از ثبت نام به راحتی سوالات خود را مطرح کرد و حتی بدون ثبت نام میتوان به سوالات دیگران پاسخ داد.
در Stack Overflow میتوان سوالاتی درمورد زبانهای مختلف برنامه نویسی، سیستم عامل ها، خدمات وب و موارد دیگر مطرح کرد. PHP، C#، Java، Html، JavaScript، JQuery، َAndroid و Python از مهمترین زبانهای برنامه نویسی که این سایت پشتیبانی میکند.
پاسخها در این سایت با استفاده از سیستم رای بالا و با توجه به ارتباط پاسخ به سوال و همینطورکیفیت پاسخ، امتیاز دهی میشود و دیگر کاربران میتوانند با توجه به امتیاز کسب شده پاسخ ها، سریعتر به پاسخ مورد نظر خود برسند.
Quora
Quora حاوی مطالب ارزشمند و مفیدی است که توسط کاربران نوشته و به اشتراک گذاشته شده است. این سایت یک منبع با ارزش برای برنامه نویسی و توسعه نرم افزار است.
پس از ثبت نام در این سایت میتوانید سوالات خود را مطرح کنید یا به سوالات دیگران پاسخ دهید. در Quora فهرست موضوعات و عناوین وجود ندارد و برای پیدا کردن موضوع مورد نظر باید از گزینه جستجو استفاده کنید. برخی از موضوعات پشتیبانی شده شامل Python، Android، C++، Java، Css3، Html5، Ruby و Javascript است.
با سیستم رای بالا این سایت کاربران میتوانند براساس کیفیت و ارتباط پاسخ به سوال، به پاسخ دهنده امتیاز دهند. همچنین کاربران میتوانند آمار پاسخهای خود را مشاهده کنند.
Reddit
ردیت، به دلیل مطالب ارزشمندی که در خود دارد، از مدتها پیش به یکی از مکانهای پر بازدید برنامه نویسها تبدیل شده است. این سایت دارای چندین زیرمجموعه است که کاربران درمورد موضوعات مختلفی از جمله زبانهای برنامه نویسی،رایانه، اینترنت و موارد دیگر بحث و گفتگو میکنند.
زیرمجموعه برنامه نویسی ردیت که برای بحث درمورد برنامه نویسی و توسعه نرم افزار است. شامل این انجمنهای است:
C++ برای بحث و اخبار درباره C++ و برنامه نویسی در C++
GameDev، مکانی برای علاقمندان و توسعه دهندگان بازیها است که در آن درمورد موتورها و برنامه نویسی بازیها صحبت میکنند.
AndroidDev، یک انجمن محبوب حاوی اخبار، آموزشها و سایر اطلاعات مفید و موارد دیگر درمورد توسعه برنامههای اندروید است.
Google Groups
گروههای گوگل، خدماتی از گوگل است که افراد دارای علایق مشترک میتوانند در یک جا جمع شوند و درمورد آن موضوع بحث و گفتگو کنند و به سوالات و مشکلات یکدیگر پاسخ دهند. Google Groups به شما امکان میدهد یک انجمن پرسش و پاسخ ایجاد کنید، یا به یکی انجمنهای ایجاد شده، بپیوندید.
برای عضو شدن در گروههای گوگل، فقط کافی است یک حساب جیمیل (Gmail) داشته باشید. در گروههای گوگل هم مانند StackOverflow و سایر انجمن ها، میتوانید سوالات خود را بپرسید یا به سولات دیگران پاسخ دهید.
گروههای گوگل، دسته بندی شده است و هر قسمت دارای زیر مجموعه ای است. به عنوان مثال، رایانهها دارای زیرمجموعههای مختلفی از جمله هوش مصنوعی، بانک اطلاعاتی، بازی ها، گرافیک، اینترنت، سیستم عامل ها، برنامه نویسی، امنیت، نرم افزار و سایر موارد هستند. هر زیر مجموعه خود از گروهها مختلفی تشکیل میشود که اعضا میتوانند برای یافتن موضوعات مورد نظر خود، از فهرست استفاده کنند یا جستجو کنند.
مهمترین و معتبرترین مسابقات برنامه نویسی در جهان
یکی از فرصت هایی که برنامه نویسان میتوانند با شرکت در آن تواناییهای خود را بسنجد و خود را با دیگر برنامه نویسان در سراسر جهان مقایسه کند، حضور در مسابقات برنامه نویسی حضوری و آنلاین است که همه ساله توسط برخی از شرکتهای معتبر جهانی از جمله گوگل و فیسبوک برگزار میشود. در ادامه چند مسابقه معروف و معتبر جهانی را معرفی میکنیم.
مسابقه برنامه نویسی گوگل
Google Code Jam یک رقابت برنامه نویسی بین المللی است که هر ساله گوگل برگزار میکند. در این مسابقه از برنامه نویسان حرفه ای و دانشجویی خواسته میشود با استفاده از زبان برنامه نویسی مورد علاقه خود، چالشهای پیچیده الگوریتمی را در مدت زمان معین شده، حل کنند.
تمامی مراحل این مسابقه بصورت آنلاین برگزار میشود اما مرحله آخر در ساختمان گوگل و بصورت حضوری انجام میشود. شرکت کنندگان در این رویداد، برای کسب بالغ بر 80 هزار دلار جوایز نقدی، از جمله جایزه 10 هزار دلاری برای نفر اول، با هم رقابت میکنند.
مسابقات آنلاین TopCoder
TopCoder یکی از معروفترین سایتهای مسابقات برنامه نویسی است که در حال تبدیل شدن به لیگ اصلی مسابقات برنامه نویسی آنلاین است. TopCoder هر هفته اعضای خود را جمع میکند تا بصورت آنلاین با یکدیگر رقابت کنند و نفرات برتر دو بار در سال بصورت حضوری برای تعین برنده نهایی، با هم به رقابت میپردازند.
در این سایت کاربران رتبه بندی میشوند و کاربران برتر TopCoder، برنامه نویسان تمام عیاری برای مسابقه دادن هستند که به طور مرتب در اکثر مسابقات برنامه نویسی شرکت میکنند.
مسابقه Facebook Hacker Cup
Facebook Hacker Cup یک مسابقه برنامه نویسی الگوریتمی که سالانه توسط فیسبوک برگزار میشود. این رویداد دانشجوها علاقمند به برنامه نویسی و برنامه نویسهای حرفه ای را در سراسر جهان به خود جلب میکند. فیس بوک با نفرات برتر در این مسابقه جهت استخدام برای توسعه نرم افزار، مصاحبه شغلی میکند.
این رقابت مجموعه الگوریتمی است که باید در زمان معین شده، حل شود. این مسابقه بیشتر با محیط متفاوتی که برای داوری و انواع چالش هایی که مورد استفاده قرار میدهد، شناخته میشود. این مسابقه در چند دور انجام میشود که در هر دور جدید، چالشهای الگوریتمی سختتر میشود.
مسابقه ACM ICPC
ACM ICPC یک مسابقه سالانه برنامه نویسی دانشجویی است که در سراسر جهان برگزار میشود. این یک مسابقه از مهمترین و معتبرترین مسابقات برنامه نویسی جهان است. حمایت مالی این مسابقات توسط IBM انجام میشود و تحت نظارت انجمن ماشین آلات رایانه ای (ACM) است.
ACM بصورت چند سطحی و در تیمهای سه نفره برگزار میشود. هر گروه باید هشت سوال الگوریتمی را پاسخ دهد. هر تیمی که در کمترین زمان و با خطای کمتر به این سوالات پاسخ دهد، رتبه بهتری کسب میکند. در این مسابقات فقط از زبانهای C، C#، C++، Java و در مواردی Python قابل استفاده است.
مسابقه برنامه نویسی ICFP
ICFP یک کنفراس بین المللی برنامه نویسی کاربردی است که سالیانه برگزار میشود و هر سال، چند ماه قبل از برگزاری کنفرانس یک مسابقه برنامه نویسی برگزار میکند. این یک مسابقه است که همه میتوانند در آن حضور یابند و هیچ هزینه ورودی ندارد و نیاز به هیچ ثبت نام قبلی نیست. شرکت کنندگان میتوانند تیم تشکیل داده و به صورت تیمهای چند نفره با هم رقابت کنند.
مسابقه Codewars شرکت اچپی
Hewlett Packard (HP) Codewars از سال 1999 همه ساله برای رقابت دانش آموزان دبیرستانی برگزار میشود. شرکت کنندگان در این رویداد از محیط پیشرفته HP، طیف گسترده ای از چالشهای برنامه نویسی، موسیقی، پذیرایی با پیتزا و قهوه و از همه مهمتر جوایز متعدد برخوردار میشوند. همه این موارد باعث میشود محیط این مسابقه برای شرکت کنندگان هیجان انگیز، تحریک کننده و رقابتی شود.
مسابقه حل مسئله اینترنت IPSC
مسابقه Internet Problem Solving Contest یا IPSC یک مسابقه آنلاین سالانه است که در قالب تیمهای سه نفره برگزار میشود. که هر تیم باید سوالات داده شده را در مدت زمان مشخصی پاسخ دهد.
در این مسابقات ابتدا تعدادی مسئله بیان میشود که هر مسئله شامل توضیح مسئله و مجموعه دادههای ورودی است. برای حل مسئله، شرکت کنندگان باید دادههای خروجی صحیح را برای دادههای ورودی محاسبه کنند. در این رویداد، شرکت کنندگان آزاد هستند که از هر زبان برنامه نویسی که خروجی صحیحی میدهد، استفاده کنند.
مسابقه The International Obfuscated C Code Contest
این مسابقه بین المللی بیش از 20 سال است که برگزار میشود. در این مسابقه میتوانید از طریق ایمیل یا ارسال آنلاین شرکت کنید. طبق قوانین این مسابقه، نوشتن گنگترین یا مبهمترین برنامه ANSI C با کمتر از 4096 کاراکتر، تمام کاری است که باید انجام دهید.
مسابقات IEEEXtreme
IEEEXtreme که اغلب به اختصار Xtreme نام برده میشود، یک مسابقه برنامه نویسی سالانه است که در میان دانشجویان برق و کامپیوتر در سراسر جهان برگزار میشود. شرکت کنندگان در این مسابقه طی 24 ساعت و به صورت آنلاین در گروههای 2 یا 3 نفره به حل مسائل برنامه نویسی میپردازند.
مسابقه در این رویداد با یکی از زبانهای C، C++ و Java انجام میشود و برنده مسابقه هزینه کامل شرکت در یکی از کنفراسهای IEEE در سراسر جهان را دریافت میکند.
سایت SPOJ (Sphere Online Judge)
SPOJ یک سیستم داوری برنامه نویسی آنلاین است که 640 هزار نفر کاربر در آن عضو هستند که میتوانند با بیش از 40 زبان برنامه نویسی، به سوالات پاسخ دهند.این سایت به کاربران حرفه ای اجازه میدهد تا مسابقاتی تحت قوانین خود برگزار کنند.
امتیاز دهی در مسابقات این سایت به این صورت است که هر سوالی که شرکت کنندگان بیشتری پاسخ دهند، امتیاز کمتری دارد و هر سوالی که کمتر حل شده باشد، امتیازی بیشتری تعلق میگیرد.
یک نکته بسیار مهم برای شرکت در چنین مسابقاتی و حتی زمان استخدام، توانایی تشکیل یک تیم خوب و هدفمند است. برنامهنویسان علاوه بر دانش فنی، به مهارتهای ارتباطی و انعطافپذیر بودن نیاز دارند تا بتوانند به خوبی در کنار سایر برنامهنویسان فعالیت کرده و با شرایط موجود سازگار باشند. فشار روانی چنین مسابقات مهمی گاهی ممکن است تاثیرات منفی بر روند مسابقه داشته باشد بنابراین، همدلی و کنترل جریانات منفی از جمله مهمترین ویژگیهای افراد یک تیم است. [lead id=1 type= link]
چه مسابقات برنامه نویسی مهمی در ایران وجود دارد؟
در ایران نیز هر ساله، مسابقات برنامه نویسی حضوری و غیرحضوری متعددی برگزار میشود که برای برنامه نویسان ایرانی، فرصت مناسبی است تا با شرکت در آنها، سطح مهارت خود را محک زنند. در ادامه چند مسابقه برنامه نویسی فعال در ایران را معرفی میکنیم.
مسابقه برنامه نویسی کدکاپ
کدکاپ یک مسابقه برنامه نویسی است که در ایران برگزار میشود. برنامه نویسان با هر سطحی از تجربه میتوانند در این مسابقه شرکت کنند. این مسابقه صرفاً یک رقابت فنی بین شرکت کنندگان نیست، بلکه قرار است مهارت برنامهنویسی افراد سنجیده شود و افراد برتر به شرکتهای فعال در حوزهی IT معرفی و توصیه شوند.
یکی از بخشهای همیشگی کدکاپ، بخش الگوریتمی است. مسابقات این بخش در دو مرحلهی آنلاین و حضوری برگزار میشود که شامل رقابتهای الگوریتمی با ۱۴ زبان پرکاربرد است.
مسابقه برنامه نویسی بیان
مسابقه برنامهنویسی بیان یک رویداد سالانه میباشد که به صورت بینالمللی برگزار میشود. انتخاب و استفاده از زبان برنامهنویسی در این مسابقه آزاد بوده و همچنین شرکت در این مسابقه به صورت انفرادی است. این مسابقه به دو بخش دانشآموزی و آزاد تقسیم میشود و اولین دوره آن در پاییز سال ۱۳۹۰ برگزار گردید.
در مسابقات بیان، برای استفاده از تکنولوژیها و زبانهای برنامه نویسی هیچ محدودیتی وجود ندارد و مخاطب این رویداد تمامی کسانی هستند که توانایی برنامه نویسی دارند. این مسابقات بصورت انفرادی برگزار میشود.
مسابقات برنامه نویسی دانشجویی ACM
این مسابقه انتخابی کشور برای حضور در رقابتهای ACM-ICPC جهانی است که هر ساله در دانشگاه صنعتی امیرکبیر و در قالب تیمهای سه نفره، برگزار میشود. سالانه بیش از 200 نفر برنامه نویس از دانشگاههای سراسر کشور در این مسابقه حضوری شرکت میکنند. این مسابقه از سال 1380 تاکنون برگزار شده است.
کیفیت و اعتبار مسابقه سالانه برنامه نویسی دانشگاه صنعتی امیرکبیر به گونهای است که علاوه بر تیمهای این دانشگاه، دانشگاههای مطرح ایران از جمله دانشگاههای صنعتی شریف، تهران، علم و صنعت، خواجهنصیر و شهید بهشتی نیز همه ساله با چندین تیم در این مسابقه شرکت کرده و به رقابت با جمعی از زبدهترین برنامه نویسان ایران میپردازند.
مسابقه برنامه نویسی جاواکاپ
جاواکاپ یک مسابقه برنامه نویسی است که با هدف ارزیابی زبان جاوا و مهارتهای برنامه نویسی طراحی شده است. این مسابقه در دو بخش کتبی و عملی به سنجش دانش و مهارتهای برنامه نویسی شرکت کنندگان در حوزه جاوا میپردازد. به نفرات برتر در این رویداد در پایان گواهینامه و جایزه نقدی تعلق میگیرد.
سایت کوئرا
Quera یک سایت داوری برنامه نویسی آنلاین است که سالانه مسابقات برنامه نویسی متعددی برگزار میکند. کوئرا سامانه برگزاری تعدادی دیگر از مسابقات برنامه نویسی از جمله کدکاپ و جاواکاپ نیز است. کاربران این سایت رتبه بندی میشوند و کاربران برتر به شرکتهای فعال در حوزه فناوری معرفی میشوند.
جمع بندی
سعی ما بر این بود تعدادی از معروفترین و معتبرترین انجمنها و مسابقات برنامه نویسی در جهان را معرفی کنیم. مطمئنا تعداد آنها بسیار پرشمارتر از این موارد است، ما میدانیم، اما امکان بررسی همه آنها در این مقاله وجود نداشت.
انجمنهای پرسش و پاسخ یکی از بهترین راه هایی هست که برنامه نویسان میتوانند برای حل مشکلاتی که قطعا در هنگام برنامه نویسی، با آن برخورد خواهند کرد، استفاده کنند. مسابقات آنلاین نیز از قابلیتهای است که یک برنامه نویس با شرکت در آن، میتواند سطح مهارت خودش را بسنجد و در جهت بالا بردن مهارت برنامه نویسی خود بیشتر تلاش کند.
با این اوصاف آیا شما تاکنون از انجمنهای پرسش و پاسخ استفاده کرده اید یا در مسابقات برنامه نویسی شرکت داشته اید؟ اگر تجربه ای در این موارد دارید با ما به اشتراک بگذارید.
۴ دیدگاه
۰۷ دی ۱۴۰۱، ۱۵:۴۵
ممنون ازمطالبتون
امیرحسین ندیمی۰۴ شهریور ۱۳۹۹، ۱۲:۰۲
سلام مممنن از مقاله خوبتون.
مقاله مفیدی بود.
ممممنون از شما.
فائقه نامور۱۱ شهریور ۱۳۹۹، ۱۵:۴۱
سلام وقت بخیر
ممنون از توجه شما دوست عزیز
mansoure۱۸ بهمن ۱۳۹۸، ۲۲:۰۲
اطلاعات چندانی راجعبه این مسابقات نداشتم... ممنون از شما
و اینکه حتما این سایتها و مسابقات رو پیگیر میشم ??