Projects by the Hanflig Technology Fellows

wordbubble

Eureka Project (2016)

The History Department, having given out student surveys, asked the Technology Department for a Tech Fellow to design a web application for the survey data. The Eureka Project was started when Dat Thanh was tasked with designing and programming a web-app that can take in data in the form of a Google spreadsheet, read & manipulate it for sorting and graphical analysis. The app had to display these operations to the end-user in an easily accessible interface.  Dat Thanh learned 3 new programming languages: HTML, CSS, and Javascript and developed the app using Google Drive API, hosted on the Google App Script service. Dat Thanh overcame many challenges such as poorly documented Google API and the compiler itself, which failed to identify both syntax and run time errors. Dat Thanh’s web app was developed using imitation data, only the History Department ran the web app using its survey data.

website

”After winter vacation, the History Department, having given out student surveys, asked the Technology Department to design a web application based around the surveys. With test data given to me by the Department, I was tasked with designing and programming a web-app with functionality outlined by both Departments’ specifications. With the use of the HTML, CSS, and Javascript languages (albeit primarily centered around Javascript in conjunction with JQuery), an app was developed using the Google Drive API, hosted on the Google App Script service.

The application, dubbed ’Eureka’ somewhat by accident, is able to take in data in the form of a Google Spreadsheet, created by the Google Forms service, and read and manipulate these data in order to sort and analyze student responses. Furthermore, the app is able to display the results of these operations to the end-user through a sufficiently accessible interface.

Apart from the work in developing the user interface, much of the project and its challenges centered around taking in the Spreadsheet’s data, parsing it, and transferring its contents into easy-to-manage data structures. Further methods had to be devised in order to organize and remove data in these structures to the user’s specifications in order to display only relevant information come runtime. Some of the most challenging difficulties arose from the poorly documented Google API, some of which was deprecated, thus forcing me to employ brute-force measures to test new, undocumented functionality. However, perhaps the most frustrating obstacle was that of the compiler itself, which failed to identify both syntax and runtime errors. Hence errors had to be diagnosed simply by identifying when the program froze and checking the corresponding line of code for mistakes.

Taking the API and debugging nightmares aside, my experience in writing ’Eureka’ was a very educational and enlightening one. The project exposed me to three languages of which I had had no experience as well as familiarized me with the parsing and manipulation of data structures, especially those from outside sources. Furthermore, the cooperation between the Technology and History Departments and me trained me in client-to-developer relationships as well as the protocol associated with such work. With all these benefits taken into account, I can safely say that I enjoyed very much my experience working in this project, and I hope to work on similar ones in the near future and next year.ּ

- Dat-Thanh Nguyen ’17, Tech Fellow