2007 G-H Computer Programming Competition***

Results of the Competition

The Guelph-Humber Student Association (GHSA) and the GH Custom PC Club are pleased to introduce the 2007 GH Computer Programming Competition. This is the first programming competition of its kind that is being organized for GH Computing students in April 2007. This competition is open to ALL students in their 1st, 2nd, and 3rd year of the Applied Computing program (i.e. the Computing students who are currently on campus), and every student is encouraged to participate at no cost-- it is a fun problem solving game suitable for students at all levels.

The competition will start on Monday, April 2, and submission of entries closes at 4:30pm on Tuesday, April 10.

The Challenge

In this programming competition, your task is to change the application logic of a simple interactive game written in Java using the Greenfoot environment. To learn about Greenfoot, the competition, and the rules of the game, please attend one of the following information sessions on Monday, April 2, 2007:

11:00 - 11:50 in GH-412
1:30 - 2:20 in GH-412

Greenfoot

Greenfoot is a programming environment supporting Java. It is designed specifically to convey object-oriented concepts and principles in a clean, easily accessible manner. The Greenfoot environment makes creation of graphics and interaction easy. Students can concentrate on modifying the application logic, and engage and experiment with objects.

Greep Invasion

The Greeps have come to Earth! And they like tomatoes. As soon as the Greeps have landed, they walk all over the place, always on the look-out for tomato deposits. But time it running out...

In this competition, your task is to help the Greeps on their quest to collect as many tomatoes as they can in a limited amount of time. You will need to improve the Greep class to collect as many tomatoes as possible.

How to Participate?

Attend one of the information sessions (see above) to learn more and see live demos of what needs to be done. You need to download the following packages:

  1. Download the Greenfoot environment and install it on your laptop or desktop computer
  2. Download the Greeps scenario and install it under the Greenfoot's "scenarios" directory

Once you have downloaded and installed the above packages, start the Greenfoot environment and open the "Greeps" scenario. Run it to get a feeling of how it works.

Your Task

You should edit only the Greep class. You cannot change any of the other classes. Program some intelligence into the little critters, and make them carry the tomatoes to their space ship quicker than ever before. Make sure you follow the rules...

Rules

  1. Rule 1: Only change the class Greep. No other classes may be modified or created.
  2. Rule 2: You cannot extend the Greep's memory. That is: you are not allowed to add fields (other than final fields) to the class. Some general purpose memory is provided.
  3. Rule 3: Greeps do not communicate directly. They do not call each other's methods or access each other's fields.
  4. Rule 4: No long vision. You are allowed to look at the world only at the immediate location of the Greeps. Greeps are almost blind, and cannot look any further.
  5. Rule 5: No creation of objects. You are not allowed o create any scenario objects (instances of user-defined classes, such as Greep or Paint). Greeps have no magic powers -- they cannot create things out of nothing.
  6. Rule 6: No tele-porting. Methods from Actor that cheat normal movement (such as setLocation) may not be used.

Some Tips

The Maps

Note that the Greeps scenario you download from greenfoot.org comes with three maps, however, testing to identify the top three scores will be done using ten maps. The shape of each map, and locations of water and tomatoes are different.

Submission of Solutions

Students must demo their solutions to Qusay Mahmoud no later than 4:30pm on Tuesday, April 10. To do so, each student must bring his/her Greep class on a USB key. As you can tell, there is some luck involved due to the random movement of Greeps. Hence, each student's solution will be run three times and the highest score will be selected. Once a solution has been submitted and tested, it cannot be updated.

In cases there is a tie between two students, the next runner up will be used. For example, if the three runs for each student are (97, 120, 99) and (99, 77, 120). In this case, the highest score for each is 120 which is a tie. The second highest will be used (99 and 99), which is a tie as well. The third score will be used (97 and 77). In this case the student with the scores (97, 120, 99) is the winner. As another example, if the three scores are the same then the two solutions will be run for one more time each (a single run to obtain a single score).

We will keep track of the highest scores, and the top three will be selected to be run against each other on Wednesday, April 11 to determine the final results for first, second, and third place prizes.

Prizes and Celebration Party

There will be three prizes for the three students with the highest scores. The prizes are Future Shop Gif Certificates for $150 for the first place, $100 for the second place, and $50 for the third place.

A celebration party to announce winners will be held on Wednesday, April 11 between 12:30 - 1:30pm. Starting at 12:30, the top three scores will be selected to run against each other to determine the final results. Pizza and soft drinks will be provided (free). All students, faculty and staff are invited!


***This competition is based on the Greenfoot Programming Competition held at the ACM SIGCSE2007 conference in March 2007 in Covington, Kentucky, USA.