FAQs
The following are some frequently asked questions about the contest and platform. If your question is not answered please feel free to Contact Us.
- Contest FAQs
- When does the contest open?
- When is the closing date of the contest?
- What are the terms and conditions?
- Do I need to submit my source code?
- What restrictions are there on my entry?
- Do I have to be a student to enter?
- Can we submit a team entry?
- Who is organising the contest?
- Can I submit more than one entry?
- What size is the contest grid?
- What hardware will the tournament be run on?
- What happens in the event of a tie?
- What is the reason for not being able to store data between moves?
- Can I enter both the beginner and open contest?
- What restrictions are there on the beginner contest?
- How can I update my submission?
- Platform FAQs
Answers
- Contest FAQs
- When does the contest open?
The contest starts on the 10th March 2009. It will run until the 1st of June 2009.
- When is the closing date of the contest?
The closing date of the contest is 1st June 2009, you must have submitted your entry by this time.
- What are the terms and conditions?
For a full list of terms and conditions goto the Terms & Conditions page on the website.
- Do I need to submit my source code?
Yes, one of the requirements of entry is that you submit your source code. When you use the upload form we will check if you have included your source code in the JAR file. If you haven't it will warn you. There are two reasons we want you to submit your source code: firstly we need to be able to verify entries for the beginner contest are in fact non-recursive. Secondly, we would like to be able to see the interesting strategies you have come up with for solving Four-in-a-Row.
- What restrictions are there on my entry?
There are a number of restrictions on your entry. Details of them are given below:
- Your player has 3,000ms per play
- The 3,000ms per play is CPU time and therefore the amount of processing that can be done will be dependent on the exact machine the player is being run on and the load that machine is under.
- Your player cannot store state information. In other words, you cannot store data to files, or memory, or network connections. You will not be able to remember information from one turn to the next
- Your JAR file must be under 2 megabytes in size
- Your player must run within a heap size of 512 megabytes
- Do I have to be a student to enter?
You need to be a student to be eligible to win one of the prizes. However, if you are not a student you are welcome to enter, but you will not be eligible for one of the advertised prizes. Please state "Non Student" in the institution field on the registration page.
- Can we submit a team entry?
Yes, we are very happy for you to enter as a team. This might be a particularly good idea if you have limited time or are still learning Java, for example, an after school computer club. However, please bear in mind that there is only one Eee PC to be won, so you will need to decide how to allocate that prize within the team.
- Who is organising the contest?
The contest is being organised by the Young Professionals Group (YPG) Reps for the Guildford Branch of the British Computer Society (BCS). They are Chris Culnane and David Williams. Both are also PhD Students in the Department of Computing at the University of Surrey. They have organised the competition with help from the BCS YPG Executive Committee, The Faculty of Engineering & Physical Sciences (FEPS) Education Liaison Centre at the University of Surrey, the BCS Guildford Branch in particular Dr Roger Peel, Chairman of BCS Guildford and, of course, Dr James Heather.
- Can I submit more than one entry?
Yes, you can submit as many entries as you like, just make sure you give each JAR file a unique name.
- What size is the contest grid?
The board is a standard size board, 7 columns wide by 6 rows high. This is fixed and will not change during the tournament.
- What hardware will the tournament be run on?
The tournament will be run on the High Performance Cluster in the Department of Computing at the University of Surrey. It consists of 32 IBM HS21 high-density, dual-processor, dual core Blade Servers, which gives it 64 processors and 128 cores.
- What happens in the event of a tie?
The following procedure would be used in the event of a tie
A tournament will be held involving the tied teams. If a tie remains further tournaments between the tied teams will be held with a reducing amount of time per play. If we are still unable to find a winner we will look at the average game length (number of moves taken to win) in the original full tournament. Should a tie still exist we will evaluate the average game length for the tournaments held between just the tied teams. In the unlikely event that a tie still remains a panel of judges will be convened to evaluate the source code of the submitted solutions - looking at elegance of design, coding style and good practice. The judges will choose a winner and a ranking for the tied teams. The judges' decision will be final.
- What is the reason for not being able to store data between moves?
There are a number of reasons for stopping you from storing data between moves. In order to protect the cluster, which the contest will be run on, the security policy prevents any access to the file store or any network connections. Your class will be reloaded for each turn; this prevents a malicious player from attempting to take resources away from an opponent. For example, if you could store data to memory between moves you could potentially use up the entire heap space and leave your opponent with no memory. It also prevents players from using learning strategies that would learn from opponents and past games. If these were allowed it would mean the order in which the opponents were played would influence the success of the strategy. Due to the parallel nature used to run the tournament, different strategies would play opponents in a different order and this would be unfair.
- Can I enter both the beginner and open contest?
No you can only enter one of the contests. Please see What restrictions are there on the beginner contest? for details of how beginner entries will be judged. If you are capable of entering the open contest then you will not be eligible for the beginner contest.
- What restrictions are there on the beginner contest?
We wish to encourage beginner programmers to come up with interesting strategies whilst expanding their knowledge of Java programming. As such, the 'beginner' stream offers the less-experienced programmer the chance of winning a prize by specifying that the solution should be non-recursive, with the aim of excluding strategies that attempt to build/use a tree of all the possible moves in an attempt to find the optimal move.
The tournament will run as previously described, with all entries playing all other entries. The entry that tops the league table will be crowned the open contest winner. The source code of the highest-ranked non-recursive entry will then be evaluated by the panel of judges to determine whether there is any reason not to consider the entry an appropriate winner of the 'beginner' stream. Should the judges decide the solution cannot be recognised as a beginner entry, they will continue down the league table until an appropriate winner of the 'beginner' stream is found.
- How can I update my submission?
If you want to submit an update to an existing submission use the same JAR file name and it will overwrite the previous version.
- When does the contest open?
- Platform FAQs
- What are the system requirements for running the TestHarness?
The following are the system requirements for running the TestHarness
- Java 1.6 or above
- How much Java do I need to know?
This really comes down to how much effort you are willing to put in to your entry. If you don't know any Java this contest might provide the ideal opportunity to learn. If you only know the basics of Java (the syntax, if statements, loops and arrays), we would suggest entering the non-recursive beginner stream. If you have been programming in Java for a couple of years, then why not try entering the open stream?
- I only know a bit of Java, how can I learn some more?
If you want to learn some more Java goto to java.sun.com to find resources and downloads to help you learn Java. We would also recommend the free Java tutorials at http://java.sun.com/docs/books/tutorial/index.html for an excellent introduction to Java.
- Who developed the test platform?
The test platform and idea of using it to teach Java were developed by Dr James Heather at the University of Surrey as part of a SCEPTrE Fellowship.
- Can I use the test platform in my own competition?
If you are interested in using the test platform in your own teaching or competition please get in touch with Dr James Heather.
- What are the system requirements for running the TestHarness?