Organizing learning around courses implies the creation of groups and a tight control by professors. It is convenient to organize students into classes, and grade students by topics. Industry-based economies are similarly convenient. They are hierarchical with a clear reporting structure. However, it is slow-moving and boring.
Tim Bray is proposing to rearrange Computer Science degrees in a Web-centric manner. Here are some arguments he could have used:
- Many prospective students are interested in Computer Science precisely because they think that the Web is cool! I am certain a Web-centric curriculum would attract more students.
- Web technology is an endless source of Computer Science applications. For example, Web sites presenting sorted lists will be faster when using Quicksort than when using Bubble sort, Google uses Graph theory to quantify the relative importance of Web sites and Amazon uses Machine Learning to recommend products.
Alas, most schools are simply unable to be so agile. Simply picking a Computer language can be a political issue. Changing the pedagogy of several core courses within a few years might be impossible. Thus, nearly 20 years after the invention of the Web, many Computer Science programs barely address the Web.
My solution? My dream? I wish I could work within open problem-based Computer Science programs. And the fact that professors spend so much time with graduate students tells me I am not alone. And do not tell me it is not possible at the undergraduate level: people have been doing it for years in biology and medicine. But it is inconvenient.