[an error occurred while processing this directive]
Brown CS // CS190 Home // Projects // Project Ideas

Project Ideas

Ideas From the Community


Book Locator

A possible project would be to create a program that would assist Brown library users in locating wanted volumes in the stacks of the various libraries. The complexities of the library catalog, Josiah, the Library of Congress call number system, the various size designations, and the sometimes illogical stack arrangements, sometimes prevent users from finding what is wanted. The internet-accessible program would need to be able to parse library location and call number information from Josiah or from manual input, and might include a mapping component that would not only identify the building, floor, and stack range, but also provide directions on how to get there from various starting points.

Submitted by (Senior Knowledge Systems Librarian)


Chemistry Stockroom

The Department of Chemistry employs a Filemaker Pro database system to track all chemical, chemical wares and other research group purchases. Our Chemistry Stockroom serves not only the Chemistry Department, but other Brown department chemical purchases (including Engineering, for example).

We would like to convert our system from Filemaker Pro to MySQL/PHP with a web interface for the end users, and various reporting methods for accounting purposes.

Submitted by (Dept. of Chemistry)


Collaborative Medical Learning

The software system I have in mind is a web application for fostering collaborative learning by medical students in some chosen area of knowledge, e.g. the biochemistry of intermediate metabolism. Design challenges would include:

  1. Develop a rich enough data model to permit a representation of knowledge in the chosen area sufficient to support automatic generation of multiple choice questions
  2. Support a collaborative (Wikipedia-like?) model of interaction that allows students to enter and vet data about the chosen area of knowledge
  3. Develop automated interactions with the data (multiple-choice questions, flash cards, etc.) that would be useful to students studying or reviewing the knowledge area content.

Submitted by (Medical Student)


Group Management

People often work collaboratively, in groups. On campuses, we see courses, student activities groups, advising groups, departmental groups, actual project groups, and a growing number of "virtual organizations" that span multiple campuses. Instructors need to be able to request the use of various applications to support activity within the course; officers of student groups need to be able to request resources to support the various projects the group initiates; academic and administrative departments are constantly starting projects (often with adhoc membership). Many of these groups have multiple projects running in parallel. Increasingly, these groups are looking to use a variety of technologies and "collaboration applications" to support a project (eg wikis, blogs, IM chat rooms, etc). Unfortunately, each of these applications is managed via its own proprietary tools, with little thought given to the confusion this creates for the end user.

This project will design and develop a shared enterprise scale application, usable by the entire campus community, that will allow people to create projects, define the membership of the project team, and manage the "technology tools" that support the project's work. This project is about integration, and about creating a useable front end that mere mortals can use to identify the projects they participate in, locate the information supporting the project work, manage the various applications and services that support the project work, and locate the "spaces" within these applications that support a specific project. The project should leverage existing enterprise "middleware" in order to gain scalability.

This project will create "My Work", a tool for tracking the set of projects an individual participates in; each "project profile" will list the applications (and spaces within those applications) that support the work of the project. Project Managers will be able to use My Work to create new projects, define the membership of the project team, and "enable and initialize" the technologies and applications that will be used to support the project. If the Project Manager wants to use a wiki, then My Work will create the wiki space and assign the appropriate access privileges, and record the url for the space in the Project Profile. If the Project Manager wants a chat room, then My Work will create the room, assign appropriate access privileges, and record the name and location of the room. The Campus System Administrator should be able to see all activity within the system, including requests from projects for new and additional services.

My Work will have to function on an enterprise scale, and possibly cross-enterprise. It is a higher level application, and should take advantage of existing frameworks. Project Profile information would be stored in a central repository. My Work should leverage the existing campus middleware infrastructure, including components such as the campus user directory and authentication/Web Single SignOn mechanisms. Managing project team membership should be done via the campus Groups Registry. Enabling services and applications should leverage the enterprise Privilege Management framework; note -- this will probably require developing a new GUI for Signet but re-using existing privilege management code. Administrators should be able to define (and constrain) which services are potentially available to various Project Managers and projects (see Sun's XACML Implementation). The flow of requests between Project Managers and Administrators should leverage an existing workflow engine (see Kuali Enterprise Workflow). My Work will automatically perform any required provisioning and initialization of applications, including storing in the Project Profile information such as relevant url or file system paths.

Submitted by (Computing and Information Services Manager)


Hemlock: Questions and Answers

This is a question and answer system. In this system users could input questions and if that question had been asked before, then the system responds with the answer automatically, but if not, then it would contact an expert in the subject to obtain a question. Questions asked and knowledge obtained could be stored for future reference for each user. For more information please look at the Hemlock document and talk to the TAs.

Submitted by (Brown Graduate Student)


Hemlock: Virtual Teaching Assistant

This system is another aspect of the learning system seen in the previous project suggestion. This part would match user profiles and use intelligent question distribution in order to allow the most appropriate (or knowledgeable) user to answer each question. This would keep track of questions asked and a user's knowledge base to allow for this distribution. Again, for more information, please read the Hemlock document and talk to the TAs.

Submitted by (Brown Graduate Student)


Incident Reporting

Every day, members of the Office of Environmental Health and Safety (EHS) staff are called to respond to a wide variety of incidents chemical spills, gas leaks, fire alarms, strange odor complaints, hazardous waste issues, etc. It is important that information concerning each incident response be recorded, but the system currently in use is very inadequate. Actually, we now use several different Filemaker Pro databases to track these responses. There is no integration of data between systems and very limited reporting capability.

The data elements we hope to track are pretty well defined, as are the basic reporting needs. Because EHS is made up several sub-groups (lab safety, environmental compliance, bio-safety, radiation and laser safety, workplace safety and fire safety) the system could be designed in modules. A basic incident report would share a lot of data elements (date, time, location, responder, reporting-person info, etc), but each sub-group may have some special requirements that would add a little complexity to the system. The type of information being recorded includes hazardous materials, building fires, radiation and "lasers".

During my eight years here at Brown, I have developed a "Site" database that tracks information about every building owned by the University. All that data would be available for integration into a relational database for incident reporting.

Submitted by (Assistant Fire Safety Officer)


Minor League Scheduling

On behalf of the Baseball minor/major league of the town of Johnston, RI, I would like to bring to you a project that is sorely needed. It involves scheduling. Some of the variables are: the individual teams, the pairing of teams as they win or lose, the fields available, the available days, cancellations due to the weather and rescheduling ramifications, etc. The program also needs to tie into the website to provide update information. We think all the towns in RI could benefit from this.

Submitted by (Brown Employee)


PeoplePolitics

In my mind, the most compelling theory for why so many young people today lack an interest in politics is that there is no one convenient product or style of media that:

  1. Really caters to them
  2. Offers them an easy way of constructing their identities in relation to the issues. Our generation likes Wikipedia, Google, and iPods for the former reason - they cater to us by becoming ever more polished and user-friendly all the time. We like MySpace, YouTube and Facebook because they do the latter: they let us all be performers and give us increasing control over how we represent ourselves.

I propose a website that brings greater accountability and transparency to federal government by re-engaging the voting public, especially college-aged people. The site would have two main components that would easily intersect: the first would be a very intuitive, user-friendly tool to follow bills and legislators - maybe even interest groups - and the second would be a political facebook where the users provide demographic information and any particular interests they have and then get to view a very clear webpage with links to "watched bills," new bills the user the might be interested in, "watched legislators," and news stories related to the user's demographics and/or interests.

An important first step would be to create some kind of algorithm to summarize bills (i.e. translate annoying legalese into english), and then provide some sort of carefully-controlled wiki tool to modify the bill's description if need be. Perhaps different legislators and bills could have blog space below their descriptions and recent activity.

Our generation is not lazy; we're simply used to being engaged by products and personalities specially designed to engage. That's why we do enjoy the Daily Show and some other TV programs. The problem is that these programs don't focus enough on the real substance of politics: the legislation itself. That's why we everyone at Brown loves Mocha so much: its creators make it as convenient as it can be and update it frequently in response to user feedback.

Think of this as Mocha+Facebook with a focus on politics.

Submitted by (Brown '08)


Phone and Calendar Interaction

Our company is Providence-based startup focusing on event extraction and aggregation. We enjoy a close relationship with Brown - two Brown CS professors sit on our board of advisors, and we employ Brown alumni and students from class years ranging from 1984 to 2010.

Based on research into how people use calendars, we have realized that many people would like to be able to add events to their calendar software through their cell phones. We would like for you to create a system that enables users to:

  1. Call a phone number
  2. Leave a voice message describing an event or appointment
  3. Receive that event as an emailed iCalendar file or Outlook Meeting Invite

Our company will provide you with a VoIP phone number, our custom text-to-event converter, and suggestions on open-source packages that will accept phone calls, record messages as audio files, and turn those audio files into text. We can also provide any infrastructure that the Brown CS department doesn't have, and we'd be readily available to answer questions about the software's functional requirements. In addition to creating and integrating the system, we'd expect for you to design the user experience, implement a web interface for system configuration, and suggest possible feature enhancements.

Submitted by (contact through CS190 TA staff)


Relational Address Book

Software for keeping track of friends, family, and colleagues is lagging behind in incorpating capabilities for viewing and linking information commonly offered by web programs. Each individual has hundreds, if not thousands, of contacts. Beyond storing basic information alphabetically by contact name, contact management software should allow greater flexibility in grouping and viewing. Specific proposed software capabilities would include:

The interface would ideally be able to be plugged into popular email programs such as Outlook, Eudora, or web programs such as Hotmail, Yahoo, and Gmail, although this compatibility may be difficult and beyond the scope of the project. More feasible may be the map projection capability on exisiting Google maps and exportable text email lists (choosing whether addresses are ',' or ';' separated to correspond to other existing program specs).

This is not a social networking tool, but a new organizing system for a personal address books that allows creating relations among contact entries.

Submitted by (Brown Graduate Student)


We are currently looking for new project ideas for CS190. If you have any ideas for potential projects, please e-mail the CS190 TAs to have a project added to the list. For examples of previous projects, you can look at Project Ideas From 2006.

[an error occurred while processing this directive]