In that case I suggeste a controlled type, in your school classrooms. These are some points I would consider.

1. How many problems/tasks will there be? 1 to 3 is a good number.
2. What programming language? Take into consideration only those that are taught on your and other colleges. Consider using more than one. For example C++ and Java, separate or similar problems two solve, winner for each category.
3. Time available. Up to 3-4 hours. Anything more will be hard to endure.
4. Single entrants or teams? Can people work in teams or will each student work on his own.
5. Don't announce the problem ahead of time. Only give them the language and a general area.
6. Number of contestants. This depends on how much space (how many computers) you will have available.