ayenz / Sharif-Judge

A free and open source online judge system for programming courses
https://github.com/mjnaderi/Sharif-Judge/tree/docs
GNU General Public License v3.0
1 stars 2 forks source link

Some development proposals #6

Open wojcik13 opened 6 years ago

wojcik13 commented 6 years ago

Hello, As I see, you're developing and adding some functions to Sharif Judge, well, I'm newbie here and I don't know how to add some functions to repo. If You will have time to add them, I would be grateful. So Ideas as following:

Kindly regards Wojtek Wasilewski

P.S. Sorry for my poor english c: P.S.2 How RADIUS authentication works?

pascalalfadian commented 6 years ago

Hi @wojcik13!

Thank you for you interest and input to our repository.

Let me introduce myself and give a bit background about it. My name is Pascal, and I am a lecturer at UNPAR. My colleagues have been using Sharif Judge for some time for their algorithm and data structure class. As you also noticed, we found some limitations in original Sharif Judge. Therefore, I offered students to patch this system for their final project topic, and @ayenz kindly accepted the challenge.

Now, of course the patches that @ayenz are working is focused on solving our problem in UNPAR, which have been carefully selected and communicated to our stakeholders for the past one semester.

Having said that, your proposals seem interesting and we will discuss internally whether we can afford to develop that in @ayenz timeline of one more semester. I personally think proposal 1 and 4 looks feasible to do, as for 2 and 3 may require a lot of effort to do.

P.S. I don't see any problems with your English, I can fully understand it 😄
P.S.2. About RADIUS. In our lab, we have an authentication server that can verify student's ID against their password. We use RADIUS authentication so that students can login with their usual password, not Sharif Judge custom password.

If you don't mind, would you tell a bit about yourself and how do you use Sharif Judge? Do you use it for contest? classes? etc.. I remember there are other judge tools specialized for ICPC like PC^2 or Open Kattis but honestly I never tried it (I have stopped being a ICPC competitor for 10 years).

wojcik13 commented 6 years ago

Hello, at the beginning, my name is Wojtek, i'm student of high school in ZSO2 (Białystok, Poland). I'd like to participate in OI, it's something national programming contest, polish version of ICPC, but in Poland we can take part as teams, so Sharif-Judge is the best place to practice programming in team on some sample problems, based on OI archives. I have developed some minor functions in Sharif-Judge, but I don't know, how to use git, so I have it on my PC. I have also never managed to installPC^2 or DOMJudge, because it's too complicated for me :) I forgot about one more improvement, so to export assignments with titles and parameters linked with each problem, probably by export some data from database. Actually, I don't know, how to add this function, so I'm asking You to think about it, and answer, what is Your opinion. Kindly Regards

pascalalfadian commented 6 years ago

Hi,

I honestly thought you were a lecturer or ICPC coach, and surprised to know that you are a high school student! (I sincerely wish you all the best on your competitive programming journey, and be as good as the legendary tomek).

So, as for your requests, as aforementioned we will discuss it internally. I cannot guarantee we will do it, but I will keep this issue open and let you know on any updates.

If you want to learn yourself, I can recommend these steps:

  1. Learn git (Code School and Codecademy provides good hands on tutorial, IMO)
  2. Learn PHP basics, it's the language used to construct Sharif Judge
  3. Learn CodeIgniter, it's the framework used in Sharif Judge.
  4. Once you get the idea of routes, controller, and model in CodeIgniter, it's easy to modify things in Sharif Judge.
wojcik13 commented 6 years ago

Hi, thanks for Your advices. Nowadays I'm going to add a function to judge. My idea is to judge submissions on example tests during contest (or assignment), and after contest to judge submissions on "final tests", that are more complicated. In Poland we call them "heavy tests", because this group of test tell us if algorithm in each submission is so effective to fit in limits. I will try to add this function in a few days. If You are interested, I can share with You my Sharif-Judge version (actually, it's translated to Polish, but interface is almost the same) Best Regards

pascalalfadian commented 6 years ago

Yes, that would be interesting, and @ayenz can see that as an input for his final project. Thank you!