Skip to main content

Arena Puj

Posted by sombriks on February 2, 2010 at 9:54 AM PST
Project URL

Go see Project Homepage


PUJ is an academic competition to promote the synergy between the academy goals and the market needs.

DISCLAIMER: this project is migrating from the deactivated Kenai portal. Some links may be lost - we are working to fix that asap.

You should ask your JUG about the PUJ competition in your local community. If you don't have a JUG in your local community you can still implement a PUJ, preferably organized by local educators. Below you find the guidelines on how to organize a PUJ and you can also join our mailing lists and ask anything you need to start today.

What is PUJ?

PUJ is an academic competition to promote the synergy between the academy goals and the market needs. The prize stimulates the students to submit their homework projects to analysis by IT experts - senior professionals who will evaluate the quality and the market adequateness of what the students are coding (the homeworks) in the local universities.

Competition Format

The competition format assumes that local students are producing a lot of code in their homeworks, and also recognizes that the local market is eager for skilled developers. The idea is to join those complementary goals, offering the market a chance to review the quality of what is being produced during the early stages of a developer formation. The basic steps of the competition are enumerated below:

  1. At the end of an academic semester, the professors can submit their best students' homeworks to the PUJ competition
  2. The PUJ organizer collects the homeworks and organizes their evaluation.
  3. The evaluation follows the peer to peer reviewing principle, according to which all involved people have the right to grade the homeworks, but with different weight depending on the evaluator role in the local society. The table below contains a suggestion of weights. The final grades can be calculated by arithmetic mean or by harmonic mean. The PUJ organizers should make public the way they will compute the final grades.
Weight Role
7 IT Senior Professional
3 Professors and academic instructors (with students participating in the local PUJ)
1 Students participating in the local PUJ

Important observations:

  • The organizers should never define the homework or statements used in the competition. The problems solved by the students come from their reality, from their daily basis education - that's a core feature of PUJ and if you try to enforce an artificial problem you loose the ability to check the quality of the education process in your local community.
  • The above weights are only suggestions, you can tune the weights to better reflect the impact of each role in your local community. Remember that market is the king, the PUJ does not evaluate homeworks from their academic criteria (that is already done inside the universities). The idea is to check if a homework allows the students to acquire the competitive skills the market is waiting for in a near future (and not to check the correctness or the complexity of the implemented algorithm, for example).
  • The competition may have tracks (j2se, j2me, etc) but remember that each new track will need more evaluators and the number of professionals willing to dedicate their spare time to help the community is usually not that much. So we strongly suggest just one track composed by J2SE and J2EE applications. Nevertheless the competition should reflect the local market, so if your community has a strong J2ME market or is focused in Digital TV applications, there is no problem in having those specialized tracks in the competition. The PUJ organizers should define that accordingly to their local reality.

Eligible competitors

Any graduation student regularly registered in a local Academic Institution, including the ones just graduated in the current semester. JUGs can decide the interval, which they will consider a homework valid, but the most important is the fact that the teachers should submit the homework in the name of their students. When the university instructor submit a homework to the PUJ, he endorses the information of the submission in his name and in the name of the university. So, if you are a student willing to participate in a local PUJ competition, you should ask your professor to submit your homework.

How to submit works?

The professors should fill a form (on-line or paper ones) containing the following information:

  • Title of the work
  • Name of the discipline to which the work was meant to
  • Homework description, the original homework statement used in the assignment
  • Name of the student(s) who implemented the homework
  • Name of the Professor
  • Name of the University or Faculty
  • Name of the graduation course
  • Semester in which the student implemented the homework

You can download the PUJ Kit with the artifacts you need to implement your PUJ, including the forms used to manage the competition.

Evaluation process and criteria

The PUJ is based on the reality, and the homeworks evaluation should follow two simple criteria:

  1. Overall application quality: the evaluator should compare the application against the statement provided by the professor. The market common criteria should be applied here, like application usability, performance and robustness. The application works? The application is comfortable and visually attractive?
  2. Market adequateness: sometimes a fantastic application just doesn't sell out there, we noticed that all the time in the real world and it doesn't matter how sophisticated or impressive a code is in terms of science, the market is a cruel judge - the application features have sales potential or not?

Technologies are not under evaluation and it really doesn't matter what kind of technology the student used to produce his homework - that's how the market behave. Another important point is to avoid to specify too much details in the competition criteria, the goal of PUJ is not to find the most correct homework or the most traditional and safe homework. The goal of the PUJ is to elect the most effective homework in terms of technical education. Notice that the quality of the statements and the quality of the education of each academic institution is evaluated as side-effect of the PUJ - and that's why you don't need to enumerate long lists of rules and criteria - the best grades will arise from the experience of the professionals responsible for the evaluations, from the academic experience of the professores and from the customer instinct of the students.

The quality of the evaluation depends much more on the quality of the people involved in the competition than previous evaluation criteria. Rule #1: use senior professionals as evaluators, promote the peer review and make it in the most transparent way. This factors will guarantee fairness on the final results. One of the greatest feedbacks from PUJ is about the contrast between the students expectation and the professionals evaluations, several times students think they have a killer application that does not score high at the end. The thinking about why is that is a great learning for the students. Professors can also review their assumptions if their homework are not compatible with the other professors or if the market is kind of rejecting the way they ask homeworks. Remember: experienced professionals know what is good and what is not good about software design and application usability, they don't need written rules to find out the quality of the homeworks - one or two senior professionals can make mistakes during the evaluation, but if you have a group of several evaluators it is almost impossible that all of them will fall in the same mistake.

The qualifying evaluation (optional)

What to do if the number of submissions is disproportionate to the number of available evaluators, the PUJ organizer can establish a qualifying phase: a short review of the submitted homeworks to decide which are the eligible homeworks. This pre-selection should be done by a reduced number of professionals and/or professors. The most important action if the qualifying proves necessary is to publish the reasons of the homeworks elimination, one by one and in a transparent way.

  • Google Summer of Code is a good example of that, because Google pre-selects by its own criteria who is eligible to participate or not.

The prizes and why you should never give money prizes to the winner students

It is the responsibility of the PUJ organizer to organize the prizes for the competition, asking for sponsorship for example. The only important point to remark here is about the goal of the PUJ: to promote the education. The competition prizes should follow this lemma, support the students education. The most common and strongly suggested prizes includes:

  • conference vouchers and trips (the main prize of the original CEJUG PUJ )
  • books and other study resources
  • free courses, free software licenses

Why the PUJ should never include money prizes for the students?

Students are by design people eager for knowledge, and that is the main reason you should avoid material prizes - the ones a student can eventually sell after the competition or the ones that simply will become obsolete after a short time after the PUJ. Computers and electronic devices for example are cool prizes but usually have zero impact in the student education. It is just a new impressive gadget that will be forgotten few months after the PUJ. On the other way, if a student receives a free trip to attend an international Java conference, it will impact the life of the student forever because he will always remember the good times attending technical sessions, the cultural contrast with other countries or region, technical networking, etc. The feedback of students who already received conference prizes is remarkable.

Competitors FAQ

  1. Does it make sense to compare applications made with different technologies? J2SE with J2EE for example..
    • Yes, it definitely makes sense because the goal of PUJ is to evaluate the quality of the homeworks and not the technologies involved in their implementation. The professionals involved in the evaluation should be mature enough to separate the quality of the homeworks from their underneath details.
  2. Why J2ME is not included in the original suggestion?
    • Because it is very difficult to test and because PUJ was created in Ceará / Brazil, a place with a very small J2ME market. If your local community has a good tradition with J2ME or any other technology not suggested here, please talk to your JUG leader about that.
  3. And if the other students try to eliminate my homework giving me low grades?
    • The PUJ organizer should define the weights and invite a minimum number of professionals that make the students evaluation only decisive in case of even scores. And, think about that: if two homeworks receive exactly the same final grade, it doesn't really matters how the winner is selected. The students are participating in the evaluation for their self learning on how to evaluate and for their comparison of their works with the other competitors - the results of that experience are fantastic.
  4. And if a professor doesn't want to submit my work?
    • Then you are out of the competition. The professor and only the professor can endorse you homework because the PUJ organizers cannot validate all information for all students. We trust in the academic institution for that purpose.

How to organize the PUJ in your local JUG

If you are creating a PUJ for the first time, we suggest you the following actions:

  1. Find the sponsors, the local companies willing to pay the prizes and the marketing material (t-shirt, posters)
  2. Invite the evaluators, the senior professionals who will review the homeworks
  3. Establish a competition calendar, compatible with the local academic calendar and in agreement with the sponsors
  4. Publish the rules and the calendar on the web. Your PUJ is then officially launched

From this point on you need to promote a lot the competition in your JUG and wait for best homeworks. Don't forget to talk to all graduation courses to promote the PUJ inside the universities.

The PUJ Kit

To facilitate the PUJ adoption, we prepared a kit composed by a set of Open Office sheets and forms used to control a PUJ manually. We are still dreaming of an open-source online system to help the management of the people and homeworks, but until we do have such application we expect the kit can make your PUJ adoption more agile.

Organizers FAQ

  1. How to attract sponsors?
  2. How to prevent frauds and guarantee the information security?
  3. Where to find resources to implement a PUJ?


List of adopters

You can use the list below to find out how people organize PUJ competition all over the world. Some JUG leaders authorize us to publish their email, so you can ask them about the organization of the PUJ competition in their local JUGs.

JUG País contato Edições do PUJ
CEJUG BR Felipe Gaúcho (fgaucho @ gmail) 07, 08, 09
GOJAVA BR Raphael Adrien (raphael.adrien @ gmail) 10
JAVABAHIA BR Serge Rehem (serge.rehem @ gmail) 10
...     10

PUJ Memorabilia

CEJUG and the original PUJ

Curious moments during competitions

The wall of shame

  • Once a student tried to cheat against the other competitors giving bad grades for all other works. Two interesting side effects arose from his attempt: 1st: the low grades caused none impact in the overall evaluation since the bad grade just decreased a bit the competition average grade. 2st and most obvious side effect, the other competitors quickly realized the cheat attempt and started to blame our hero, who finally faded away from the discussion forums. So, if you are thinking on how to cheat your opponents, please be smarter the next time. Remember that all grades and evaluation comments are public, so your cheating tricks will be noticed by all people involved in the competition, including your teachers, your bosses and the opponents eager to remove you from the arena.

External links

PUJ Podcast

Blogs about the PUJ

If you blog about the PUJ, please send an email to and we will include here the reference to your page (in any language)

How can I help this project?

Several pending issues are available for the good hearts willing to help, like:

  • Create a PUJ logo - we need a fancy logotype - ok, we need any logotype since we don't have one :)
  • We need an online PUJ management system. We have only a project specification draft so it is pure green grass for the developers looking for fame & fortune (we guarantee the fame, ok?)
  • Ideas: innovative ideas to make the PUJ more robust and more attractive for the competitors are always welcome - and please, keep it simple or helps us to make it even simpler. Do you have a killer innovative idea ? Please send it to


Lesser General Public License (LGPL)