Accusoft Hosts iSpy Coding Competition at Florida Polytechnic University
The excitement from the morning’s activities turned into a competitive tension in the afternoon, as the last hour of Accusoft’s iSpy contest took form at the Florida Polytechnic campus. The front runner had cemented itself, but only the first through third places took home the cool prizes. As the rest of the teams were trying to battle it out, the last half-hour set in. The last code submission headed to the judges and the contestants all started to relax. After putting in 8 hours of hard work and learning, pride and excitement rested on the participants’ faces. This made the job of announcing the winners all the better.
The iSpy coding competition was started almost a year before the event. Accusoft had hosted competitions before, but never to this extent. The competition is a great way for the company to reach out to the community, especially to encourage Computer Science students. A coding competition like this fits so well with Accusoft’s goals that the team wanted to reboot and learn from past mistakes. After a thorough review of what didn’t go well in the past and many rejected themes, the team finally decided on the perfect theme of the competition, steganography.
The Steganography Skills Tests
The theme was the perfect mix. Steganography hits on our team’s strengths (images and data), a computer science student’s enjoyment of esoteric nerdiness, and honestly, it just sounded fun. Many months of ideas, tweaking, play testing, and balancing followed and finally, we were (mostly) ready. Two of my favorite ideas for the test were:
- Receiving a Message Using a Hidden Barcode
Our agent has uploaded a critical password that we need to decrypt a transmission, but they’ve hidden the password somewhere in an image of trees. The only information we have to go on is “slope = 0.5584, intercept = 507.5”. We believe there is a barcode within the image along that line, in one of the color channels, but it’s not visible to the naked eye. We think it must be in one of the CMYK channels (either the Cyan, Magenta, Yellow, or Black channel), instead of the typical Red, Green, or Blue channels.
- Extracting an Image from Another Image
We have created a benign-looking image, hidden the message inside it, and posted it to a public place (like a product for sale on the Amazon marketplace). You will download the image and extract the message. From there you must create a blank bitonal image of the same dimensions as the original image. For each pixel in the original image, sets the matching pixel in the bitonal image to the low bit of the red (or green or blue) pixel in the original image. Then you will be able to extract the image.
Participant Team Preparation
The contest started before contest day. Once all the registrations were in, Accusoft sent participant teams all the preparation work they would need to do before the day. They also received documentation they would need to know a week beforehand. This gave each team the opportunity to jump right in on the contest day.
We ran the competition with 6 different Steganography problems, giving weighted points to each correct submission based on the difficulty of the problem and how fast they checked in their code to Git. They would have 8 hours to submit as many correct solutions as they could, racking up points as they did.
This is not exactly the type of problem these students had probably ever seen before, so to make sure that the teams weren’t struggling, Accusoft provided four senior engineers on contest day that were ready to assist.
These judges did an amazing job of walking that line between helping a team understand the problem and not giving away the answer. It’s no fun for anyone if a team just struggles with no hope in sight, but there had to be a challenge involved.
The Final Award
There was one final twist, the Judge’s Award. At the end of the competition, each team could submit one of the correct answers to be judged for how clean and readable their code was. This would net them an LED Mechanical Keyswitch Keyboard worthy of their effort and skill.
The winner was team “Bugs Stop Here” with four of the six problems solved and all four of those were the first correct check-in gaining them 210 points. They also unsurprisingly won the Judges award. The rest of the competition was a much tighter race.
The Final Standings
- Bugs Stop Here – 4 correct – 210 points
- DTG Inc. – 3 correct – 145 points
- HypError – 3 correct – 125 points
- iFound – 2 correct – 90 points
- Latin – 0 correct – 0 points
- Dead Weight – 0 correct – 0 points
In the end, Accusoft gave away almost $3000 in prizes to the students as well as event t-shirts. Accusoft plans to continue this contest, presenting new problems in the same vein every year. Right now, the team is looking to expand to Developer Groups like WICSE@USF (Women in Computer Science and Engineering @ University of South Florida). With every event, the goal is to get as many students excited about different kinds of software development and introduce them to different tools like image libraries and Git.