Through Santa Clara University, I, along with two other partners, was paired with a Jesuit, Father Cortese, to bring his idea of a mobile application that delivers guided meditations to life. Father Cortese records meditation guides with a focus on Ignatian Contemplation. After consulting with him to get a sense of what his vision of the application, my team members and I agreed upon an initial UI prototype. We then created a backlog of tasks and set up week-long sprints where we assigned ourselves work to be done. We worked collaboratively through GitHub and were in constant communication over Slack, despite the barriers COVID-19 has put up. We met every two weeks to go over our progress and evaluate our tasks. The result was the mobile application displayed above that has a Home Page of guided meditations, a Search page, an About Page, a Help Page, and a corresponding web application for administrator use to upload and edit meditation guides. This work is a culmination of all I have learned over the course of my undergraduate experience thus far. It exemplifies careful attention to detail, communication, organization, and planning. It demonstrates attention to requirements, investment in stakeholder values, and user experience. The ethics of this project was a motivator to begin. My interest in web development and human computer interaction is what prompted me to begin work on this project. It allowed me to learn a new skill -- mobile app development -- while exercising previously gained knowledge and improving upon it. Lastly, without the guidance of a design team or professor, my team and I designed for a user directly, so had to evaluate user needs before prototyping and think of ways to focus user attention on the meaningful portions of the application. Overall, this experience refined my technical knowledge and my interest in human computer interaction.
This most recent summer I worked at BuildingConnected, an Autodesk Inc. company, as a Full Stack Software Engineer with the task of designing a checklist that collects data, stores the data, and displays it neatly on the front end. BuildingConnected connects subcontractors to general contractors. If a subcontractor chooses to decline a project (slide image 1), a notice will appear in the lower right-hand corner of the screen with the option to add reasons for declining (slide image 2). If the subcontractor clicks the notice, they will be prompted to add reasons (slides 3 and 4). This summer project required knowledge of web development, JavaScript, React, Redux, MongoDB, and GitHub. I had used this platform during my internship the previous year so had knowledge of what it was like to be a user of the system. I took my user experience, technical knowledge, and willingness to learn and designed this added functionality to the BuildingConnected site. I had never used React, MongoDB, or GitHub before, so had to learn how to use each of these tools and coordinate effectively with team members. My motivator over the summer was the knowledge that I was designing for real users and the outcome would positively impact the users of this community. Data stored would help filter results to tailor projects to user needs and be displayed under the 'Internal Use' panel on the right side of the page to allow users to easily remember past work and reasoning. My experience reinforced my ability to interact in an agile development framework and team, how to masterfully use JavaScript and React, and the importance of human-centric design. I learned how projects on any scale require effective team work and communication and that testing design before deployment through both code reviews and beta testing is essential in developing a product well. In addition, I was able to find the value in different design methods, i.e. Waterfall v. incremental, and the situations each is most useful in.
Note: code and other samples of my work are owned by Autodesk and cannot be displayed. After taking Networks with Dr. Behnam Dezfouli I was invited to begin graduate research under his guidance with a Ph.D. student an as introduction, continuing research on my and eventually publishing a paper. I began helping the Ph.D. student research whether Internet of Things (IoT) devices could reduce packet drops and latency while improving throughput in comparison to regular node devices. After my time researching the computational power and prevalence of AI and my work through my Fellowship, I was curious about whether combining Artificial Intelligence (AI) and the IoT could reduce energy consumption in the sectors of the United States that draw the most energy -- the residential, transportation, and industrial sectors. I read many studies, patents, and articles on current uses of AI and the IoT, energy consumption of modern systems, algorithms most commonly used, effective edge computing designs, and theoretical implications of edge computing. I compiled my knowledge and research into my own paper, "Artificial Intelligence Against Climate Change", where I reasoned that by using AI and the IoT in conjunction, we could offload energy-intensive computation and message passing to edge devices, in turn reducing energy consumption, packet drops, and latency while improving reliability and performance through AI system management. It would be possible to construct Smart Cities using this infrastructure. In addition, I learned that these systems benefit most from tracking human preference to tailor algorithms and therefore performance to human lifestyles. Human involvement and awareness could prompt the public to become more involved in the technology that guides their daily lives. Nearly every part of human life is touched by technology in our modern age -- it is imperative we consider human computer interaction to make technology that is useful, ethical, and sustainable. We must build technology to improve the life of our community and for the future of our communities, or else what are we building technology for?
My paper will be published in Springer's series "Advances in Intelligent Systems and Computing" and presented at the Computing Conference 2021. Over the course of five weeks, I coded a CPU along with one other partner in Verilog. This process required basic knowledge of Verilog, intricate knowledge of CPUs and computer architecture, organization, and meticulous attention to detail. I began this process by first ensuring I understood every detail of the computer architecture -- every input and output and calculation in between, as well as the reasons for certain optimizations or calculations. Then I split the task of coding certain modules between my partner and me. As we coded a module in the architecture, we also coded its corresponding test unit. Before module integration, I drew a diagram of the architecture and connected each input and output to its module and carefully labeled each. This allowed me to keep track of each wire and bus as I linked modules together. As I linked modules, my partner and I performed tests at each buffer, then one final test after all modules were linked. This process followed agile design methods on a small scale, ensuring requirements were accrued, weekly meetings were held, tasks were drawn from a backlog, and testing began with units and finished with integration. This project demonstrates an acute understanding of computer architecture, careful attention to detail, communication, teamwork, and project management. In addition, this project highlighted the importance of following code from surface level to bare bones to understand why certain methods may be preferable. This principle follows me in all the work I perform, understanding decisions from a big picture and top-level down to fine-grain details and bottom-levels to ensure that I am making a well-informed decision to create the best possible outcome.
In my junior year of undergraduate study, I had the room to take an elective and chose 'Web Programming' where I was introduced to front-end code for the first time. Until this point, a lot of the required courses dictated that I took the basics of programming or algorithmic study courses. This course piqued my interest dramatically in Human Computer Interaction and the importance of human-centric design. My advisor suggested I take Web Programming as a way to explore my interest in both working with people and computer science and engineering. In this course I learned the basics of JavaScript, HTML, CSS, web architectures, and web program development. As I progressed through the course I gained a basic understanding of the languages involved and web architecture, something I had never understood before this point. It was enough knowledge for me to be able to interview and perform successfully at my summer internship as a full-stack software engineer at Autodesk Inc. Our final project in this course was writing the code that generated an online web application that functioned as a "To-Do List", seen in the image above. If an item was typed and submitted, it was stored and displayed, and cleared only if the page is reloaded. I gained a firm understanding of web development as a result of this course and how one must carefully consider user needs and experience when designing a tool.
I was accepted to a year-long Fellowship hosted by the Markkula Center for Applied Ethics at Santa Clara University that explored the intersection of AI, ethics, and the environment out of 100 applicants. The Fellowship was a self-guided research program with the goal of publishing an article of a topic of my choice under the guidance of Dr. Brian Green. Since taking AP Environmental Science in high school, sustainability has remained a passion of mine that I try to incorporate into both my daily life and my work. My passion for designing a sustainable future combined with my passion to innovate through technological design, specifically in the realm of AI, led me to explore whether the use of AI produced a net negative or positive energy consumption. My interest was sparked after taking a course in the Ethics of AI and exploring how rapidly AI was becoming used in modern systems, and more specifically after reading an article about Google's DeepMind use in data centers used for cooling. After months of research through the fall of 2019, I discerned that despite the energy consumed to train AI, AI still produces a net negative energy consumption due to the energy it saves through its implementation. This research also continued to reinforce the pressing need to evaluate the context technology is implemented in, its long-term effects, and how humans interact with technology to make it run as efficiently and positively as possible. My article was published at the end of the academic year and I continued to research the use of AI in graduate research courses.
During my freshman year of undergraduate studies, I spent a quarter evaluating Artificial Intelligence (AI) and the ethical implications of its use. During this quarter I explored modern uses of AI and what future development was projected as. AI is embedded in many systems, as AI usually improves performance due to its ability to closely monitor systems. Some systems use algorithms AI develops, and often the algorithms are much more complicated and intricate than humans are able to understand. Due to the increasing prevalence of AI, we must evaluate the systems we introduce AI into, how it affects human life, and what the ethical implications are. For example, if a military weapon malfunctions due to faulty code, who is responsible? Is it the machine? The programmer? The weapon operator? Relevant examples include Tesla's self-driving cars. In my final paper, I explore the ethics of using AI. This paper demonstrates my ability to reason about the use of technology, my knowledge of AI and its use, and my concern for the ethical use of technology. As a result of writing this paper I discern that the use of AI is in fact ethical, but precautions should be taken to evaluate the context AI is deployed in and the human-computer relationship is one that must be considered. This research inspired me to focus on the context technology is deployed in and ensure that I take a human-centric viewpoint when creating technology. I became aware of the relevance of exploring human sociology, psychology, and socialization and its relevance in computer science.
|
AuthorPersonal projects from the last four years. Archives
November 2020
Categories
All
|