Pedagogy, innovation and convenience

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.

2 thoughts on “Pedagogy, innovation and convenience”

  1. I don’t think I am alone in thinking Brays proposal is a bit on the extreme side, but I do think there is merit in teaching students about the web.
    Even if the bulk of the CS curriculum were left in place, there could easily be additional Web-related electives offered to students at all skill levels. One such example would be a course which teaches the basics of HTML, CSS, UI design, etc. A follow up to this could be a course discussing web servers and server-side programming for creating dynamic pages (probably would need a programming course as a pre-req).
    The beauty of this approach is that the pre-requisites are minimal and thus students would be able to take them as early as they would like. It could serve as a decent recruiting tool for students unsure about a CS major. Jumping into HTML is likely going to make for an easier introduction then going straight into the classic intro. programming courses.

  2. I don’t think that this is exclusively (or event primarily) a matter of politics or agility. The problem with major changes in the CS curriculum — even changes that amount to merely shuffling “chunks” of knowledge into different organizational structures — is the lack of educational resources. Consider only the textbook issue. Almost all textbooks are written for “standard” courses. You might want to teach a course (or organize an entire curriculum) along threads that are orthogonal to the current course structure, but that would require that you assemble all of the needed educational materials yourself: the equivalent of writing a new textbook (at least). This is an enormous barrier to major change.

    In a situation in which people barely have enough time to keep up with their current responsibilities, imagine trying to develop faculty support behind such a major change, when it will involve the creation of a dozen or more textbooks, in addition to planning the curriculum and preparing all the new courses. The only way I can see this happening would be if someone came to a department with a big wad of cash and said, “I’ll give you the money to double the number of faculty lines for the next 5 or 10 years if you’ll commit to developing a completely new approach to CS education.”

    Even then, there would likely be people who disagree that there is a problem. As you yourself have written, one can make the case that we graduate plenty (maybe even too many) CS graduates. Perhaps we should just focus on students who find the subject matter inherently interesting, putting any “extra effort” into introducing slected CS concepts into other degrees. And, perhaps this other approach is roughly equivalent, from an learning point of view; what’s the evidence to the contrary? Would this just be the equivalent of buying a shiny, new toy that doesn’t do anything that the old one didn’t?

    So, yes, there’s always “politics” (or, alternatively phrased, “not everyone agrees with what I want to do”). But, I suspect that there would be greater agreement if significant resources and the promise of great intellectual influence were involved in this.

    If anyone’s got the money, drop me a line. :^)

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax