Egyptian Olympiad in Informatics

From Wikipedia, the free encyclopedia

The Egyptian Olympiad in Informatics (EOI) is the Egyptian version of the International Olympiad in Informatics (IOI). The highest ranking contestants of the EOI qualify to take part in the International Olympiad in Informatics (IOI), one of the most recognized computer science competitions in the world. The nature of competition is basically algorithmic. However, contestants have to exhibit basic IT skills like problem analysis, design of algorithms and data structures, programming and testing. The winners of IOI’s final competition are considered among the best young computer scientists in the world.

[edit] Goals

To promote IT as a tool to solve problems, whether computer related or in any other field To encourage young talent in IT To prepare human resources for the IT marketplace To establish a generation with innovative abilities To encourage the remarkable persons of the special needs in IT

Subject of Contest

Contestants are asked to solve a series of questions and problems through the creation of their own program, using methodical thinking and basic computer algorithms. The steps involved are as follows: Problem definition Problem analysis Selection of a suitable strategy Setting a plan Validation of proposed solution

Contest Topics

Level 1 Calculating the average for a set of numbers Addition, subtraction and multiplication of compound numbers Solving second degree equations Addition and multiplication of matrices Finding numbers within a set Finding the largest or smallest number in a set Sorting a group of numbers into ascending/descending order Level 2 Dynamic programming Greedy techniques Complete searches Shortest path algorithms Minimum spanning trees Knapsack problems Computational geometry problems Network flow problems Heuristic searches Approximate searches Ad-hoc problems Backtracking algorithms

Contest Phases:

First Phase: Admission tests at IT Clubs to select 600 contestants Training of selected contestants at IT Clubs for 56 hours on contest topics Second Phase: Filtering tests to select 60 contestants for the Olympiad finals Training of contestants through MCIT's website Third Phase: Final competition, to be held at the Arab Academy for Science and Technology Closing ceremony, including presentation of prizes, gifts and medals

Competition Equipment

Each contestant will have a PC equipped with: Intel Pentium processor running at 1000 MHz 256MB RAM Standard US keyboard Mouse Color screen A diskette for backup and printing Stationery: Blank writing paper Pens, pencils and erasers

Contestants are not permitted to take their own aids – such as program disks, calculators, manuals or books – into the competition room. Programming Tools

The following tools will be fully installed, with help files, on each computer: Windows XP Turbo C++ Version 3.0 GNU – GCC Visual Basic

Competition Tasks

Programming tasks of an algorithmic nature, in addition to a task in basic information technology. Topics covered at the Junior Level: Loops Sorting Searching Matrix operators Simple graphing Data structures Stack Queues Linked lists Functions Recursion Topics covered by the Senior Level are the same as those of the Junior Level in addition to: Divide and conquer Greedy technique Dynamic programming Backtracking Each task has a title (at the top of the page) and a short name (at the bottom of the page). The short name contains a maximum of six characters and is used to identify the task (e.g. in forming the name of the executable). The following will be stated on the task overview page: Short task name Name of input and output files Name of the executable Time limit Maximum points awarded for the task Contestants will also receive for each task a specification in English and a translated version in their native language prepared by their delegation leaders. All relevant figures in the English specification are numbered. The translated versions may refer to the figures by their number, but captions will be translated. All figures and examples in the English original are considered part of the task specification.

Training

Students who live in Alexandria get their training in the Arab Academy for Science and Technology. The Arab Academy contains the Regional Informatics Center (RIC) which has been provided by 160 computers to be able to serve 160 trainees. The Arab Academy has many professional programmers who really proved that they are the best programmers in Egypt as every year students who get the highest positions in the contest are those who got their training in the Arab Academy. In addition the Arab Academy programmers got the first place in the ACM (Association for Computing Machinery) Arab and North Africa regional contest which call the ICPC (International Collegiate Programming Contest) 2006 which is sponsored by IBM.

When the Arab Academy realized that the students who get their training in it are better than the other. They made a Google group so student's who don't live in Alexandria can get their training through the group. And the group is moderated by one of the best Engineers in the Arab Academy who is AbdelRahman ElGammal. The group page is [1]

Task Submission

Here is an example: If the short names of the tasks are AAST, BOYS and EYES, contestants have to submit the following files to the AOI Evaluation Server:

  AAST.C or AAST.CPP 
  BOYS.C or BOYS.CPP 
  EYES.C or EYES.CPP 

Contestants’ Programs While contestants may choose to write their programs in any programming language, they must compile their source programs into a stand-alone executable.

All programming tasks can be solved in any of the available programming languages. The input and output operations are simple, allowing contestants to concentrate on the algorithmic details. No special features of the programming environment are required, nor should they be used.

Contestants should be familiar with the programming package of their choice, including the use of libraries or units. The ability to use the Integrated Development Environment (IDE), especially the built-in editor, compiler and debugger, will be helpful. Some knowledge of compiler options may also be an advantage, and contestants should be able to use MS-DOS for tasks such as executing a program, changing the working directory and managing files.

Efficiency plays an important role in some tasks. For these, at least one test run will be included where the input is such that a correct, but nevertheless inefficient, program can also score some points. It is important, therefore, that contestants attempt each task even if they are unsure of how to achieve the “best” solution.


Input Data

Programs should read their input data from ASCII text files consisting of one or more lines, unless specified. The names of the input files are given in the task specification. The names of the input and output files must be spelt precisely as given; variations will not be accepted.

It may be assumed that the input data agrees with the task specifications.

Input data consists of a sequence of items. An item is either an integer or a non-empty character string of Latin letters (‘a’ to ‘z’ and ‘A’ to ‘Z’) and/or decimal digits (‘0’ to ‘9’). Exactly a single character, which is either a single space character or a single end-of-line, separates items.

Examples of input files are provided for all tasks, both in the task specification and in the task directory.

Output Data

Each program should write its output data to the ASCII text file specified in the task specification, unless task specifies that it be written to the screen.

The output should be formatted exactly as shown in the task specification. Contestants shall not add output of their own as this may disrupt the evaluation process. Every line must be terminated with an end-of-line character, including the last line.

Output data consists of a sequence of items. An item is either an integer or a non-empty character string of Latin letters (‘a’ to ‘z’ and ‘A’ to ‘Z’) and/or decimal digits (‘0’ to ‘9’). Exactly a single character, which is either a single space character or a single end-of-line, separates items.

Exit Code

Contestants’ programs should terminate normally and return properly to the DOS prompt. Any other behavior will be considered identical to a failure by time out.

Starting the Competition

Each contestant will be allocated a table in the competition room on which a computer is placed. The computer will have been switched on. The competition task specifications will be inside an envelope underneath the keyboard.

Contestants are not allowed to touch the keyboard or open the envelope until the start signal, a long whistle blow, is given.

Questions

During the first hour of the competition, contestants may submit written questions concerning any possible obscurities or ambiguities in the specification of competition tasks. Only one of the following replies will answer questions:

“Yes”, “No” or “No Comment”

Contestants must submit their question(s), in English or in their native language, on the Question Form provided. If required, a delegation leader can translate question(s).

The Scientific Committee will answer every question submitted by the contestants. As this may take some time, contestants should continue working while waiting for their answer(s). Contestants will not be involved in any discussion.

Contestants may ask the lab supervisors for assistance at any time. The supervisors will not answer questions about competition tasks, but will deliver Question Forms, attend to computer problems, obtain refreshments, provide directions to washrooms, etc.

Backups

Contestants will be provided with a diskette to backup their files during the competition. Contestants are advised to maintain backups so that they can recover work in the unlikely event of machine failure. If a contestant’s machine fails with an irrecoverable error, he/she may be allowed compensation time at the discretion of the Evaluation Committee.

Printing

During the competition, contestants will be able to get printouts of ASCII files by copying them into the subdirectory “A:\PRINT” of a diskette and handing it to the supervisor. The diskette will be returned with the printout of the files. The files printed will be moved to the directory “A:\TRASH” automatically after printing. No other alternation to the diskette will be performed.

Ending the Competition

Contestants will be advised 15 minutes before the end of the competition and again five minutes before the end. On both occasions, a supervisor will display a written notice and make an announcement in English. The last announcement will be a long whistle blow one minute before the end of the competition. At the end of this time, the power will be switched off.

Contestants should take care before the end of the competition to go through the following checklist:

Are the programs submitted with the correct name? (No other files will be evaluated) Were the executables made using the right compiler options? Did the programs produce output in acceptable formats?

Contestants may not remove any diskettes from the competition room, though they may remove the competition envelope.

Evaluation

Evaluation is the responsibility of the Evaluation Committee, which will perform this task without the presence of delegation representatives or contestants. This process will be highly automated, making use of the local area network infrastructure.

Objections can be filed by submitting an Objection Form within three hours of the release of evaluation reports.

[edit] External links