Programming Competition Allows Students to “Geek Out” and Gain Crucial Skillsets
Binary search trees, dynamic arrays, matrix multiplication — these are some of the reasons that more than 50 students traveled to San Diego in July as part of the 2nd Annual XSEDE (Extreme Science and Engineering Discovery Environment) conference.
The students also enjoyed plenty of pool time and sight-seeing after competing in the XSEDE13 Student Programming Competition, which was a primary focus of the overall Student Program that included a poster session, papers, a mentor program, tutorials, and a job fair.
The Student Programming Competition started in 2011 when the National Science Foundation (NSF) cyberinfrastructure initiative was known as the TeraGrid. This year it has matured under the direction of Ange Mason and a handful of committed teachers and outreach representatives from Shodor, Contra Costa Community College, the University of Washington, Louisiana State University, and the Louisiana School of Math, Science and the Arts.
“We want students to realize their potential with analytical thinking in joining the competition,” said Mason, who chaired the XSEDE13 student program and works as the Education and Outreach Coordinator for the San Diego Supercomputer Center. “I’m hoping this pushes them in the right direction to challenge themselves and to go outside their comfort zone.”
A total of 10 teams participated in the all-day competition, which challenged the students on a number of computational problems such as calculus-based approaches for calculating the area under simple curves; generating prime numbers that are large enough to be used for computationally-intensive tasks; and using ensemble-based approaches to produce a probability distribution of expected outcomes. In the process, students document their work in an engineering journal, create algorithms, write code, and measure how long it takes the code to run. They can use a variety of programming languages including C, C++, Fortran, Perl, Python and Java.
According to Mason, the students who participate are not necessarily vested in pursuing a STEM career, which is why formalizing the competition into an annual event, listening to student feedback on how to improve the event, and using social media to keep the students engaged was crucial this year. More than 58 institutions were represented with an impressive mix of traditionally underrepresented students including women, Hispanic, African American and Native American students.
The students who are the most marginalized in computing have voices in their head that say “I can’t,” according to Tom Murphy, a math teacher and computer scientist at Contra Costa College in California.
“This is why the competition is a big win for what we’re doing in terms of outreach,” Murphy said. “The students are walking away with way more than how they place in this competition. There’s a lot of hitting your head against the wall, but there is also a lot of success. Competing allows them to focus on their education differently. If I can get them to own their education the way they own solving these problems, and take this back to the classroom, they own a larger part of their life.”
Genaro Hernandez Jr, a graduate student in Computer Science at the University of Maryland, Baltimore County and an XSEDE Scholar, was a first time participant. “Our team had numerous strengths depending on peoples’ background,” Hernandez said. “One person could parallelize code to make it run faster, another person was adept at math, most people were eager to solve the problems, and some of the team members were good at generating code.”
Hernandez’s team was able to solve 7 out of 10 problems ― not bad. However, in his many years organizing programming contests, there has not been a team to Murphy’s knowledge that has completed all 10 problems in the eight-hour timeframe. He has been involved in these contests since 2005.
“Our philosophy is – let’s give them way more than they can do,” Murphy said. “It would be a boring competition if they could answer every problem. You always want students to extend their reach.”
Participating in the programming competition has enormous value for the students. Can they code in the presence of others? Can they generate solutions and write code under time pressure? Can they work as a team?
Brad Burkman, an XSEDE Campus Champion and a math teacher from the Louisiana School for Math, Science and the Arts, is leading by example. “I want to make people aware that advanced computing resources can be brought into high school classrooms,” he said.
The school Burkman represents was one of the first high schools to have a Little Fe computer, and this amazing “supercomputer in a box” has lived in his classroom ever since. He teaches weeklong courses in parallel programming using Little Fe, and the students have access to XSEDE resources via Burkman’s Campus Champion allocation. High school students can develop a “righteously powerful program” that they can then move to an XSEDE resource, according to Burkman. The high school team he mentored and chaperoned won the “Most Creative Solution” category in the competition.
“XSEDE is an amazing resource for making science happen,” Burkman concluded.
Ultimately, the XSEDE Student Programming Competition is about helping students develop problem-solving skills. Memorizing one way to solve a problem isn’t the goal. “Justifying how you solve a problem and why is a skill set I want my students to have. They get credit for their reasoning and extra points for applying parallel solutions.”
Why should XSEDE continue hosting a student programming competition?
“It changes students,” Murphy said. “You want students to use supercomputers, but they need to change how they look at their education. They have the potential to become impactful contributors whether they are scientists, artists or economists, and computation affects all fields.”