This term UCOSP is happy to be partnering with 3 projects for our May 2013 offering:
- Markus: Web-based grading platform.
- BB10 Phonegap: Mobile app platform.
- Review Board: Code review tool.
MarkUs is a web-based grading tool built with Ruby on Rails. The primary goal of MarkUs is to make it easy for graders to read and annotate students’ code. Graders also fill in a marking scheme or rubric created by the instructor. Annotations may be saved for later reuse. Students submit their code using either the web interface or using standard Subversion tools, and can form their own groups when allowed by the instructor. As MarkUs grows, we continue to add more useful features including a REST API that allows some operations on MarkUS to be scripted, a remark request system, more reporting, and support for PDF annotations. We are also working towards integrating a testing infrastructure that would allow students to run instructor created tests on their submission and get realtime feedback.
Students working on MarkUs will learn basic web application development technologies using Ruby and Rails. MarkUs is hosted on github so students will become familiar with Git and the process we use when working on the code. Because MarkUs is used by several thousand students in more than 4 universities (on 3 continents!), we take code quality seriously. All code submissions go through a code review, so the first task that students are asked to complete is fixing a trivial bug so that they become familiar with the code review process.
Potential projects for the coming year include:
1) The highest priority is preparing for a release using Rails 3. (Students with prior Rails experience would be a huge asset in working on this problem.)
2) Enhancing and fixing the remark request system. Our first use of the remark request feature uncovered some showstopper bugs, and some significant UI design issues.
3) Enhancing the grade entry table. MarkUs includes a simple table that can be used to entry grades for tests or labs for example. It works reasonably well, but is missing some features. For example, it would be nice to be able to group students by tutorial section, or by TA grading their work.
3) Continuing to work towards implementing user preferences. The most heavily used view by instructors is the submissions table which shows which students or groups have submitted work, the date it was submitted, the repository name, the status of the submission, and other details. In the interests of latency, we display a limited number of rows at a time, but instructors would like the option to display more or fewer rows and even to hide columns of the table.
4) Implementing some of the user requested features that have been on hold while we complete the port to Rails 3. Many of these are recorded in the issue tracker.
5) Work on the port to Rails 3.1/3.2
PhoneGap/Cordova Plugins for BlackBerry 10
BlackBerry is embracing application development with HTML5 and seeking to push the boundaries of what can be accomplished with web technologies on a mobile device. Our goal is to be the premier platform for the mobile web, with the most compliant, high performance, hardware accelerated engine we can create. We are rounding out the development experience with emulators, simulators, live Web Inspector debugging, support for all major frameworks, and we’re doing all of this in the open on Github.com under the Apache 2 license.
- Building a workflow for reviewing images and other binary files that are part of a code change. This involves integrating several existing pieces of functionality and building the glue to turn it into a smooth user experience.
- Making improvements to Review Board’s extensions infrastructure, which allows third party developers to build features that aren’t generic enough to be part of the product.
- New kinds of integration with other services, such as deeper bug tracker integration, an adapter for GitHub pull requests, or allowing users to log in using Mozilla Persona.
- Building a user “trophy case” and adding new kinds of achievements.