This weekend, over 50 students and project mentors gathered in Toronto for this semester’s code sprint.

Why go through all the trouble and expense of bringing students together to a single physical location to work on their projects? Isn’t the point of UCOSP to teach students to work in a distributed environment? Yes, but from experience, we’ve found that when teams are able to meet even once, the odds of success are dramatically increased.

For many, remotely collaborating with teammates, a mentor, or mailing list is intimidating, especially for the many students who’ve never worked in a distributed fashion before. Getting together at the code sprint leads to smoother interactions in the future. It’s also a great chance to meet other students and industry contacts.

The code sprint also marks the point in the semester where students decide on goals for the remaining two months of the semester. Now that environments are set up and the code bases are explored, students can now move forward and accomplish a meaningful chunk of work.

From Friday morning (apologies to our Pacific Standard Time students!) until Sunday noon, students got remaining environment kinks sorted out, discussed tools and strategies for their projects, negotiated scope, and began their work on their goals. After these two and a half days of work, what got done?

POSIT (Portable Open Search and Identification Tool) **is a mobile app for the Android platform that enables disaster relief workers to capture and send back finds from the field_._ Besides being able to play around with the application on handsets that mentor Ralph Morelli brought along, the team fixed some outstanding bugs (and found some new ones) and submitted their first patches. They also scoped out tasks for the remainder of the semester.

Ingres is an open-source relational database; the team will be focusing on the geospational components. With its four million lines of code and years of development, the biggest challenge for students was setting up a working build environment. With this hurdled cleared, the focus for the next two months will be adding different output formats and working on documentation and testing.

Basie on Pinax‘s goal is to take components of Basie, a web-based software project forge, and rebuilding them on top of Pinax, a collection of reusable apps for Django. With a version control application almost finished, the next goal will be adding a mailing list feature to Pinax. Over the weekend, the team went from nothing to “we can send mail!” and will be tackling access control features next. You can follow the group’s progress on their blog.

The Freeseer project produces a video capture utility capable of capturing presentations. Over the weekend, the team almost finished a new internationalization component and fixed some filesystem-related bugs. Next up: adding live streaming support and packaging the project for different Linux distributions.

The fab4browser is a tool to collaboratively annotate files and there is a demand to gather and display analytics. Since this team’s project isn’t quite on the fab4browser project but a tool that uses it, the first task was coming up with a new name. The team settled on “CORAL”, short for “collaborative review analysis of literature.” Over the weekend, the team picked the tools that they’ll be using, tested visualization tools, and divided up the future work between the PHP back-end, the middle tier, and the visualization functionality.

Review Board is a powerful web-based tool designed to ‘take the pain out of code review.’ On the weekend, the team worked on integrating the post-commit workflow, solidifying the third-party extension framework, and shiny new tools for using the new web API. Future projects include work on an easy-to-use Windows installer, and usability updates to the web interface. You can follow their progress on the team blog.

Markus is a grading and code review tool that gives the flexibility of pen-on-paper marking through the web. One week before the code sprint, the Markus project was moved over to Github so part of the code sprint weekend was spent on adjusting to the new git workflow. Students also fixed some bugs and made their first patches. Sub-groups will be working on the two goals for this semester: adding an automated testing framework (students can run tests on their code; instructors can automatically test submissions) and building report generation tools. You can follow their progress on the team’s blog.

The Technology Explorer for IBM DB2 is a web-based tool that is a teaching tool for users new to DB2. This weekend was the first real chance to really play around with the codebase and the team was able to finish a few small projects. For the remainder of the semester, they’ll be working on some requests that came from the project’s users: improving the tool’s scripting language and adding reporting and exporting functionality

And a word from our sponsors

Without sponsor support, doing a code sprint with all UCOSP students would be impossible. Thanks again to Google, O’Reilly, the Canadian Association of Computer Science Chairs, the Jonah Group, and Research in Motion for your support!