What do you get when you combine a coding contest, a music and arts festival, and games? Do those things even belong together?
For two days in November 2014, two hundred collegiate coders came together in Tokyo to participate in Code Festival 2014, put on by Recruit and Indeed Tokyo. The event included five distinct coding challenges, as well as fun non-coding activities. After the initial coding challenge - the main round - participants could brush up on their skills with tutoring tailored to that challenge. Not your average coding contest.
So, what does a room full of 200 coders look like?
Why make history?
Organizers wanted to capitalize on love of coding and competition and bring lots of talented coders together to work hard, have fun, make friends, and learn something new. Traditionally, programming contests are limited to a few top competitors, which can discourage those who don't make the cut.
Ayaka Matsuo, the event's project lead, decided to break free from that tradition. The structure of the festival allowed many more participants to take advantage of the events. Another history-making facet of the event was Matsuo's event team: 16 new college hires who will join Indeed Tokyo after graduation in April 2015. They provided ideas, helped run the event, and generated a lot of enthusiasm.
Expanding on a tradition
Indeed and Recruit held coding duels in Fall 2013, December 2013, and February 2014. (Read about them here.) They were a warm-up to the November 2014 festival in Tokyo, providing a lot of valuable insights into how to expand the types of coding challenges. Code Festival 2014 was so successful that plans are already forming for the next event. Could we host even more competitors?
The coding challenges
The event included 5 separate coding challenges. Two of the challenges - the main round and the morning programming contest on the second day - were standard programming contests, but the remaining three were not at all traditional.
All 200 participants worked through 10 questions (including debugging) in 3 hours.
The participant who solved the most problems in the least amount of time won the round. The top five participants from the main round advanced to the exhibition challenge.
The winner took home 294,409 yen, an amount that resembles a prime number. Last year's Tokyo coding duel awarded prize amounts that were prime numbers. This year, to mix it up, the organizers chose amounts that are strong pseudo-primes. In Japanese, these numbers are called Kyogi sosu (強擬素数) -- a clever choice, since “Kyogi” can also mean strongly doubted or competition. Check out the prize amounts for the top 20 contestants here.
In the evening of the first day, the top five finalists from the main round moved to a separate room for the exhibition challenge.
This room was far from private, however, as live video from each of the five computers was streamed into the main hall, allowing everyone to follow along with the competitors' progress in solving the problem. Audio commentary added to the excitement.
Were the challengers aware that their every move was being evaluated in the next room? Yes! And being watched only made the competition more lively.
Morning programming contest
All 200 participants were invited to return the next morning for another programming contest. To change it up, participants joined one of three groups, determined by skill level, and competed individually against others in the same group.
The AI programming contest required participants to write code that manipulates virtual players in a computer game. Fifty participants who had registered in advance of the festival participated in a preliminary challenge, with the top 16 progressing to the final. Those 16 were divided into four groups of 4, competing tournament style.
An exhibition match followed with Naohiro Takahashi (President of AtCoder and a competition programmer) and Colun (a competition programmer) and the first- and second-place winners of the AI challenge.
During the last challenge on day 2, the 200 participants were divided into 20 teams of 10 members each. Each team needed to solve 10 questions, one at a time, within 1 hour 30 minutes. Live video aired, along with commentator play-by-play.
While the participant solved the problem, the rest of the team huddled apart from the contest area. If the teammate with the "baton" had a question, s/he stepped away from the computer to collaborate with the other teammates.
Other festival activities
Event organizers sought to ensure that all participants had a chance to learn, play, and connect with their peers. Non-coding activities included calligraphy with code-related content, board games, Taiko-no Tatsujin (drum masters), and DDR (Dance Dance Revolution).
Participants also had the opportunity to take private lessons with coding competition experts and attend panels with industry professionals covering these topics:
- The future of programming contests
- A question: Is the coding competition effective for learning programming?
- How to create redcoder
- How to handle increasing speed in coding competitions
Want to know more?
Gizmodo Japan wrote about the Code Festival. To review the participants' submissions, navigate to the AtCoder standings page and click the magnifying glass beside each user's name. To brush up on your own skills, participate in Top Coder and challenge yourself with past problems from the ACM-ICPC World Finals.