The idea of solving problems by breaking down solution steps and running them in parallel is exciting. However, identifying areas where the solution to a problem can be parallelized is the largest problem. As critical is analyzing whether or not the administrative overhead that goes along with parallelization is going to negate the benefit. Put more succinctly, computer science curricula should emphasize this kind of analysis well before introducing the techniques for achieving parallelization.
Donald Knuth's skepticism over the benefits of concurrency makes me want to rethink my own assumptions.
I haven't really seen anyone describe the changes that should be made to curricula. Do any educators on this thread have specific changes in mind?
Donald Knuth's skepticism over the benefits of concurrency makes me want to rethink my own assumptions.
I haven't really seen anyone describe the changes that should be made to curricula. Do any educators on this thread have specific changes in mind?