As computers and other devices start to house more multicore processors, the teaching of multicore programming is no longer for grad school students and rare 300-level courses.
The project “Responding to Manycore: Teaching parallel computing with higher-level languages and activity based laboratories” hopes to address the issue of being able to teach every student about the skills that only a few years ago were left to the very advanced computer scientists.
In August, Assistant Professor of Computer Science David Bunde and his colleague Jens Mache at Lewis and Clarke College in Oregon received an $82,382 grant to research the education of multicore programming in lower level classes.
“[Multicore processors] are going to be developed, but a lot of people don’t know how to program in these languages and it’s going to come to a point where everyone has to know how to do it,” senior Casey Samoore said.
This highly competitive grant, which will help fund research for the next three summers, will allow Bunde and Mache to hire two students at each college to assist with the project; it will also supply a large portion of the equipment and other necessary items.
The research for the project will be conducted predominately over the summer months, because that is when there is more time, Bunde said.
“The plan is that this summer people at both schools will learn a language and they’ll actually come here for a week and we’ll teach them our language and they’ll teach us theirs. Then after that we won’t actually meet face to face, but we will do video conferencing and every couple of weeks we will teach each other a new language,” Bunde said.
So far, the project has looked at a few different programming languages, but has only scratched the surface of the wide variety of multicore programming.
While the average student might not see any changes in their way of life at the completion of this project, every computer science student in a variety of institutions will see additions to current mid-level classes and feel the benefits of the ever-changing field.
The project looks to form “not necessarily a whole class but just incorporating something into an existing course. Because we already have a full slate of classes and we can’t necessarily add an additional course,” Bunde said.
Three students worked with Bunde during the first summer of research. Juniors Johnathan Ebbers, Sung Joo Lee and Samoore worked with Bunde looking at mainly three different programming languages and creating tutorials, lab plans and other educational tools.
“We ended up creating a tutorial for Chapel that we submitted to CRAY Technologies … because they didn’t have a very good tutorial. All they had, since they were relatively new, was a PowerPoint slideshow that listed general features … and then they had a programming language description which was this 900-page document,” Ebbers said. “So we had to kind of figure it out and we made a tutorial that would be a really simple tutorial to introduce undergrad students to this.”
For the students involved, the project has sparked their interest in computer science education.
“Right now I really enjoy teaching and I really like the idea of computer science, but I really want to work with people. So computer science education seems to be a good fit for me,” Samoore said. “The plan is to pursue that while at the same time keeping my options open.”
The project will hire two students each summer and the students will change from year to year due to graduations and other reasons, but it is possible that the last summer’s workers will apply again.
The group has gone to a few different educational conferences since last summer and will continue going to more educational conferences to inform computer science educators in their work.
“The idea is not that it improves Knox’s computer science program, but it improves all the computer science programs,” Bunde said.