Skip to content
This repository was archived by the owner on Sep 30, 2020. It is now read-only.

How to assess a project

Cristian Gonzalez edited this page Mar 5, 2018 · 16 revisions

How to assess a project

Introduction

Project evaluation is possible throughout the project upload subproblem type. As well as code multiple languages subproblem it can be added to a specific task. It manages the same parameters such as time limit, memory limit, and output limit. Additionally, the grader tab allows to create the subproblem run file dynamically.

Project upload is supported for the following languages:

  • Java
  • C/C++
  • Python

Do not forget to select the multiple_languages container to be capable to judge projects with the languages mentioned above.

Upload a project

A .zip file must be submitted to assess a project and depending on the selected language there is a convention to submit a project onto the platform, these conventions are described for each language as follows:

Java

Submissions for projects written in Java are supported for 1.7 and 1.8 JDK versions. To submit a Java project, the zip file containing a src folder and a lib folder must be provided.

  • src: this is the folder where all the code written must be located, this includes a Main.java file which start the program execution.

  • lib: this is the folder where all the dependencies used must be located, this includes .jar files and .class files.

Note: Do not compress a folder containing the src and lib folders, instead it, select src and lib folders and compress them into a file zip file. See the picture below and the Java example for a better understanding.

C/C++

GCC and G++ 4.8.5 are already installed. To submit a C/C++ project, a zip file must be provided. This zip file must contain the source code and dependencies in the way the user likes, thus, a Makefile ( Go to How to create a Makefile) has to be submitted in the zip file. The makefile is in charge of compiling the project and execute it.

See the C++ example for more understanding.

Python

You can submit a project in either Python 2.x or Python 3.x. The only requirement is having a main.py script which would be the entry-point for the application. You can include as many folders and sub-folders as you need. However, that the main.py script must be put in the root of the compressed file.

Remember that the zip file must contain directly the main.py file. That is to say that you have to be careful when compressing the folder. Be sure to compress the files inside the folder so that when INGInious decompress the file the file it has access to the elements without going trough intermediate folders.

Clone this wiki locally