Summer 2012 UROP Opportunity
Policies for personal information on the Web
At CSAIL’s Decentralized Information Group, we think about information on the Web: Where it comes from, what happens to it, and what are the rules for using it. We’ve all seen stories about what people can learn about you from social networks, and the good and bad consequences of that. How can we promote good impacts of that, while minimizing risks and harmful effects? At DIG, we take the perspective that data on the Web should travel together with additional information that says where it comes from (provenance and context) and how it should be used (policy). We build to help people control the policies governing information, and we build automated reasoning systems to help determine whether information use complies with policy.
We’re looking for UROPs this summer to help us create examples good and bad data use (e.g., from Facebook or Flickr) and to build tools to help people create policies and help the Web treat data in a policy-compliant manner. To work on demos, you’ll need to know something about Web development (such as Javascript and HTML5). To work on automated reasoning, you’ll need to kow something about symbolic computing (as in 6.945). You’ll also need to learn about Semantic Web and and linked data techniques.
Learning computing by building mobile apps
In December 2010, Google introduced App Inventor for Android, a visual programming environment that makes it easy to create apps for Android phones. Prof. Abelson, who worked on App Inventor during his sabbatical last year, is planning to include the system in a new course this fall. He’s looking for help in developing good examples and creating extensions to the system, maybe even teaching summer workshops for kids. To work on this project, you should have some experience with Python (6.00 or 6.01) and an interest in mobile apps and educational technology. For more information see MIT Center for Mobile Learning - http://mitmobilelearning.org/
Online Data Integration Using Semantic Web technologies
The Semantic Web is a powerful distributed model for publishing, utilizing, and extending information and is sometimes referred to as Web 3.0. The contents of online Semantic Web data sources can be “mashed-up'' (i.e. queried and integrated on-the-fly) to provide rich Web applications. However, the user or application developer still needs to know exactly what data is present in each source and needs to formulate queries carefully in order to get a reply. When the content of a source changes, mashups/users cannot take advantage of it until the application developer becomes aware of this change and modifies the application/query accordingly. In order to allow users to dynamically explore this space by asking open ended queries, we intend to use the federation paradigm from database systems, where federated data sources collaboratively attempt to solve a user's query. In this project, the student will learn about and use Semantic Web technologies, extend our existing federation protocol, and implement a use-case. A successfully implemented project could lead to support and/or an MEng in the Fall. Prerequisites: Knowledge of database systems, RDF, and SPARQL is useful but not essential. Ability to program (in python preferably) is required.
Advanced Web Application: Tabulator
The Semantic Web is the newest, most transformative development in Web technology, and the Tabulator project provides the user with ability to explore the global of interconnectedness of all things, and to participate in the collaborative space. This will be the fourth year of the project, which has been almost completely UROP-driven. Each year the Tabulator becomes more powerful. It is an add-on to the Firefox browser, and currently it allows one to explore the Semantic Web, slice and dice the information, making instant mashups such as maps and timelines, and also editing new data and correcting incorrect data. By the end of this summer, with your help, we want it make it even more powerful. There is a large list of tasks - large and small - to be done. The tabulator forms a platform, which allows interesting developments to be done rapidly - you can both contribute to this and use it.
Requirements: You must be able to program in javascript, and you must be able to work in a team. If you have experience in dynamic HTML and/or Firefox, network programming, RDF, SPARQL etc that is useful but not essential. You will join an exiting team, but you have your own project within the larger project. You will contribute your part, but it must fit in well with other's work.