|« September 2014|
Patrick's suggestion (which I can't believe I didn't think of myself) is to teach them more about the history of our field. We don't have to make computer science students scholars of computer history, but we should give them some idea of the rich scope of the topic. Introductory computer courses tend to cover Babbage, Turing, and von Neumann, and then skip straight to Bill Gates. And for most CS students, that's the end of it.
Michael's suggestion is this:
... professors often understand the distinction between teaching skills for their own sake and teaching them as applications of more general principles. It's important to convey that to the students as well. Giving an idea of trends and perspective helps breed the kind of healthy skepticism about tools and paradigms that Glenn mentions.That's absolutely right. All too frequently I meet young programmers who are confused about that -- they think the particular techniques and tools they were taught are the fundamental things.
Here are the other things I've thought of:
The first question after I concluded was from a TCU Computer Science professor who said, "As an academic, what can I do to prepare my students for environments like this?" My first answer was, "Can we have lunch? Because the answer to your question is long." But then I gave her a short answer: teach your students not just to write code, but to read it, and read code written by other people, and then to add features to it to test whether they've understood it. She seemed happy with that (I gather she's already doing a lot of that, as well). But there is more to it than that. Here are some things I've thought of:
If anybody has any more ideas, please let me know. (Also let me know if you disagree with any of the ones I listed.) She's hip, she gets it, and we certainly need computer science professors who genuinely want to know the answer to the question she asked. I want to give her great answers.
The funny thing, to me, is where I think it came from. A few months ago, while Dave and I were having lunch one day, he mentioned that he was reading a book about the history of nursing. My first thought was "that's weird," followed immediately by "I bet he'll learn something interesting that applies to programming." And sure enough, there are strong hints in Andy's talk that they learned of the Dreyfus model through historical connections with the nursing profession.
One of the slides makes this point:
Experience comes from practice. (Broad and general, not narrow and specific.)Dave and Andy certainly cast their nets wide, and they are prime examples of the value of a generalist approach.