In the past three campus DevCons, we've been conducting a beta test of our newest addition to the DevCon programme: the Java Code Challenge.

The Java Code Challenge (JCC) is a 1-2 hour programming competition where teams of at most 3 individuals compete to solve the most coding problems in the shortest amount of time.

Why hold programming competitions?

It would be easy to point out that our most recent programming competition, last November's C-Cup, exceeded many of our expectations and it would be great if we made programming competitions a regular activity for DevCon.

In reality, however, we created the JCC as a possible solution to a pressing issue regarding our Mini-Hackathons.

While the Mini-Hackathon is one of the canonical 3 events for a DevCon Event (the other two being Lightning Talks and Birds of a Feather), we rarely get to do it in Campus DevCons in the past few years due to the following: 

  • You need a lot of people to hold a Mini-Hackathon – mentors, monitors, judges. Not to mention a lot of speakers leave before the event ends, further reducing the amount of available judges.
  • The end result is usually subjective, which makes the event feel redundant due to the other subjective contest, BOF.
  • It's already hard to convince students to participate in BOF, and it's even harder to find students willing to think of new ideas in a Campus DevCon. In other words, Mini-Hackathons are more suited for Code Camps where they have spent the whole day thinking about what they can do with what they have learned.

On the other hand, JCC seeks to answer these concerns and at the same time offers some additional perks:

  • JCC is a fully automated system. All we need is a lead Judge to setup the system and a handful of monitors going around to make sure the teams aren't cheating.
  • Being fully automated, the end result is purely objective – either you solve the problems or you don't. This provides a good contrast to BOF.
  • In our experience, Campus DevCons are attended by 3rd to 4th year college students. These students have little reason to refuse a chance to get a prize for an hour or so of coding, something that should already be second nature to them at this point.
  • In addition to the prizes, students who take the top spots of the contests can be scouted by the event sponsors (or even the invited speakers) for interviews and internships.
  • We can use it as a lead-up to this year's C-Cup. Regional leagues and qualifiers, perhaps?

How it Works

The teams can sign-up for the event beforehand (like in Mapua) or they can sign-up on the event itself (like in UST and APC). Either way, they will connect to a network that we setup and sign up to our automated testing sytem, Code Compete.

Once inside, they will be presented with programming problems of varying difficulty. The teams can bring along with them and refer to books, notes, or even a hard drive full of ebooks. They can't, however, use more than one laptop, or access the Internet, or consult with profs and other external entities.

The teams are given at least an hour to try to solve the problems. The team with the highest amount of points at the end of the contest wins.

Here's a sample question:

A possible solution could be:

import java.util.*;

public class Adder {
    public static void main(String... args) {
        Scanner in = new Scanner(;
        int numberCount = Integer.parseInt(in.nextLine());
        int sum = 0;
        for (int i = 0; i < numberCount; i++) {
            sum += Integer.parseInt(in.nextLine());

As a side note, at the moment we are only allowing students who do not compete in external programming competitions to join the contest. Competitive programmers, instructors/professors, and professionals are far better than your average student; allowing them to join would take the fun out of the event. 

We might consider modifying the rules to allow them to compete, for example requiring all teams to have an instructor to make things fair, but right now we'd rather have those people help out with the event (in exchange for some freebies, of course).

Sounds interesting, how do I participate?

If you're planning a Campus DevCon, you can have a JCC as part of the event as long as your schedule allows it. Normally, Lightning Talks can go from 2 to 4 hours and BOF around 30 minutes, so a DevCon event with a JCC would run for 4 – 6 hours.

Another option is to split the JCC to a different session. For example, we held the JCC as a morning session in both APC and Mapua while we held the rest of the DevCon event in the afternoon.

Note that the JCC is only available for DevCon events in Metro Manila. We're working on making the event easy for our other chapters to setup, but right now we're focusing on first ironing out the kinks of the system.

If your company or organization wishes to sponsor future JCCs, please contact our VP for Finance, Jossie, or our Executive Director, Haifa.

And finally, if you want to compete in future JCCs, you can follow us on Twitterlike our Facebook page, or subscribe to our events feed to be up to date on upcoming DevCon events.

[Update 9/15] A public demo is now live here for those who want to try out the system.

One last thing: Why Java?

We chose it simply because it's the easiest language to sandbox; just use the flag when running the programs. Being a mainstream language also helps.

We'll consider supporting other languages once we gain more traction.