کلاس‌های کوئرا: امکانات جدید و گزارش‌ها

سلام، روزهای آفتابی تابستان‌تان بخیر! در انتهای سال تحصیلی ۹۸-۹۹ قرار داریم، سالی که به واسطه کرونا، برای همه ما در ایران -و البته جهان- پر فراز و نشیب طی شد. تصمیم گرفتیم در انتهای این سال میخواهیم به اساتید و دستیاران آموزشی کوئرا، گزارشی از آمارهای امسال، آخرین امکانات بخش کلاس‌های کوئرا و دو اختلال پیش‌آمده در سال گذشته ارائه کنیم.

۱. آمارهای سال ۹۸-۹۹

پلتفرم کمک آموزشی کلاس‌های درسی اولین محصول منتشر شده از ۴ محصول اصلی کوئرا است (سه محصول دیگر: مسابقات، کالج و Careers). این محصول که به شکل رایگان به دانشگاه‌ها و مدارس عرضه می‌شود، به دلیل حل نیاز تصحیح تمرین‌های برنامه‌نویسی، کشف تقلب و پرسش‌و‌پاسخ از همان ابتدا استقبال خوبی از این محصول شد. تا این لحظه که این پست را می‌نویسیم ۲۶۴ دانشگاه و مرکز آموزشی، ۲۳۵۱ کلاس خود را در این سامانه ایجاد کرده‌اند. نمودار تعداد کلاس‌ها و تعداد موسسات در سال‌های تحصیلی مختلف را در عکس‌های زیر می‌توانید مشاهده کنید. نمودارها تجمعی نیستند!

۲. امکانات جدید اضافه شده به کلاس‌های درس

در ترم گذشته بهبودهای زیادی در بخش کلاس‌های کوئرا اتفاق افتاد؛ از آن‌ها می‌توان به موارد زیر اشاره کرد:

  • بخش تنظیمات پیشرفته تست‌ها تنظیمات بهتر سوال
  • اضافه کردن فیلم از آپارات
  • قرار دادن تست نمونه و یا محدودیت‌های سوال بصورت خودکار

در ادامه توضیح این موارد آمده است.

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

۱. ذخیره و ادامه ویرایش: برای آدم‌های وسواسی (مثل من!) که مایلند تند و تند متنشان را ذخیره کنند، و برای جلوگیری از فاجعه‌ی پریدن متن نوشته شده و ذخیره نشده بدلیل قطع شدن ناگهانی اینترنت!

۲. صفحه‌ی تنظیمات پیشرفته تست‌ها: برای این که بتوانید بصورت مستقیم و بدون نیاز به دانلود و آپلود کل تست‌ها، هریک از تست‌های سوال را دانلود و یا ویرایش کرده و همچنین بتوانید تست‌ها را حذف یا اضافه کنید. عکس زیر یک نمونه از صفحه ویرایش تست‌ها را نمایش می‌دهد.

۲.۵. امکان جدید پکیج‌بندی تست‌ها هم همراه با این بخش رونمایی شد! شما با اضافه کردن config.json در صفحه تنظیمات پیشرفته می‌توانید نمره‌ی سوال‌را بصورت بخش-بخش بین زیرمجموعه‌هایی از تست‌ها تقسیم کنید. این امکان به شما اجازه می‌دهده برای سوال زیرمسئله تعریف کنید و هرگاه دانشجو تمام تست‌های یک زیرمسئله را درست پاسخ داد نمره‌ی آن را دریافت کند. هم‌چنین با تعریف زیرمسئله‌های تک‌تستی، می‌توانید به تست‌ها در نمره‌دهی وزن‌های متفاوت دهید! توضیحات بیشتر در همان بخش تنظیمات پیشرفته‌ی تست‌ها موجود است.

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

حال به سراغ امکانات جدید صورت تمرین‌ها می‌رویم. ما به این پکیج جذاب امکانات، «درصدها» می‌گوییم؛ زیرا شما می‌توانید با اضافه کردن یک سری دستور که با % احاطه شده‌اند به متن تمرین‌هایتان، امکاناتی به آن‌ها اضافه کنید. لیست این امکانات را در جدول زیر می‌بینید:

امکاندستور
۴. افزودن فیلم از آپارات با نشانه‌ی ID %video.aparat_ID%
۵. جدول محدودیت‌ها برای زبان‌های مختلف سوال %problem.limits%
۶. محدودیت‌های سوال بر اساس زبان انتخابی C %problem.limits_C%
۷. ورودی تست شماره N سوال (inputN.txt)%problem.test_input_N%
۸. خروجی تست شماره N سوال (outputN.txt)%problem.test_output_N%
۹. ورودی و خروجی تست شماره N سوال (در قالب زیبا!)%problem.test_N%

اگر از امکانات بالا در صورت سوال استفاده کنید و تنظیمات سوال را تغییر دهید (مثلا تست جدید آپلود کنید یا محدودیت زمانی را تغییر بدید)، صورت سوال خودکار بروز می‌شود!

برای مثال استفاده از دستورهای بالا، متن زیر و خروجی‌اش را می‌بینید:

%video.aparat_mI46o%

%problem.limits%

بر اساس زبان Java:

%problem.limits_Java%

۲. ورودی یک تست بصورت جداگانه:

%problem.test_input_1%

خروجی یک تست بصورت جداگانه:

%problem.test_output_1%

ورودی و خروجی یک تست:

%problem.test_1%
%problem.test_2%

خروجی:

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

۳. دو مورد اختلال پیش آمده در بهار ۹۹

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

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

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

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

شاد و سربلند باشید!

مشکل اخیر ورود با Google و LinkedIn حل شد

سلام.

شاید در روزهای اخیر متوجه مشکلی که در «ورود با Google» و «ورود با LinkedIn» در Quera پیش آمده است شده باشید. این مشکلات در دست بررسی هستند و در حال تلاش برای حل هر دو مشکل هستیم. در ادامه‌ی پست، جزئیات این مشکلات آمده است.

به‌روزرسانی (۷ شهریور ۹۷): مشکل ورود با LinkedIn حل شد. اما گوگل همچنان به ما پاسخی نداده است و مشکل ورود با گوگل همچنان باقیست.

به‌روزرسانی (۱۱ شهریور ۹۷): متأسفانه گوگل هنوز پاسخی به ما نداده است. دوستانی که تنها راه ورودشان به Quera، ورود با «گوگل» بوده است می‌توانند از قسمت فراموشی گذرواژه اقدام به تعیین گذرواژه برای خود کنند، یا از گزینه‌های دیگر مانند ورود با گیت‌هاب یا لینکداین استفاده کنند.

به‌روزرسانی (۳۱ شهریور ۹۷): مشکل ورود با گوگل برطرف شد.

ادامه‌ی خواندن

کوئرا به رسم جدید

در باب تغییرات جدید در گرافیک کوئرا

هویت دیداری سازمانی یا Visual Corporate Identity) VCI) معرف ویژگی‌ها، خدمات و اهداف یک مجموعه است. درخصوص شرکت‌ها و استارت‌آپ‌هایی که این مرحله را پشت سر گذاشته‌اند یعنی داری یک مجموعه هویت دیداری هستند، اهتمام و تبعیت کردن از سازوکاری که طراحی و تعریف شده بسیار حایز اهمیت و قابل توجه است. از جمله اقدامات شرکت‌ها در این زمینه اقدام به بازنگری VCI می‌باشد که بعضا به دلیل تغییر عملکرد شرکت یا مشکلات و نقص‌های هویت سازمانی طراحی شده و یا حتی تغییراتی در جهت به‌روزرسانی طراحی‌های انجام‌شده دست به طراحی مجدد (ری‌دیزاین) می‌زنند.

ادامه‌ی خواندن

امکان مشاهده Session ها

به نام خدا

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

برای هر نشست (Session)، آخرین IP که از آن استفاده کرده و همچنین نوع دستگاه، سیستم عامل، مرورگر، موقعیت مکانی و زمان ورود به سایت قابل مشاهده است. همچنین می‌توانید نشست‌هایی که به نظرتان مشکوک هستند را باطل کنید.

برای پیاده‌سازی این امکان، یک اپ جنگوی متن‌باز به نام django-qsessions توسط تیم Quera توسعه داده شده که می‌توانید آن را در آدرس https://github.com/QueraTeam/django-qsessions مشاهده کنید.

این اپ به ما اجازه می‌دهد تا IP و User Agent هر نشست را در اختیار داشته باشیم. همچنین نشست‌ها را هم در cache و هم در database ذخیره می‌کند (cache به خاطر کارایی و سرعت بالا در دسترسی به نشست‌ها و database به خاطر persistency). خواندن از cache صورت می‌گیرد و نوشتن در cache و database.

در این اپ برای تعیین موقعیت مکانی یک IP از geoip2 استفاده شده است که database آن هر ماه به روز می‌شود.

خوشحال می‌شویم نظر خود را در مورد این امکان و این اپ با ما در میان بگذارید.

صفحه اصلی جدید Quera + امکان ورود با Github

سلام!

بعد از مدت‌ها، صفحه اصلی (Land Page) سایت را مورد بازنگری قرار دادیم و مجدداً طراحی کردیم. سعی کردیم مشکلاتی که قبلاً در این صفحه وجود داشت را تا جای ممکن و بر اساس زمانی که در اختیار داریم، برطرف کنیم و Quera را بهتر معرفی کنیم. سعی شده این صفحه mobile friendly باشد و در دستگاه‌های مختلف به خوبی نمایش داده شود. اما قطعاً هنوز مشکلاتی هست که ان‌شاالله در نسخه‌های بعدی برطرف خواهد شد. برای دیدن صفحه اصلی، در صورتی که login هستید باید از سایت logout کنید (و یا از حالت incognito مرورگر استفاده کنید).

در نتیجه این تغییرات، فرم ورود و عضویت از صفحه اصلی حذف شد و باید از لینک‌های ورود و عضویت که در بالای صفحه قرار دارد استفاده شود. تعدادی از آمارهای سایت (تعداد کل ارسال‌ها، تعداد کل سؤالات، و تعداد کل مسابقات) نیز در این صفحه قرار گرفت. ظاهر صفحات خطای ۴۰۴ و ۵۰۰ نیز بهبود پیدا کرد. همچنین امکان عضویت و ورود با Github (در کنار Google و LinkedIn که قبلاً وجود داشت) اضافه شد.

ممنون می‌شویم در مورد این تغییرات نظر خود را در بخش دیدگاه‌های همین پست و یا با ایمیل، با ما در میان بگذارید. 🙂

تغییراتی در روند مسابقات با اضافه شدن آموزش

سلام!

از این پس مسابقات اصلی Quera در دو سطح برگزار می‌شوند! افراد با امتیاز حداقل ۱۶۰۰ در مسابقه‌ی سطح ۱ و دیگران در مسابقه‌ی سطح ۲ شرکت می‌کنند.

برای مثال در مسابقه‌ی شماره ۱۰، هر سطح شامل ۴ سوال‌ برنامه‌نویسی خواهد بود که تلاش شده که به ترتیب از ساده به سخت مرتب شده باشند و امتیاز همه‌ی سوال‌ها برابر است. سوال اول و دوم سطح ۱ با سوال سوم و چهارم سطح ۲ یکسان خواهد بود.

از این پس رتبه‌بندی مسابقات همانند مسابقه‌ی شماره‌ ۹، با قوانین acm صورت خواهد گرفت.

و اما خبری جدید!

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

منتظر بخش آموزش باشید!

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

همچنین قابلیت‌های بسیاری به Quera اضافه شده!

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

Capture

اکنون در پروفایل شما، به تفکیک سوال‌های حل شده را می‌توانید ببینید!

عکس زیر پروفایل محمد نعمت‌اللهی را نشان می‌دهد:

image_2016-08-12_12-25-12

و چندین قابلیت دیگر.

در صورت تمایل، قابلیت‌های پیشنهادی خود را برای ما بفرستید تا به سایت اضافه کنیم.

منتظر امکانات جدید سایت باشید!

نظرسنجی در پایان یک ترم

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

ادامه‌ی خواندن