Several University of Iowa Computer Science students competed at HackUIowa '22 October 15 - 16, 2022, presented by UI Hydroinformatics Lab.
Some solo or team efforts garnered awards. For instance, MCS student Nikhil Singh's project entitled "Data Oriented Design for Movie Review System" won “Best Solo Hack Award” and Mitchell Hermon (CS), Maneesh John (CS&E), Julian Wemmie (CS) Raymond Yang (CS) won “Best Sustainability App Award by ENGIE” for their "UIOWA Main Campus Energy Sustainability Dashboard"
HACKUIOWA is a 2 day non-stop hackathon, and is held at University of Iowa.
The event is open to all university students that have a passion for creating things with technology!
Students form teams to work on their project (or 'hack') up to 4 members. Projects are open format, which means that you can hack on web, mobile, desktop, or hardware applications. Company mentors are available throughout the event for questions to make sure beginners and experts alike have the help they need to successfully develop their project.
All teams demo their hacks at the end of the event and winners are chosen by company mentors.
The students were kind enough to reflect upon their winning projects and more!
How did your High School or undergraduate studies lead you to the U. of Iowa? What most influenced your choice to pursue a UIowaCS degree?
Nikhil Singh: As an undergraduate student, I conducted thorough research on universities and professors within the field of cloud computing, algorithms, and high performance computing. I reached out to current students to learn about their experiences at various universities and consistently received positive feedback about the University of Iowa. Upon discovering the IIHR Department and its focus on machine learning and AI, I contacted Dr. Ibrahim Demir about potential research opportunities and was offered the chance to work on exciting projects utilizing GPT-3-like models. I was impressed by the range of departments at the University of Iowa that offered opportunities for growth and development, and ultimately decided to pursue my UIowaCS degree at this institution.
Maneesh John: In high school I was in clubs such as robotics and science olympiad, and I also did a summer internship in a research lab at Iowa. These experiences led me to major in computer science and engineering as an undergrad. I chose Iowa because I really like the environment of Iowa City, and because I was lucky to be offered support here through scholarships and research opportunities.
Raymond Yang: One of the largest factors that led me to the University of Iowa were the generous amounts of scholarships and aid provided to me. In high school, I was a part of a program that allowed me to take a few CS courses at the University. The experience I had during this program was excellent. I knew I wanted to study computer science during the middle of high school when I took my first few CS courses. It interested me more than any other class or field that I had been exposed to.
Julian Wemmie: I was born and raised in Iowa City, so the transition from an Iowa City West student to a University of Iowa student was a natural decision. That being said, when it comes to computer science, I only took my first CS class as a junior. I had been pre-med, but after that first class, I knew CS was a much better fit for me, so I decided to switch my major.
Mitchell Hermon: I knew early on in high school that I wanted to major in CS through a class I took on my own making games in python. The University of Iowa has been a great place to pursue my CS degree thanks to the generous scholarships and abundant interdisciplinary opportunities.
What impact did your experience at Iowa have on your HackUIowa project? How much was influenced by extracurricular or professional experience?
Nikhil: As an Graduate student, I took classes with distinguished professors such as Supreeth Shastri, Kasturi Varadarajan, Sriram Pemmaraju, and Guanpeng Li, who greatly enhanced my understanding and practical application capabilities. The coursework and exams were designed to strike a balance between theory and practice, which greatly improved my skills and prepared me for the HackUIowa project. In addition, I was fortunate to have peers such as Jamil, Apoorv, Ryan, and Haakon, whose research and projects provided me with valuable insights into the latest trends and advancements in the field of computer science. Overall, my academic experiences at the University of Iowa have greatly enriched my knowledge and prepared me for future endeavors in the field.
Maneesh: I've been interested in data science and machine learning since high school, and I’ve taken courses and done research related to those areas. I joined the HackUIowa project because I thought the Engie challenge would be a great way to put what I’ve learned toward solving a real-world problem.
Raymond: One of my first personal projects that I started at the beginning of college was building an IoT with a web front-end interface. It taught me front and back-end development, skills that I felt were valuable to have. This translated to our HackUIowa project because our Engie-inspired project (along with most others) needed a good-looking and functional web application.
Mitchell: My main focus area has been data science and machine learning. The classes I have taken in these subjects at Iowa were directly applicable to the work we did on the project to analyze the campus emissions profile.
Could you sum up your HackUIowa 2022 project? Any shout-outs to labs and/or faculty or other mentor on or off-campus?
Nikhil: The project that I worked on at HackUIowa 2022 aimed to address a widespread problem in the industry: the performance and overhead issues associated with REST APIs. My solution focused on implementing a data-oriented design using modern technologies such as GraphQL, Angular, and a microservice architecture with comprehensive unit and functional testing. This approach enabled us to create a robust and maintainable application that addresses the challenges faced by many companies. I would like to extend my thanks to Professor Ibrahim Demir and the faculty of the Computer Science Department at IIHR for their guidance and support.
ENGIE Award team: We developed a web app for the Engie Sustainability App Challenge. There are three parts to our app: it displays correlation between historical campus energy load and CO2 emissions for the past year, it shows real-time energy and emissions data with a breakdown by energy source, and it predicts future campus electricity load. The web app was developed using Python, Pandas, and Streamlit. All the plots are generated from real data obtained from web APIs provided by Engie and the government. The predictive model is a neural network trained on about 10 years of historical energy data.
Overall, this project could be useful in making campus energy usage more sustainable. For example, if the predictive model suggests an increase in demand in the next few hours, and the real-time dashboard shows that the grid is currently operating mostly on green energy, the campus could decide to reduce electricity generation and purchase more from the grid in order to reduce their carbon footprint. You can read more about our project on our Devpost.
We’re very grateful for the support and guidance of the Engie representatives at the hackathon: George Paterson, Garry Patricio, and Debashish Koirala.
Do you expect any “future work” on your project? Will your choice of hack topic influence your post-graduate education/work/research life?
Nikhil: Without a doubt, my plan is to continue developing the project and add additional features to it. I believe that, with further refinement, it has the potential to be adopted by companies as a tool for improving their workflow or as a foundation for data-oriented projects. The experience of working on this hackathon project has also given me a new perspective on the importance of data in application design. By focusing on data, I was able to create a high-performing app that provides significant value to businesses and aids in strategic planning. I believe that this understanding will be beneficial in securing internships or jobs at top companies and I encourage all students to participate in such competitions.
ENGIE Award team: We know there is continuous work being made on our Hackathon project to improve and validate it to a certain extent by Engie. Outside of this, we don’t know what will happen to the project (it might just sit in the GitHub as most hackathon projects do). Despite this, there is potential for it to become useful in practice if given enough time and development. Some of these features, such as the real-time breakdown of grid electricity, could be useful not only for Engie but also for other organizations across Iowa or nationwide. It would be great to see our idea developed further and more thoroughly.
- Raymond: I think this hack project stimulated the learning of skills that will be applicable to almost every work opportunity in my future. If the technical skills don’t perfectly translate, the communication and teamwork skills most certainly will.
- Julian: After winning the ENGIE challenge, our team was generously offered internships to work at their Energy Control Center here in Iowa City. I accepted the offer and now I am working on validating our solution, expanding to other energy systems (such as the Oakdale campus), and broadening the capabilities of our dashboard. I’m not sure where I will be in 5 or 10 years, but this project has certainly increased my interest in working on green energy systems.
What – personally or academically – prompted you to work on solutions to energy and/or emission problems – among other areas of predilection?
Raymond: I think energy is a very interesting application of software development. I was interested in tackling the Engie challenge, dealing with carbon-emissions monitoring, because it was a sub-field that I wanted to learn more about. It reminds me that while computer science may be one degree, the possibilities that it unlocks ranges far beyond the IT and tech fields that we generally think of.
Maneesh: Particularly in the field of machine learning, there's so much focus on applications like robotics, natural language processing, and social media, but I think there should be more focus on other potential applications as well. The energy industry has vast amounts of data on energy production and consumption, and machine learning could help us use that data to make smarter decisions.
Julian: I see decreasing our emissions as the defining goal of our generation. By improving the sustainability of our energy systems, we are preserving the planet for all who inhabit it long after we’re gone. The ENGIE challenge was a great catalyst for using our CS skills to help tackle lowering emissions.
What advice do you have for our current and prospective students?
Nikhil: To succeed in the field of computer science, it is crucial to have a strong foundation in core subjects such as data structures, algorithms, operating systems, cloud computing, and databases. This requires a balance of theoretical knowledge and practical experience, as well as the patience and perseverance to troubleshoot and debug errors in code. In addition to these core subjects, it is also important to stay up-to-date on the latest technologies and programming languages, including front-end languages like TypeScript and JavaScript, and back-end languages like C#, C++, GoLang, and Python. Knowledge of cloud platforms such as AWS or GCP can also be valuable. By mastering these skills and applying them to real-world projects, you can differentiate yourself from your peers and develop the creative thinking and problem-solving abilities needed to create a wide range of applications, from web and mobile to desktop.
Another valuable strategy for success in the field of computer science is to engage with your peers and experts in the field. This can include participating in group discussions, attending workshops and conferences, and even just observing the research of PhD students and asking questions. These interactions can provide valuable insights into the challenges and opportunities currently facing the industry, and can inspire new ideas and approaches to problem-solving.
ENGIE Award team: We would encourage all CS students to attend as many of these extracurricular events as possible. All of these events are low-stakes and high-rewards. For any hackathon, the worst thing that can happen is that you get some hands-on learning and experience in a particular topic. Besides events, we’ve found that participating in student organizations such as ACM can be incredibly valuable for personal and professional growth. Student orgs offer opportunities for leadership, mentorship, and networking with like-minded students, all of which can be difficult to find in a classroom setting.
Keep scrolling for project artifacts!