An algorithm for teamwork


- Lindsay Gagel

Game programming contests drive student interest, experience and skill—and are putting UVic on the map in the programming world

On Saturday, Feb. 20, UVic played host to a virtual battle, attended by over 300 students and developers wanting to test their artificial intelligence programming skills. It was the third annual BattleSnake competition.

In the classic arcade game Snake, a player maneuvers a growing “snake” around the computer screen. As the snake grows in size, it becomes more difficult for the player to avoid making the snake run into itself.

BattleSnake builds on this simple game: as the snake eats apples, it grows in size. Run into a wall, your own tail, or another snake’s tail and it’s game over. But there’s a competitive aspect to this version: run head-on into another player’s snake and the longer one consumes the shorter one.

At BattleSnake, teams of two to five programmers code a snake with artificial intelligence, to compete against other teams’ snakes. And the winners claim more than just bragging rights—there was $5,000 worth in prizes awarded throughout the day to teams of various skill levels.

Teams showed up at 11 a.m. to begin strategizing and programming using an app that allows developers to write code together. The main event, showcasing the “intelligent” snakes battling on large screens, kicked off at 6 p.m.

A sport where all competitors win

BattleSnake was sponsored by Heroku Software, a San Francisco-based company specializing in app development that frequently hires UVic co-op students. Participants included teams from UVic, Camosun College, Royal Roads University and Vancouver Island University. There were also three teams representing Women in Engineering and Computer Science (WECS) as well as employees of local IT companies.

Programming competitions like BattleSnake get students out of the classroom and engaged in an exciting and creative coding environment with fellow programming students and local developers.

“Programming competitions get students working on code outside of class projects,” explains Aldyn Chwelos, WECS Vice-President and third-year computer science student. “I think what makes BattleSnake stand out is how welcoming it is to programmers of all experiences. Coding competitions can seem pretty intimidating and the organizers really made an effort to make it a welcoming environment to anyone.”

“Additionally, having corporate teams compete and provide ‘bounty snakes’—which students could beat for additional prizes—created a fun way to meet and network with some of Victoria's local tech companies.” This was Chwelos’ second year attending BattleSnake.

A team of UVic students took first place. The second-place team was captained by a student who initially formed UVic’s Web Development club, who now owns his own start-up company.

According to Sarah Ing, a fourth-year UVic economics student and co-ordinator of BattleSnake, it’s a great opportunity to gain hands-on experience. “It’s a project that [students] can put on a resume and portfolio when they go out and apply for jobs,” she explains.

International bragging rights

Windward Code Wars is another big programming competition for students, collecting 75 teams from around the world for bragging rights this year. As in previous years, teams of UVic students competed against teams from Georgia Tech, the University of Maryland and other heavy tech hitters—with UVic’s “Team Guest” placing second overall.

“The competitions are definitely a lot of fun,” says Anthony Estey, PhD candidate and CSC 110 sessional instructor. “From what I saw, the competitions are also really challenging. Not because students are struggling with the technical aspects, but because of the heavy emphasis on teamwork and collaboration.”

Estey attends coding competitions to check up on his former students and help out when he can.

“Students work on much of their coursework alone, and are often scared to share or discuss work with peers because of plagiarism. In these competitions, time is a huge factor, so teams must work together efficiently in order to succeed. Students have little to no experience doing this sort of thing, and quickly learn that managing a group of programmers is easier said than done. To me, the emphasis on teamwork and collaboration is where these competitions shine, and why I think they complement the skills these students learn in their courses at UVic so well.”

In 2013, UVic’s participation in Windward Code Wars helped establish UVic as one of the hidden gems of computer science programs in the world, as reported by Huffington Post. It’s “a very good measure of the depth of a community within a school,” the paper reported. “And not just community, but also the love of programming for the pure joy of programming.”


In this story

Keywords: coding, programming, computers, engineering, community, teamwork, student life

Related stories