English | 中文 | Русский | Français
2,556 Posts served
8,271 Conversations started
Now that multicore computing platforms are standard issue (can you even find a single-core system for sale?), a fraction of the academic community is beginning to at least think about adjusting their teaching focus, to align with this reality.
Given that context, it was startling to hear a panelist at IPDPS (in Miami, a couple of weeks ago) assert that parallel-processing topics have been disappearing from CS curricula in recent years. As anecdotal evidence, he pointed out the topic’s removal in the 2nd edition of Introduction to Algorithms (the elegant tome otherwise known by its authors’ initials, CLRS).
Could this possibly be true? Before rushing off to blog, I had to check. First, find an old copy of CLRS, oops, CLR in those days. Sure enough, there was a whole chapter called “Algorithms for parallel computers” which had gone missing in the current edition. Hmm, perhaps parallel concepts were infused into the overall approach? After a couple of long evenings getting reacquainted with CLRS, I had to conclude: no, it’s simply disappeared.
But perhaps this example is a weird one-off, a singular anomaly offset by broader trends? After all, schools like UC Berkeley introduce concurrency in the freshman course, and we here at ISC work with many schools on this topic. Further, googling the obvious keywords pops over a million hits, so things would appear to be, reassuringly, busy.
No. The panelist’s observation is accurate. If anything, the situation is worse than described. Here are some unhappy details:
Way back in 1995, IEEE Computer published an article, Parallel Computing in the Undergraduate Curriculum, by profs at Colgate. As stated in the abstract, “The author describes how parallel computing can be integrated into courses throughout the computer science undergraduate curriculum.”
Good stuff. So, what is Colgate doing now, 13 years later? There is one course on the topic, at the advanced level only, and it is NOT required for the CS major.
Still 1995: the First Wellesley Forum on Parallel Computing Curricula. Brown university presents a paper called Integrating Parallelism into the First Theory Course
Good stuff. So, what is Brown doing now, 13 years later? They list a single grad course, offered occasionally -- btw NOT this year.
Forward a couple years, to ITiCSE ’97. George Washington University presents a paper, Concurrent programming CAN be introduced into the lower-level undergraduate curriculum. They even refer back to ACM standardization efforts in this area, from 1991.
Good stuff. So what is GW doing now, 11 years later? At last, something: in one required course, called Software Paradigms, we read among the topics: “concurrent software design paradigms and patterns”. Excellent. I’m going to contact this prof, Michael Feldman, maybe buy him a beer – uh, hold that thought, Feldman is listed as retired…
One more. Forward to the OOPSLA 1998 Educators’ Symposium, where Loyola of Chicago is arguing: “that a computer-science curriculum should introduce the principles of concurrent programming in an integrated, coherent, and application-independent fashion early in the major.”
Good stuff. So, what is Loyola doing now, 10 years later? Sigh. One advanced class, NOT required for the CS major. No evidence of concurrency in other courses.
The pattern is monotonously repetitive. Forward-looking academics looked at the parallel computing challenge a decade ago, announced they would champion a solution, and saw their efforts, for the most part, defeated. What happened??
I’m headed to ITiCSE ’08, in Madrid this summer, to tilt at this windmill myself. Those of us looking to retire the now-obsolete sequential assumptions, baked into 50 years of CS curricula, do enjoy one serious advantage not available to those courageous predecessors: multicore computing platforms are now the norm. Recognizing that reality, let’s make the adjustment time short.
| June 9, 2008 11:59 AM PDT
Dan Ernst
|
The papers on the program for ITiCSE has been released on their website (http://db.grinnell.edu/sigcse/iticse2008/Program/Program.asp). From a cursory glance, it appears the only work even remotely related to the multi-core "elephant in the living room" is Michael's session, along with the paper that I wrote (http://db.grinnell.edu/sigcse/iticse2008/Program/viewAccepte.....Number=110) with my colleague at UWEC. Hopefully, the momentum will begin to swing back. There's a lot of old research on parallelism in the curriculum - from when parallel computing was the darling of the industry. Perhaps its time to spread it around again? I'm looking forward to seeing you again at ITiCSE in a few weeks! |

drtjmc
5
Registered User