CS 316
Software Practicum
Spring 2011 Projects

In this course, you will work on one project for the duration of the semester. You will be working closely with a customer from outside of Mount Holyoke College to understand their needs, design and implement a solution, and deliver software and documentation to them.

The class will be working on three distinct projects. The exact technologies you work with and issues you face will vary depending on which project you work on. Independent of which project you work on, there are some things everyone will get experience with this semester:

  • Working in a team:
    • Dividing a project into individual responsibilities
    • Planning a timeline for what tasks to do when
    • Using version control tools
    • Team problem-solving
    • Reviewing each other’s work
  • Working with a customer:
    • Working in a domain that is familiar to the customer but not you
    • Communicating with a customer who might not understand computer jargon
    • Gathering requirements from a customer about their needs
    • Adapting the project as the customer’s needs change
    • Writing documentation accessible to a user

Projects

For Tuesday, February 1, you are expected to turn in a list of the projects indicating your preference for which project you want to work on. If you wish, you can provide up to a few sentences about your preferences. You should list both a first and second choice project, if you have a preference.

Here are brief overviews of the three projects.

Crotched Mountain Rehabilitation Center

Customer: David Kontak
Location: Crotched Mountain, NH

Crotched Mountain treats patients with brain injuries and also has a school, primarily for high school students, with severe disabilities. Some of these disabilities are motor, as from cerebral palsy, but there are an increasing number of children with autism.

There are existing programs to help evaluate an individual’s ability to do visual scanning and perform mouse clicks. These require the user to watch a computer screen and operate a switch when a particular event occurs on the screen. The switch interfaces to the program through a special mouse, so that the program simply treats a switch activation as a left mouse-click.

A major weakness with these programs is that many people with severe disabilities cannot use these programs for a variety of reasons, including insufficient muscular control to watch the screen and visual issues that make it difficult to process what appears on the screen. These people might benefit from auditory scanning.

With auditory scanning, the user would listen for a particular cue and then operate a switch.

The goal of an auditory and visual scanning program would be to allow assessment of the user’s ability to use a switch and to perform scanning operations. The program would allow for different types of evaluation:

  • Cause and effect: can the user use the switch to perform an action?
  • Visual scanning: can the user use the switch when a particular event occurs on the screen?
  • Auditory scanning: can the user use the switch when a particular phrase is spoken?
  • Combined auditory and visual scanning

Besides changing the skill being evaluated, it would also be desirable to be able to control timing (how long the user has to react to the event), the number of items to select from, the size of the visual selector and perhaps the visual complexity of the scene.

Other goals would be for this to be a game so the user would be more engaged, something colorful but simple, generally large, shapes. One specific idea might be to help a farmer find a particular animal. Visually, a selector could scan over the animals in a scene. Audibly, the sound of the animal could be played.

Characteristics of the project:

  • New project
  • Will involve developing animations and working with audio
  • Programming will most likely be in Java or in Flash
  • Customer has prior experience working with students (not MHC) on other projects

Big Brothers Big Sisters of Franklin County

Customers: Dan Edelstein and Ashley Berry
Location: Greenfield, MA

Big Brothers Big Sisters (BBBS) of Franklin County is a non-profit organization dedicated to serving youth in Franklin County and the North Quabbin region by providing them with one on one mentoring relationships with adult and teen volunteers. The children in the program face significant challenges and often do not have adequate resources and support systems in their lives. BBBS offers these children extra support and individual attention through time spent with a caring friend, in the interest of improving their self-esteem, their ability to forge meaningful relationships with adults and peers, and their academic achievement, while decreasing the likelihood that they will make choices that could have an adverse effect on their lives.

The success of the program relies on the community members who volunteer as mentors and the generous support of donors, board members, local businesses, and Franklin County residents who support the agency in a myriad of other ways. In addition to connecting with those who offer their service and support to fulfill the mission, it is necessary to connect with youth and families in the area to ensure that BBBS is making its services available to every child who could benefit from having a mentor. Finally, it is important that BBBS offer communication and support to volunteers, families, and matches, in order to enhance the quality of the mentor/mentee relationship. Having an attractive, easy to use, and functional website is essential to their ability to reach out to the community effectively and sustain healthy relationships between volunteers and the children they serve.

BBBS of Franklin County currently has a website, but it is outdated in many ways: content, aesthetics, lack of features such as online forms and blogs. They would like the website to be a place where potential volunteers, donors, parents, and any member of the community can find clear, detailed information about their programs and feel inspired to get involved. Including web content that exemplifies the far reaching impact mentoring can have, and emphasizes the dependence of the program on volunteers and funders will be helpful in attracting potential volunteers and donors.

Characteristics of the project:

  • Web development with minimal programming
  • Need to adhere to some guidelines required by Big Brothers Big Sisters
  • Need to explore content management systems to find one suitable for website maintainers with little desire to learn html or complicated technologies
  • Opportunity to bring aesthetic talent to the project

OpenMRS

Customers: Ellen Ball, Partners in Health, Boston
Project mentor: Darius Jazayeri, OpenMRS, Seattle

The OpenMRS project is an open source medical record system that is in use in many developing countries, including Haiti, Rwanda, and Peru. Countries, such as these, in the developing world are often ravaged by diseases such as tuberculosis, AIDS and malaria, while simultaneously having limited access to healthcare. The goal of OpenMRS is to support healthcare workers in the maintenance of health information about their patients without the cost associated with proprietary solutions.

OpenMRS is used at many clinics. At each clinic, health care providers enter information on paper forms. Data entry people then enter the data on these forms into the database. One difficulty with this approach is that each clinic has its own forms. To simplify data entry, people create html forms that look like the paper forms, making it easier for data entry people to enter the data. Unfortunately, creating these html forms is very tedious.

During the Summer of 2010, three Mount Holyoke students began work on a project to support creation of new medical record forms. The work involves creating a module within OpenMRS that allows users to create draft forms based on paper forms, without requiring any knowledge of html. Instead, the user is presented with a GUI with commands to add sections, questions, text fields, answers, or other items to a form. This information about the contents of the form is saved in a database and can be retrieved later to produce a basic html form that an html expert would then edit to introduce the necessary formatting. You can find out more about this project at http://wiki.openmrs.org/display/archive/Draft+Forms+Project.

This semester’s project is to continue, and hopefully complete, the module so that it can be put into use.

Characteristics of the project:

  • Advanced web development work
  • Will learn technologies that would look good on a resume: Hibernate, Spring
  • Contribute to a very large, open source project
  • In addition to having a customer, you will also work with Darius Jazayeri, one of the lead developers of OpenMRS.
  • A large international user base already exists. This code will definitely be used when it is done.