In May, Joel Gascho authored Reflections on Computer Science as part of an ongoing series of reflective posts from my undergraduate and graduate students. In particular, I asked the students to write about any of their experiences related to their various projects so that other students might learn from them. Today, Joel provides another reflection based on the work he’s been doing with Community Living Cambridge since completing CIS3750 last fall.
For about a year now, I’ve been involved in the development of an engaging medication reminder app in conjunction with Daniel Gillis and Community Living Cambridge. I saw promise in this project when it started as a classroom assignment, but as I continue to work on it, the impact it could have has become more evident to me. I’ve been particularly intrigued by the significance of undergraduate student developers and the role we play.
The practice of students designing and developing software with a community partner shows potential for solving overlooked problems faced by communities. Students are provided with the opportunity to learn methods of software development, gain practical experience working with an outside party, all while doing something good in the world. I find learning in this way to be gratifying, as it could lead to completed software that can actually be used, instead of an assignment that gets graded and filed away, probably never to be looked at again.
I’ve always viewed software targeted at certain niche markets, such as those addressing accessibility issues, or even for education, as somewhat questionable. I am concerned that this software is produced because of the business opportunities presented by these underserved markets, more than to help the individuals they are intended for. Some of these products can be obscenely expensive and are not always well designed, although I don’t doubt there are many conscientious people involved in these endeavours.
My involvement with this project has given me a new perspective, showing me there are different approaches one can take to develop software of this nature. While our app is not finished, seeing what just a few students can do has really impressed me. Not to say there aren’t any drawbacks; the obvious ones being that students lack experience on larger projects and have limited time for development. In addition, there are no established guidelines for undergraduate students to undergo long-term collaborative development. With further exploration of this process, techniques to improve its efficiency and effectiveness could be discovered, possibly encouraging the incorporation of similar projects into more computer science programs.
If it can be shown that a computer science education can give someone the ability to contribute to their community, then I believe the field might attract more socially conscious people who may otherwise choose a different area of study. The world is always changing, and the progress we make as a society is dependent on what we, as citizens, value and the actions we are willing to take to uphold our values. This project has opened my eyes to the opportunities for people with skills like mine to make a positive impact on the world.