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.