Project List
User Interface for Automatic Code Generation System
Medusa - The next generation computational biology workbench
3-D Neural Activity Mapping in Small Animals
Corpus Callosum Segmentation Tool
Software for mining genomes with mass spectrometry data
BabelFile
HTTP Agents for Enforceable Contracting About Consumer Privacy in Web Transactions
Facebook Application to Track Computer Activities
Nourish International Facebook Application
Flickr for doctors, radiologists, and researchers
ibiblio's Osprey: BitTorrent system
MindTouch
Sonecast Engagement Metrics
Amazing Grace Tracking System
Amazing Grace Web Site
OWASA Web Site
Horizon Research Electronic Time Sheet
IQWST Study Administration Database
Move to Music
Wiimote and Rocking Horse Game 
Audio Sports Game with Wiimote
New Voices
Wireless Mesh Network Management Software

User Interface for Automatic Code Generation System

Contact: John Smith, Computer Science (jbs@cs.unc.edu)

Context
To understand the proposed course project, you must have a basic understanding of the overall project for which it is a part. The overall project is concerned with auto-generating the Java code for J2EE Web applications.  A set of templates and code generators have been developed.  They are used within an Eclipse/WebSphere Studio plugin and are driven by a pair of XML files.  The XML files describe two independent aspects of the target application to be generated:  1) the system infrastructure, consisting of the required layers (e.g., view, control, model, session, domain, entity, dbms, and data transfer objects (databeans) in various combinations); and 2) the requirements of the application, such as DataObjects (i.e., variables and methods), relations among DataObjects, types of users, and interactions between users and DataObjects.

Project Description
The course project will focus on the XML descriptions.  It will produce a thick client, in the form of Java Applet(s) or application(s).  The client will provide tools for eliciting the system infrastructure requirements which are then used to derive an implementation XML description.  A second set of tools will enable the user to describe the various DataObjects, User Types, and the relations and interactions among them.  The client must support the creation, editing, and storing of the descriptions, as well as importing and exporting them.  An additional part of the project will be function to allow users to combine XML descriptions to define more extensive, "composed" applications.  The client will interact with a remote management system to store and retrieve these descriptions within a larger project structure.  A basic management system exists;  the team may be able to use it as-is, modify it as needed, or replace it, depending on their judgment as to its suitability.

If any team members have background in Eclipse plugin programming or are particularly interested in this area, the project could be structured to allow this.

Medusa - The next generation computational biology workbench

 Contact: Nikolay Dokholyan, Biochemistry & Biophysics (dokh@med.unc.edu)

The complexity of existing software often overwhelms biologists in using computation and automation effectively in scientific research. The goal of this project is to create a modular and scalable workbench for biologists, wherein the semantics of common research operations, such as load a Protein DataBank file, performing a biomolecular simulation, storing an output are understood and these tasks are modularized. Logical inter-connections of these research "tasks" result in a larger yet still modular "project". The naive biologist only needs to tweak a few input parameters in the graphical interface to pursue a project, while the skilled biologist may use the task modules and the workflow environment to design novel projects. Examples of similar engineering and scientific workbench environment include iSightFD (http://www.engineous.com), Apache Maven (http://maven.apache.org), Taverna (http://taverna.sourceforge.net) and the Kepler Project (http://kepler-project.org). Notably, the tasks in existing open-source workflow environment are atomic and cannot be subdivided, thereby limiting reusability of existing components, while iSightFD may cost several thousand dollars, rendering it beyond the reach of most academic research environments. A minimalist design using an XML-based schema for modularizing tasks in the back-end and a graphical user-interface in the front-end will be adequate to demonstrate the usability of this project and will attract significant attention in the research community. The software resulting from this project will be published in a scientific journal, such as Nature Biotechnology, Bioinformatics, as done with the previous software engineering project iFold (http://ifold.dokhlab.org).

3-D Neural Activity Mapping in Small Animals

Contact: Sabrina Burmeister, Department of Biology (sburmeister@unc.edu)

The most common method for 3-dimensional analysis of neural activity (functional MRI) cannot be applied to small animals because of the resolution of the images. As a result, many neurobiologists measure neural activity in 2-dimensional slices. However, recent advances in image manipulation should enable the 3-D reconstruction of brain activity maps from 2-D images. There are several published reports of methods that create 3-D maps from 2-D images, and at least one of these uses publicly available software. 

In our lab, we use a neural activity markers to study auditory processing in small frogs. Our goal is to develop a method for creating 3-D activity maps from our brain images. This would enable us to study brain-wide neural activity patterns. If successful, the technique could revolutionize our understanding of auditory processing in frogs and, as a consequence, the evolution of the brain. 

Corpus Callosum Segmentation Tool

Contact: Martin Styner, Computer Science (martin_styner@ieee.org)

The goal of the project is to develop an open source tool for the extraction or segmentation of the corpus callosum (part of the brain) from 2D MRI images. The segmentation of  the Corpus Callosum is of high importance in neuroanatomical studies of brain development, e.g. in Autism studies where the corpus callosum exhibits reduced size in autistic children. The segmentation can be run either semi-automatically with a need of a guided user-interaction, as well as fully automatically. Its methodology is based on an extension of the classic Active Shape Model based segmentation to 2D fourier harmonics. Source code in for the segmentation methodology already exists (mostly written in C), although in an antiquated interactive framework called AVS (Advanced Visualization Systems). The project consists of two parts: porting the segmentation code from C and the AVS framework to C++ using the ITK toolkit and developing a user-interface for interactive segmentation.

Presentation
Clip


Software for mining genomes with mass spectrometry data

Contact: Morgan Giddings, Microbiology and Immunology (giddings@unc.edu)

The Microbiology and Immunology Lab has a number of projects that they are interested in.  These are all active, ongoing projects with staff member involvement.  Therefore, it would give a good opportunity for regular interaction within the context of an important and timely set of problems.  The three projects are independent.

1. Our Genome Fingerprint Scanning (GFS) software is a large, complex project with many different modes of operation (written in Objective C, presently managed via CVS, but we are moving to Subversion).  We would like to redesign this application as a cluster of smaller programs, each of which has a more specific function, to avoid feature bloat.  This will take some significant thought about what the input and output for each component should be and how to divide it up. 

2. For the same program mentioned above, we are very interested in the development of a GUI interface. The software is presently command line only, plus we have a simple web interface.  Jameson Miller has developed a very simplified Java-based GUI (simply to set parameters) but this has no visualization component.  I can think of many ideas to make this much more interactive and interesting for the end user for presenting results.

3. We have a project going to re-annotate the human genome using proteomics data.  Specifically, this work is going from the mass spectra created from proteins and working backwards through the GFS software to try to find out which DNA sequences are responsible for protein creation.  We are building a rather complex pipeline to use distributed computing on our cluster for the analysis, then recombine the results and store them in our database. There are a number of components of this project where a team could become involved.

BabelFile

Contact: Russ Taylor, Computer Science (taylorr@cs.unc.edu)

BabelFile will address a major problem for scientists: translation of data file formats.  It will consist of two separate parts: an underlyingBabelFish conversion engine that relies on conversion descriptions to go to and from various file formats through an intermediate format (XML) and a GUI-based program that scientists can use to create these conversion descriptions.

Believe it or not, one of the frequently insurmountable barriers to scientific progress is the simple translation of data file formats.  This problem has largely been solved for the case of image files by the advent of the ImageMagick toolkit and programs derived from it.  However, it is still very much a barrier for other data files.

Here's the problem: Scientist Jane has a simulation program that outputs results she would like to visualize.  Her SuperSim program exports three file formats: A, B, and C.  But the WhizViz program accepts only file formats D, E, and F.  If Jane were a computer scientist, she'd whip out her Perl script (or awk, or sed, or Python, or even C) and write a converter from A to D and be done with it.  But Jane is not a computer scientist, so Jane is stuck.

If Jane were a chemist, only and wanted to convert from one chemical file format to another, she could use "Open Babel" from SourceForge or BEDLAM; but she wants to export to a visualization program.  If she and her colleagues each had $50, they could all buy ParseRat and hope that it supported the formats and features she wanted to use.

 BabelFile will solve her and her colleagues' problems of file conversion, and provide a way for vendors to write conversion descriptions for their own products (or let one user in a user group post one for others to use).  Like the color format conversion used to enable any scanner or camera to be used with any printer, it will include input and output descriptions.  Like modern compilers and languages, it will have an intermediate format (XML) that enables users to write only 2*N converters for N file formats, rather than the N2 converters needed if every conversion path were implemented.

BabelFile will consist of two separate parts: an underlying conversion engine that relies on conversion descriptions to go to and from various file formats and a GUI-based program that actual scientists can use to create these conversion descriptions by dragging and dropping elements from one file into the other, performing mathematical operations on them as needed.
       
BabelFile could do to science what the spreadsheet did to accounting.

HTTP Agents for Enforceable Contracting About Consumer Privacy in Web Transactions

Contact: Andrew Chin, Law School (chin@unc.edu)

Consumers conducting e-commerce and other Web transactions usually face "take it or leave it" privacy policies drafted by corporate legal departments, and do not have a fair opportunity to negotiate at arm's length for greater restrictions on the use of their personal information (e.g., ensuring that the consumer is protected from the release of such information to governmental authorities to the full extent guaranteed by the Fourth Amendment).  Even the ongoing development of the Platform for Privacy Preferences (P3P) projects does not address this imbalance in bargaining power.  This project is to develop two elements of a prototype system as a proof of concept to demonstrate that currently available agent technology can support bargaining and enforceable contracting regarding the use of consumer information in connection with an e-commerce transaction:  a Web browser plug-in and a Web server process.  The Web browser plug-in would restrict the sending of personal information to sites that accepted the specific set of policies set by the user.  The Web server process would detect the presence of the plug-in and, if the policies were acceptable to the Web site owner, would allow the transaction to go forward in a manner that manifested the owner's assent in a legally enforceable manner.

 

 Facebook Application to Track Computer Activities


Contact: Prasun Dewan, Computer Science (dewan@cs.unc.edu)

The basic idea is to create a Facebook application that shows information about my computer activities. This means we need the app to have two parts: one that ececutes within the facebook environment and another that runs on the desktop (Windows, Apple, Linux). The desktop app would get the necessary information by polling the task manager.  It could be a standalone app or a browser plug-in assuming the latter can in fact look at the task manager.
 
At  the very least, I would want the app to provide a remote finger ability, telling someone who long have I have been on for example. Assuming I have given the necessary rights for it do so, it could even tell me which apps I am currently running and which one is actually active. So an important part of the app would be an access control and filtering mechanism letting me determine which parts of the task data are exported. It could provide interesting historical displays of my login time and app useage also.
 
The most exciting part would be to somehow infer something of interest to others. Such as I am in class right now or in a meeting. Or when I am expected to return to my desktop. It could interact with google apps such as gmail and google calendar to do so. Even without doing so, it could look at patterns in my behavior. Ideally, it would not require me to explicitly set my status message, doing so implicitly for me.
 
The app could be used in a pull and push mode. In the latter, it would set my status message. In the former someone could go to my profile and look at my current detailed status.
 
Presentation

Nourish International Facebook Application

Contact: Joel Thomas, Nourish International (joel@nourishinternational.org)

Nourish International is building a Facebook application which will help existing Nourish chapters on multiple campuses by enabling Nourish members and supporters to express how they are supporting Nourish through their profile.  Each user will sign up for a chapter, and chapter administrators will set events for those chapters.  The information, along with a graphic for each event of the semester will appear on the application in each user's profile.  This will facilitate chapter marketing and build group cohesiveness.  That concludes the first phase of development and a milestone for the project.  We have a recent grad who is working on this portion of the project and now we have an opening for a team to work on phases II and III.

Phase II: Develop Chapter Pages and Project Pages:  The second phase creates a platform to help Nourish chapters work more effectively. The application will enable students to build chapter pages that allow people to join on the level that suits them, whether as a team member, supporter or donor. This will help Nourish know how many members it has, who is committed, and facilitate the chapter's communication. The chapter page will also be capable of embedding the chapter's Google Calendar, making it the central hub for students to go when they need to find out what's happening next with Nourish. The chapter pages will also be able to designate the positions and officers of each member and display the skills each member provides to the team.

Phase III: Incorporate Partners:  For every project we do in impoverished communities, we have a partner that is based in the community where we are working. These partners are grassroots community based organizations that rarely have the capability of building and maintaining their own websites. When they do, their websites are often disconnected from the outside world. We aim to bring these organizations into the Facebook community, thus making them accessible for people across the globe. This will expand the monetary as well as in-kind support for Nourish's partners on the ground, and give more voice to impoverished communities.  We believe this could be a systems changing project.

The application could be spun off to help other organizations on Facebook, especially chapter model networks.  It will be written in php and MYSQL within the Facebook Platform.  All mockups will be created by our graphic designer, so you do not need to worry about any graphics.  If we make enough progress, we will apply for capital through the Facebook Fund to fully develop the application.

Flickr for doctors, radiologists, and researchers

Contact: Patrick Reynolds, Kitware and COMP 523 alumnus (patrick.reynolds@kitware.com)

Instead of dealing with 2D images, we have 3D images, etc. The interface will be mostly the same, but challenges will include viewing the images and lots of other cool ideas Kitware has for enhancements.

ibiblio's Osprey: BitTorrent system

Contact: John Reuning, ibiblio (john@metalab.unc.edu)

ibiblio's [http://osprey.ibiblio.org Osprey] project provides a complete BitTorrent distribution system, combining a user-friendly web interface,
torrent tracker, and permanent seeding (permaseed) function to ensure that content remains available regardless of whether clients continue to
seed.

The project would be twofold:
1) Write and/or integrate a full-text search and browse application into the Osprey web CMS
2) Execute the project using an Agile development methodology, [http://www.controlchaos.com Scrum] or [http://www.extremeprogramming.org Extreme Programming] (XP)

Work on this project will become part of the open source Osprey project as well as be featured on [http://torrent.ibiblio.org ibiblio's public
BitTorrent site].  Osprey was written based on service-oriented architecture principles and has components in PHP, Python, and C++ with
a Mysql database backend.

Students will work with John Reuning, UNC alum, former systems administrator at ibiblio, and current Software Engineering manager at
Lulu.com.  Lulu uses Scrum and test-driven development for all of its software development.

MindTouch

Contact:  Aaron Fulkerson, Mindtouch and COMP 145 alumnus (aaronf@mindtouch.com)

MindTouch is a start-up based in San Diego that produces Deki Wiki. (Statistics and opinions are those of Mindtouch.)   It's quickly becoming the most popular wiki and is only surpassed currently by MediaWiki. Deki Wiki is a RESTful wiki platform and web service framework for creating mashups. MindTouch Deki Wiki is downloaded 1000 times a day.  Mozilla is replacing Mediawiki with MindTouch to power their Developer Network. MindTouch has many well known customers ranging from Microsoft, Novell, Expedia, BP, Fujitsu, City of Los Angeles, Stanford and many other universities. Deki Wiki has over 100,000 installs and the software has been public for 1.5 years.

MindTouch is actively hiring and this could be an opportunity to make yourself known to them. Note that this will entail working with a remote client.  They are proposing a large number of projects:

Sonecast Engagement Metrics
Contact: Michael Shoffner, Sonecast (michael.shoffner@gmail.com)

Sonecast is a local startup that provides clients with social media software for attracting and engaging customers. Sonecast's primary product is a community system called Venues.

Engagement Metrics (EM) is an add-on product for Venues that will analyze behavioral data from a venue, determine an "engagement score" for members of the venue, and provide the venue owner with reporting functions. EM is the application to be developed for the 523 project.

EM is excellent real-world experience because it is a real product and the target technologies are all in demand in the commercial world. EM also allows developers to take specialized roles: UI/frontend, mid tier/server-side, and data mining/analytics development. This provides users with the option of getting specialized technology project experience.

The EM technical architecture will be fairly close to the following:
Sonecast will provide a small grant of stock options for good work (so you must be eligible to work in the U.S.) and we will be glad to act as job references.

Presentation
Amazing Grace Tracking System

Contact: John Collins, Amazing Grace Foods (johnlcollins5@yahoo.com)

Amazing Grace Foods is a developing entrepreneurship intended to bring organic, fresh produce to the home.  Specifically, it is a coop that will help farmers sell high-quality produce and animal products directly to health-conscious consumers over the web and deliver it through overnight deliveries.  The intent is to improve the financial situation of North Carolina farmers.

The first project is to track the produce from seed, through processing, to delivery.  All food is now mandated to have bar codes and that will be the primary technology used.  More specific detail can be found in the following letter, specifically under "Small Farmers."

Letter

Amazing Grace Web Site

Contact: John Collins, Amazing Grace Foods (johnlcollins5@yahoo.com)

Once Amazing Grace Foods is up and running, they will be selling their products over the Internet.  In order to do so, they will need an
e-commerce site to sell the produce and animal products. More specific detail can be found in the following letter, specifically under "Software for Internet Consumer Purchase."

Letter

OWASA Web Site

Contact: Dan Przybyl, OWASA (dprzybyl@owasa.org)

The OWASA web site needs to be replaced.  The current system is not well structured, customers are not able to get up-to-date information, and updates are slow because they need to go through a single point of control.  The current system is hosted remotely but the plan is to bring the new system in house and implement the necessary infrastructure to do so.  OWASA needs four major functions accomplished with a new web site: 1) provide a new format and consistent style throughout the Web site; 2) an on-line document library that internal user may upload documents to and allows external users to search for specific resources; 3) enable authorized internal users to update dynamic content such as news releases, job postings, and bid announcements, and; 4) Allow customers to access account information from an existing back-end SQL Server database.

Since any improvement would be better than what currently exists, I have listed the four major objectives in order of priority. I would consider it a success to accomplish just the first two, three would great.

Horizon Research Electronic Time Sheet

Contact: Alison Bowes, Horizon Research, Inc (abowes@horizon-research.com)

Horizon Research, Inc. is a private research firm located in Chapel Hill specializing in work related to science and mathematics education.  Currrently HRI employees fill out the time sheet by hand. We would like to convert to a web-based timesheet.

What we need the electronic timesheet to do:

  1. User log-in; restricted to valid users; staff and administrator sections
  2. Record a user’s time for each day, by project
  3. Check daily sums against a criterion (generally 8 hours) and alert user to discrepant sums, giving the option to accept or revise.
  4. Check monthly sum against a criterion (different each the number of workdays in that month) and alert user to discrepant sums, giving the option to accept or return to timesheet to make revisions.
  5. Administrator functions:
    1. add/inactivate employees (including username and password)
    2. add/inactivate projects
    3. set holidays (user cannot enter time on these days, but the time is figured into the monthly total)
    4. calculate number of days and total hours for current month
  6. Reports to generate:
    1. completed user time sheet (printable) in common format (e.g., one row for each project, whether or not an employee has time in the project for that month)
    2. project report showing hours for each person who charged the project that month
    3. report of hours for each project (not by employee) for a given month or series of months.

IQWST Study Administration Database

Contact: Alison Bowes, Horizon Research, Inc (abowes@horizon-research.com)

Horizon Research is also in need of a system to support one of their research projects. A collection of middle school science assessments are being administered to students over three years, with control and treatment groups each year – likely different teachers, but same schools & students. Year 1 – 6th grade only; Year 2 –7th grade; Year 3 –8th grade. Pre-Tests administered early fall each year, post-tests late spring each year.  Student names are collected (they write their name on their answer sheet the first time they take the assessment) and assigned unique IDs to be maintained across all years (future administrations have the existing student names pre-printed onto the answer sheets). Currently this happens outside the data base, and it may make sense to leave it so.  The data needs to be collected and managed and the following actions need to be supported:

The information to capture includes information about schools, teachers and classes.
Schools:

Teachers:

Classes:


Move to Music

Contact: Gary Bishop, Computer Science (gb@cs.unc.edu)

Deborah Thorp in Allied Health Sciences is interested in a game that would allow any of her patients of any age or ability to enjoy some version of Free Play DDR.  The goal is to make the game as accessible as possible, possibly including a player in a wheelchair.  Designing the rules and details of the game are part of the task to be accomplished.  There are a wide variety of options in terms of technologies and game design.  The game can use a DDR mat to track foot movement, Wiimotes to track hand movement, or a webcam and some image processing to track movement in general.  The sponsor may be able to help with image processing if it is to be used.  Winning the game may be related to any metrics that you can imagine.

Wiimote and Rocking Horse Game 

Contact: Gary Bishop, Computer Science (gb@cs.unc.edu)

Put together a Wiimote and a spring rocking horse and create a game for children who are visually impaired.  There is no specific game currently designed, so the team will have full creative freedom.  One drawback of this game is that we can't find an adult-size horse so developers may not have the opportunity to test ride their game. The inspiration for this game is a video on Gizmodo showing a youngster who simply attached Wiimote to the back of a rocking horse and created "some sort of crazy horse/motorcycle arcade game" in his own basement.  This project will put some game into the set up.

Audio Sports Game with Wiimote

Contact: Gary Bishop, Computer Science (gb@cs.unc.edu)

Create an audio sports game using a Wiimote.  You get to choose the sport and define the way that the player will use audio to play the game.  Assuming that you choose a standard sport, the creativity is less in the rules of the game and more in the use of audio cueing.  If you want some ideas about the sports played by the visually impaired, look at web sites such as Blind Sports Organization or The Massachusetts Alliance of Visually Impaired Students.  

New Voices

Contact: Andrew Ball, Computer Science graduate student (adball@cs.unc.edu) 

Karen Erickson, from the Center for Literacy and Disability Studies (CLDS) proposes to develop an innovative internet-based assessment tool that will support widespread access to appropriate augmentative and alternative communication (AAC) technologies for the more than 3.5 million persons with significant speech impairments across the United States.  Evaluations are necessary for candidates to be given state funding for these technologies, but the current processes are very expensive and involve lots of manual paperwork. The processes have become so expensive that most evaluation centers have been closed down due to the high cost of evaluation. While the technologies have improved greatly, the difficulty of getting timely evaluations is keeping people from having access to them. The New Voices project consists of this assessment tool as well a process model and system analysis project.  For more information, you can access the New Voices wiki using the username friend and  password f00f00b8r.

Wireless Mesh Network Management Software

Contact: Brian Russell, Orange Networking (brian@orangenetworking.org)

Orange Networking is a non-profit organization in Orange County working to foster equal access to the Internet so that all people may benefit from the use of digital communication tools.  Orange Networking needs a software tool to help a diverse group of volunteers remotely manage wireless mesh networks. The hardware installations that this software will help manage will use open source software and modified consumer wireless hardware using the 802.11(x) spectrum. These mesh networks will provide Internet access to families inside their homes.   The project is to build a web-based front end to existing open source wireless mesh network software to allow groups of volunteers to remotely manage multiple mesh network hardware installations.

Software requirements include