Channels ▼

Jonathan Erickson

Dr. Dobb's Bloggers

Parallelism and Education: Rough Waters in a Sea of Change

September 13, 2010

One measure of the quality of education might well be how soon you find yourself employed once you're out of school. But the problem the past few years hasn't been in the quality of education, rather in the demands of the job market.

In other words, employers increasingly have demands that students can't meet -- and there's no better example of this than with parallelization. The solution? Schools need to go parallel just as much as industry, at least according to the panel "Parallelism and Education: Navigating through a Sea of Cores" at the Intel Developer Forum.

Moderated by Georgia Tech's Matthew Wolf, the panel included a mix of industry and academia that included Daniel Ernst of the University of Wisconsin-Eau Clair, Adobe's Kevin Goldsmith , Intel's Michael McCool, Thomas Murphy from Contra Costa College, and Ryan Newton from Intel.

Wolf kicked off the session by pointing out the challenges educators face when it comes to parallel programming:

  • What does the move to a many core platform mean to education in general, and the Computer Science curriculum in particular?
  • In the face of ubiquitous parallel systems, what CS core topics need to change?
  • What are the tools, languages, models and patterns that will allow academia to take advantage of this new platform?
  • How can Industry help?
  • What skills will hiring managers be demanding?

Adobe's Goldsmith is one such hiring manager who quickly pointed out that parallel programming is no longer considered a "special" skill, at least at Adobe where virtually all software created these days involves multithreading. Consequently, if job applicants can't demonstrate some knowledge of parallel programming, they likely won't make it to the second interview. "We look for people with parallel skills," said Goldsmith. From his outside-of-academia perspective, Goldsmith believes that parallelism needs to be integrated into the whole computer science curriculum, not simply a "parallel" class here or there.

Matthew Wolf's Parallelism and Education: Navigating through a Sea of Cores panel discussion at IDF2010

From inside academia, Dan Ernst concurred, explaining students don't need to be able to write highly optimized code, but they do need to be able to write "forward scaling code."

Michael McCool, who joined Intel when the company acquired RapidMind which McCool co-founded, acknowledged that one of the problems for students is that parallelism does make it more difficult to write correct code that performs well. To circumvent this problem, said McCool, curriculums need to emphaize stuctured design patterns, such as those McCool discusses in Structured Patterns: An Overview. Doing so is the first step students can take to become developers who efficiently create scalable and reliable parallel applications.

Understanding parallel algorithms and patterns were at the top of Tom Murphy's list too, while Ryan Newton pointed out that "technology will change, but paradigms -- like parallelism -- will have lasting power. Mathew Wolf closed in agreement, urging educators not to teach specific technologies, but teach to put technology in context.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.