17c起草社区

Skip to main content

17c起草社区 News

NSF grant spurs innovation in parallel computing

Wednesday, January 23, 2019
Connor Bechler

When 17c起草社区  professor Joel Adams launched 17c起草社区鈥檚 first parallel computing course in the late 90s, the field was 鈥渁n esoteric elective kind of thing.鈥 Supercomputers, the main devices at the time to rely on parallel computing, were few and far between.

In 2005, however, computer processor developers started making multi-core processors for the general market.  鈥淣ow, even most phones have eight cores,鈥 said Adams, 鈥渋t鈥檚 no longer an esoteric thing鈥攊t takes a whole different kind of programming to make use of those multiple cores, which makes it critically necessary to teach every computer science student about parallel computing.鈥

Innovative teaching tools for a changing field

This increasing need has led Adams to collaborate with several institutions in an effort to advance parallel computing instruction, beginning with a 2012 NSF grant to host workshops for computer science professors across the country and to launch a website鈥斺攆or distributing educational materials.

This past fall, Adams鈥攖ogether with colleagues at United States Military Academy, West Point, and St. Olaf College in Minnesota鈥攔eceived a $595,131 grant for the development of new parallel computing teaching tools.

鈥淲e鈥檙e looking for real world analogies to parallel behavior so that we can create the equivalent of those analogies in software,鈥 said Adams. 鈥淲ith this grant, we鈥檙e specifically aiming to help students understand parallel computing through sight, sound, and touch.鈥

While St. Olaf College is researching possible touch-based approaches, and West Point is attempting to build an interactive online textbook, Adams and two student researchers will work this upcoming summer on building several tools to provide students learning parallel computing with direct audio and visual feedback. 

Adams says the audio tool will mimic music ensembles: each separate computational task will produce a distinct tone, allowing 鈥渟tudents to hear the parallelism鈥 as the program executes, demonstrating audibly what parts of the program employ multiple cores. The visual side of the project will involve graphic rendering in which each core renders a different part of the image in a different color than the other cores, showing students how tasks are distributed among cores.

Advancing instruction nationally

Adams has worked with several students on similar projects in the past. Computer science student Elizabeth Koning has worked with Adams on parallel computing visualizations since 2017, recently conducting an experiment on how well introductory students learned programming concepts from working with visualizations compared to textbook reading.

鈥淭here was a statistically significant difference in how engaging the students found each activity,鈥 said Koning. 鈥淏ased on their responses, I鈥檓 very optimistic about the potential of these visualizations to aid students鈥 understanding of parallel computing.鈥

Sarah Hendriksen, a computer science and psychology double major, worked with Adams the summer of 2018. 鈥淭he purpose was to create an augmented reality teaching tool for parallel computing, as many of the concepts are highly abstract,鈥 said Hendriksen.

Collaborating with Adams and a researcher from the University of Auckland, she helped build an application which teaches parallel computing concepts through an interactive office simulation. 鈥淭hrough the research, I was able to better grasp the different complexities and uses for different types of parallel computing,鈥 she added.

Adams noted that a diversity of resources is ultimately the goal: 鈥淎t the end of the grant we鈥檒l have all these different pedagogical materials publicly available on csinparallel.org, and instructors around the country will be able to download them and integrate them into their courses.

鈥淚f you give students enough examples of how parallelism is used to solve problems, they start thinking and understanding the underlying patterns of parallel behavior.鈥