Winter 2012 Projects
Markus
MarkUs is a grading and code review tool that gives the flexibility of pen-on-paper marking through the web. It is built with Ruby on Rails. MarkUs is currently used by 3 universities serving several thousand students.
Current efforts include bringing the automated testing infrastructure to a point where it is ready for production, reporting and summarization features, and as always, some interesting bug fixes.
More information: http://markusproject.org/ and their blog, http://blog.markusproject.org/.
POSIT
POSIT aims to create a portable, opensource tool for the Android platform to aid search and rescue efforts by allowing the transmission of data between users and to central servers.
Imagine you are a rescue worker searching for victims and survivors in the aftermath of a hurricane or other natural disaster. Or, imagine you are botanist mapping a geographical area for an invasive species. Or, an environmental scientist searching for hazardous waste deposits.
What’s needed is a portable tool that is able record information about Finds and transmit it to a central server or control center. As mobile phone technology becomes ubiquitous and more powerful, such a tool is now feasible. Building such a device on the FOSS Android platform would make it widely and freely available to rescue workers, environmental scientists, and other field workers.
More information: http://posit-project.org/
ReviewBoard
Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process. ReviewBoard is written in Python using the Django web framework.
More information: http://www.reviewboard.org/ and http://reviewboardstudents.wordpress.com/.
Umple
Umple is an open source toolkit whose objective is to merge UML modeling and programming into a single activity. Umple can be used in several ways: It can be used as a textual language for UML. It can also be used as a programming-language pre-processor, allowing UML concepts like associations and state machines to be added directly to Java and PHP. In addition, Umple allows drawing UML diagrams online and generating code directly from those diagrams. It is the goal of the Umple team to have large numbers of programmers and modelers incrementally adopt Umple. The barriers to entry are low, since using Umple can be done in a minimal way, without disrupting the existing model or code. Umple is an open-source project hosted on Google Code.
More information: http://www.umple.org
Suitable student projects: http://projects.umple.org
MediaWiki
The Wikimedia Foundation manages the development of MediaWiki which runs Wikipedia’s primary page-serving infrastructure. Some potential projects students may be able to be involved with include:
- Implement pre- or post-commit checks in our code repositories that automatically look for security vulnerabilities, broken coding conventions, broken code, etc, perhaps with a web interface to facilitate the process, or using our Jenkins continuous integration setup.
- Help MediaWiki developers save time in code review, and make our code more secure.
- Improve our Android application — integrate with SuggestBot to suggest a mobile task to a user.
- Give editors a way to manage their watchlists with groups.
- Improve volunteer-written mass upload tools to make them more robust, especially for use by museums, galleries, libraries and archives.
More information: https://www.mediawiki.org
Groovy-Eclipse
Groovy-Eclipse is the Eclipse-based IDE support for the Groovy programming language. Groovy is an agile and dynamic programming language built on top of the Java virtual machine, and Groovy-Eclipse provides first-class support for the language inside of the IDE.
Groovy-Eclipse leverages deep integration with Eclipse’s Java tooling and compiler to support all of the standard functionality such as content assist, searching, navigation and debugging. It also provides more innovative features like DSL descriptors that allow end-users to exploit Groovy’s powerful meta-programming capabilities to customize Groovy-Eclipse for domain specific languages (DSLs).
Groovy-Eclipse is an open source project with a large and active community. We are actively looking for more contributors since there are more requested features than the core committers have time to implement. These features include implementing new refactorings, creating a more robust code formatter, and adding new quick fixes.
Contributors should have a love of programming languages, be proficient in Java, and have used Eclipse. Knowledge of Eclipse APIs and the Groovy language itself is not necessary, but would be a benefit.
For more information http://groovy.codehaus.org/Eclipse+Plugin and