One gripe that I always had with my choice of study at Georgia Tech was the fact that I could not envision how I could directly use my programming and media skills towards making the world a better place. My environmental engineering roommate has been working on a cheap, sustainable gas stove model that could be used by rural tribes in Africa over the past year. A biomedical engineering friend was part of the Rehand team that won the Inventure prize earlier this year for developing an at home hand rehabilitation device. I have several friends in medical school right now well on their way to the most traditional path of helping other people. And even in the liberal arts, there are obvious paths one could take to push forth initiatives in civil rights and sustainability.
As a computational media major, I can create “pretty” things and code. On a greater scope, I can justify that I’m making the world a better place by making better games, films, and witty posters that make people happy.
But taking this class has broadened my perspective and pushed the boundaries in how I can give back with the skills I’ve developed here at Georgia Tech. It seems so obvious now that everything computer scientists do for the corporate world can be applied to the needs of humanitarian organizations and non-profits. They need databases and systems, too. They need better, stronger modes of communication, too. And they also need human-computer interaction to bridge the gap between technology and people.
It has been incredibly inspiring to see the work that my classmates and my Act Early team have accomplished over the past semester. This class has been one of the most gratifying and rewarding classes I’ve ever taken, if not the most during my time here at Tech. Besides the general feel good feeling of working on something that helps others, I’ve also received a personal gain as it was my first direct, real world application of UI/UX and human computer interaction. Through this class and the part time internship I did this semester, I have a more clear direction of what I want to do with my degree in the future and how HCI might tie into that.
I took this class to fulfill my senior design requirement, but I’m leaving this class with much more than I ever expected. Like any other class, I began my semester with the intention of making the ‘A’. But over the past weeks, it’s turned into something I truly want to spend my time on because it helps parents help their children, because it supports the hard work my team members have put in, and because I really enjoy the nature of the work I’ve been doing. I think the length of this blog post is a true testification to this.
“Learn the Signs, Act Early” Mobile Application
This semester we worked on a system called the Indian National Autism Registry for an organization called Action for Autism. Action for Autism is an organization based in India whose goal is to “put autism on the Indian map.” Our project was an online survey tool that allowed the parents of a person with autism to fill out surveys collecting information about the person’s demographics and medical information. The data collected can be used to assist in autism research, as well as to make India’s government more aware of the prevalence of autism in their country in order to drive related policies.
We used an existing open source project Limesurvey as a starting point for our project. The survey that AFA had designed for INAR was far from simple. It had many question types: free answer, numeric only, multiple choices, grid of answers, date selection, etc. Some questions needed to change their text based on the responses to previous questions. Questions needed to be shown or hidden based on other responses. And to top it all off it all needed to be editable by a non-programmer in the future.
Limesurvey was great because it had support for all of the above. Limesurvey was not exactly what AFA needed though: There was no concept of a participant account or login. However it did allow survey access to be restricted by generating a one-use key that could be given to the participant. So we started down the path of trying to merge an account management system with Limesurvey such that a participant could register, and sign into an account and be provided with a link to take the survey. We ended up dropping the idea of the participant needing to sign in to take the survey. Instead a link to take the survey was just emailed to the user.
For the administrative side of the product we created admin pages allowing an administrator to assign participants to surveys, and select which surveys a participant should be automatically assigned to. Originally these admin features were accessed through an admin interface on the main site and the survey editing was done through the Limesurvey admin interface. We eventually merged all the admin features together by adding additional pages to the Limesurvey admin interface, but not before first trying to recreate lots of the interaction with Limesurvey through our own admin interface.
There were also a lot of changes on how we interfaced with Limesurvey. The admin interface for assigning participants at first interfaced with Limesurvey by just inserting data into its database. Later we found that Limesurvey had API functionality, and we could interact with it through API calls. This seemed like the right thing to do, because even if database structure changed in a future version of Limesurvey the API calls would probably remain the same. However it also ended up causing slower page load times. When we eventually moved all the admin pages into the Limesurvey interface we change everything to interface directly with the Limesurvey objects.
As you can see there was a lot of back and forth on this project. I think some of this could have been avoided. The day we learned what project we would be working on there was a huge push to have a working prototype in 2 weeks. This meant there was no time to plan or design anything. We just had to make something and make it now. It didn’t have to be that way though, there was over a month at the start of the semester before we were finally told what project we would be working on. Had we know earlier that time could have been used for planning and design. I urge the professor to try and have project teams sorted out with two weeks of the start of the semester in the future. In most (much less demanding) project based courses projects teams are determined within that time frame.
The experience has pushed me away from agile development, at least for new projects. I do think it has its place for products that have matured and require several relativity minor updates. Maybe also for a project where requirements are poorly specified, although I think non-functional prototypes serve that case better.
In the end we made something that will help the AFA toward their goal of collection data to spread autism awareness, and I am happy about that.
My name is Michael Zeitz and I’ve had a very eventful and fun semester working with C4G. My group and I have been working for Jacob’s Ladder, based in Alpharetta, GA. Jacob’s Ladder is a private school that is geared towards helping kids who have learning disabilities, such as Autism. My C4G group has been working on a Drupal-based project to convert their current paper recording methods into a digital system. I have earned a lot of work experience during this semester from working with a client in an AGILE approach and from working with Drupal, a platform I had no previous experience with. In addition to lots of good work experience, I have also earned a sense of satisfaction from getting to work for a non-profit that truly needs and values my group’s help. It’s a good feeling to know you’re helping others and to know that the work you’re doing will actually make an impact on someone. My C4G class is one of the most important classes I’ve taken at Tech and I would gladly take it again, given the chance.
My C4G Experience
Earlier this semester I signed up for Computing for Good thinking it’s a course different from all other courses. I’ve always wanted to contribute to the society in some way and C4G provided me with this opportunity. Hearing about all the different projects presented by various organizations along with discussions we had in class made me realize that there was so much one could do to help. I decided to choose the recycling project with the Office of Solid Waste Management and Recycling at Georgia Tech since I feel for the cause of environmental conservation.
Our problem statement was as simple as “Increase recycling on Tech campus”. We thought of many ways we could do that and concluded that the best way to do that was to increase awareness about Recycling. We immediately realized that this would be an effective way to increase overall recycling on campus since we ourselves became more conscious about what we recycled and what we didn’t once we started working on the project and became aware of where and what we could recycle.
We developed a contest that engages users in recycling awareness on campus. The contest encourages users to explore certain areas of campus in order to discover the numerous indoor and outdoor recycling areas provided to the student population. The purpose of the contest is to give students a greater awareness of recycling opportunities and serve to educate them of recycling best practices in the process. Coupled with a great team and an extremely cooperative partner organization working on the project was a pleasure. With guidance from the professors and inputs from our peers we were able to make decisions on what would make the app most useful. One great thing about C4G is the constant feedback and support we got from our fellow students, unlike most other courses where everyone is most bothered about grades.
On the first day of class Prof. Vempala told us that it would be a lot of work but the rewards would be far more. Today, I can agree with this statement. C4G did indeed turn out to be a different course. Most of all, it taught me how to make a difference.
During C4G in Fall 2012, I worked with a group to develop the Indian National Autism Registry for Action for Autism in India. I had been having a hard time finding my niche in computer science and my work with INAR really helped me find my strengths. I took C4G as an equivalent to undergraduate senior design but only just before registration ended. Previously, I had attended the lectures for the regular Computer Science undergrad senior design. I found that the difference between the two was that with regular senior design, students were given exact specs and details for their project whereas with C4G we had to work with the clients and our professors to find the best solution.
That’s where I realized my strength was. I really enjoyed communicating between the team, our professor, and the client. I enjoyed the peopled centered work of managing meetings, evaluations, and project concepts. I enjoyed the ‘paperwork’ of creating proposals and progress reports. I found that computer science was a lot more than its perception of being just about coding. I realized that there’s a lot more that goes into the design and creation of a system than coding and it.
Through C4G, I received a research grant to continue the work our group did next semester. It will be my first time doing research and I could not be more glad that it is for such a good cause. I hope to work in a C4G related field, hopefully education technology for the underprivileged, after graduation. Before this class, I only had goals with no knowledge or experience to know that this is the field for me. Now with this experience, as well as through my research next semester, I hope to break away from the rat race and get into education technology.
The Computing for Good class is offered to undergraduates as an alternate option to their Senior Design Capstone class. In this class, we apply all our skills and more to use computing to do good for the world. It is a unique opportunity for computer science students to become heroes and help solve various problems faced all over the world ranging from chronic homelessness to the autistic disorder. While the projects speak for themselves through the difference they are making in the world, I would like to share a slice of the experience of the class on why it is like no other and how it transformed the lives of many who took this class.
As a Computer Science major at Georgia Tech, we learn many important skills and principles like programming, design architecture, evaluation and presentation from various classes. Computing for Good tests us with all these at the same time. While we are mentored by our professors, we directly interact with our partners thus we are being tested in a real world environment. For me, I remember my team’s very first meeting with our partner, the United Way of Metropolitan Atlanta. We went in to discuss what their need was and by the end of an hour and a half, we came out of a professional meeting with a project we had planned out with our partner. This was a great validation for all of us on the team because we saw a purpose for ourselves in the real world beyond classes and assignments.
A couple of months since that meeting, we have come up with a working system that stores and reports data on the homeless in Atlanta and determines how much at risk a person is on the streets based on the health conditions. We are now finishing up our prototype that went through many iterations based on feedback from partner evaluations. We see our system and feel very proud of it. It is something we can share and explain to people from all walks of life knowing that everyone can relate to our work.
Thus, I can say that the Computing for Good class is the kitchen that cooks all the fine ingredients we have picked from Georgia Tech to a delicious and sumptuous meal thereby being able to share our work with others. We are pushed to reach goals we thought we would never reach and our outlook on everything Computer Science-related is changed for good. If you don’t believe me, take the class and you’ll see for yourself.