shak's Help 

  1. System Concepts
  2. Managing Programming Contests
  3. Mooshak interfaces
  4. Frequently asked questions
Mooshak's Help: Main features

What is Mooshak?

Mooshak is a client-server application to fully manage and run programming contests. It is web-based and therefore all of its functionalities are accessible through interfaces deployed on a web-browser, irrespective of the operating system were the browser is running. These interfaces use the HTML 4.0 frame set and no processing is made on the browser, except for some data input validations that are implemented with ECMAScript. Java and plugins were avoided on purpose to simplify the use of the interface by any machine on the Internet.

Main Features

Mooshak provides a number of features, namely:
General features:
  • Multi-user: accommodates different users with rather different access permissions to the system: contest directors, judges, contestants and general public.
  • Multi-site:supports single site as well as multi-site contests; it is also prepared to allow simultaneous local and online contests.
  • Conforms with official rules: conforms with ACM-ICPC rules to classify contestants submissions.
  • Flexible: can import data files produced by ACM-ICPC central registration database; and provides means to produce pariticipation certificates based on the contest classification.
  • Multi-language: supports a number of programming languages, namely C, C++, Pascal, and Java.
System security and reliability:
  • User-authentication: access to the system is controlled by user authentication, except in the case of the public view that is open to everyone.
  • Reliability: supports data replication to allow rapid system recovery in case of failure.
  • Safe-exec process environment: provides a safe execution environment to run the programs. This environment limits resources available to contestant programs, hence preventing them from interfering with the system.
Users and interfaces:
  • Multiple user-views: provides different interface views according to the type of user accessing the system. The interface only shows the functionalities accessible to that user.
  • Administration view: allows contest directors to setup a new contest and to add all data necessary to make it operational; problem descriptions; solutions, test inputs and outputs for the problems; teams and contestants data; programming languages; date for the contest, starting and finishing times, etc.
  • Jury view: allows a person jury to validate the judging made by the automatic judging system, to re-evaluate submissions if necessary, and to answer questions posed by contestants and to track the handling of printouts to contestants.
  • Contestants view: allows contestants to submit solution programs, to ask questions, to print their programs, to access the submissions list, to access current classification, and to visualize problem descriptions.
  • Public view: allows any user on the Internet to follow the progress of the contest as it is taking place; they can access the submissions list, current classifications and other statistics listings regarding the contest.