Amidst the vibrant hum of friendly competition, close to 150 students gathered in the Rutherford Physics Building on Nov. 3 for the eighth Annual McGill Physics Hackathon. An enduring event, the hackathon has persisted seamlessly, even switching to virtual hacking during COVID-19. In its current edition, participants form teams of two to five and engage in a 24-hour creative sprint over three days. Their task: Craft a project intertwining computer programming and physics.
David Gallacher, the lead organizer of the hackathon and a Ph.D. candidate in physics at McGill, spoke to The Tribune about the event’s purpose.
“The main motivation for the hackathon is to inspire and encourage students to use computation alongside their physics knowledge that they’re going to develop throughout the undergraduate [program] or that they’re learning in CEGEP, or high school physics. To combine computing and software with physics because that’s something that doesn’t get emphasized very much.”
This year saw a surge in demand, prompting the hackathon to sell out two weeks prior to the event. To accommodate the overwhelming interest, the organizers released a second round of tickets, which packed the venue to capacity. The academic background of competitors was especially diverse, with 50 per cent pursuing bachelor’s degrees, approximately 40 per cent from CEGEP, and the remaining attendees comprised of graduate and high school students.
“The way we view it is because, at the research level, […] it’s kind of expected for you to know how to code in order to do most of the physics research. This is kind of an opportunity to get people excited about learning new things, and to get some practice,” Gallacher said. “We give them support in terms of mentors and volunteers, who are graduate students, or postdocs, or sometimes alumni who are working in industry.”
The organizers of the McGill Physics Hackathon based their evaluation of different teams on three distinct criteria: Technical implementation, effective storytelling, and aesthetics.
Gallacher further elaborated on what exactly the judges were looking for during the two project pitch presentations that all teams had to do.
“[We assessed] how challenging was the problem you were trying to solve? How was your solution to solve the problem?” Gallacher explained.
He also raised the inclusion of science communication as one of the competition’s foremost benchmarks.
“We judge them on their communication, their ability to tell a story about the project, and they have five minutes to present at the end of the hackathon,” Gallacher said. “And then we have a third category, which is aesthetics/visualization. Some projects have much more aesthetic connectedness, because they’re a demo or interactive, like a GUI where you have to play with some knobs and change some physical parameters to teach a physics concept.”
The winning project, SingularIO, was a simulation that displayed technical expertise and effective storytelling in addition to beautiful aesthetics. The team consisted of three first-semester computer science and mathematics students from Vanier College. Marco Alturk, Le Tuan Huy Nguyen, and Justin Bax enthusiastically signed up for the McGill Hackathon together after knowing each other for only two months. They discussed their exciting project, their individual perspectives on metaprogramming, and what they will take away from this unique experience in an interview with The Tribune.
“We got inspired from this game called Agar.io. We made these masses that float around. And we used Newtonian physics [fundamental branch of classical mechanics that describes the motion of objects detailing physical facts such as inertia and the relationship between force and acceleration] to calculate the acceleration to be able to simulate how it would look like in real space, how they would orbit around greater masses and how they would collide into each other and become bigger,” Alturk explained. “One thing that was more complicated was the simulation of space-time visualization, like the distortion of space-time around greater masses.”
The team paid extra care to their project’s visual presentation, even drawing parallels between the pleasing physics aesthetics and life more broadly.
“We spent a solid ten minutes, just the three of us admiring the orbits and wondering if the n-bodies are going to fall in or if they’re going to orbit. So it’s really beautiful within both our application itself, but also the physics behind it, because our simulation is aiming to show people how physics, astrophysics and the dynamics behind them can create useful things, both chaotic and not chaotic,” Bax said.
With the increasing popularity of artificial intelligence (AI) applications such as ChatGPT, the organizers faced a particularly challenging task in defining necessary guidelines. Striking the right balance between testing a group’s capabilities, but also not ignoring the practicality of AI as an increasingly essential tool posed a unique challenge according to Gallacher.
“From my experience, and from talking to colleagues, we’ve always viewed computation as a tool to help us do more physics,” Gallacher explained. “There is definitely a place for them in my research, and as a programming assistant. And it really can speed up the development process quite a lot. I think it would be silly to not encourage people and to not tell them about these tools.”
However, the practicality of AI technology does not seamlessly translate to its appropriateness in various programming competitions.
“The approach that we took is that by design, our event is already fairly resistant to that kind of thing [AI] being a dominating factor. Because we don’t evaluate participants or their teams on their code, on the execution of their code, or on really anything to do with their actual program,” Gallacher said.
All three members of the winning team shared some of their perspective regarding the use of ChatGPT during the hackathon.
“I think we barely used ChatGPT except for image generation. I personally don’t find the need to use it,” Bax noted.
Nguyen then provided additional nuance by discussing ChatGPT’s degree of helpfulness according to the context where a programmer would use it.
“I think it is a tool that can definitely help. But I’d say 90 per cent of the work is you just toying around with whatever you’ve got, and you’re trying to build from what you have. So I’d say sometimes it can be a bit of a hassle to even use it, but can definitely be useful,” Nguyen said.
Alturk also provided a specific instance where AI can be more of an obstacle than an aid.
“If you give it the wrong prompt or it misunderstands it, it makes a lot of errors, especially in programming. And I think that decreases your productivity, because now you have to fix the code that it gave you instead of writing it yourself. So for things like physics, or the optimization that we did, we didn’t use ChatGPT,” Alturk said.
To create a program worthy of the first-place award title, the three CEGEP students toiled over SingularIO with great persistence and admirable collaboration.
“The total time it took us was maybe 30 hours in total, because we would come to McGill, we’d work on it, and then we would go back home, and continue brainstorming ideas until 2:00 a.m.,” Alturk shared.
In response to reflecting about the three-day long excitement filled with physics, coding, camaraderie, and amicable rivalry, Bax illuminated the team’s biggest takeaways with bonding being a big one.
“The people around this, in my opinion, really made the hackathon enjoyable,” Bax added. “We were very inexperienced and otherwise all around us, we had teams of undergraduates or even graduates writing super complex equations on blackboards. We learned a lot of things.”