Lance Fortnow's blog entry Selling Theory raises several interesting issues, and I have three things to say about these.
Regarding the comment:
But [NYT's] Tuesday section Science Times has moved over the last couple of years from a general covering of science to a focus on medicine, environment and astronomy. Not just computer science but physics and chemistry get far less coverage than they once did.One very important reason for this, in my opinion -- and I've often expressed this opinion in the past -- is that the latter fields (medicine, environment, astronomy) all have big goals that can be concretely stated so that an eighth grader can relate to them. "Cure cancer" or "300mpg cars", or "Flight to Mars" are all crisply stated, easy for a young mind to latch on to, and are more or less legitimate ambitions of the fields. Theoretical computer science, even Computer Science, lacks such ambitions. "Computers you could talk to" is about the best I can come up with that the median-quality high-schooler could understand. Perhaps something about doing functional genomics might appeal to smart undergraduates, but that's probably perceived more as a career in biology than in CS. Notice that physics, chemistry, etc. all have the same problem --- you could appeal to an eighth grader's imagination by talking about the expanding universe (or multiverse), but it's not tangible enough.
Computer science is a victim of its own success, by making computers powerful, easy to use and well-connected, we have turned computers into a commodity like cars with the mystique of computation and complexity lost on the users.I don't think this is necessarily bad --- there are more users of automobiles than there are engineers working on building better ones, and even fewer scientists (or even "theoretical engineers") who think about the underlying laws of physics.
Finally, getting back to "selling theoretical computer science", I think we have a real problem. It's not so much that The New York Times doesn't write about what happens in TCS and why it is important. How many computer scientists that are not theorists appreciate the importance of theory? We need to do a much better job of convincing our colleagues in our departments, our graduate and undergraduate students that theoretical CS is not an arcane area of investigation, but a lively, vibrant area that, on the one hand, has deep philosophical and mathematical ramifications, and on the other hand, has real connections to the world around us. I think we simply cannot afford to have undergrad CS majors walk away with the feeling that this an anachronism in the day and age of the Internet (which they might if all they study are context-free languages and all-pairs-shortest-paths in the abstract form). The rest of CS has, in my opinion, done a better job in keeping up with their own growth. We don't seem to be offering any hint to the smart undergraduate that TCS is a constantly evolving discipline (just in the last ten years, we have had game theory, quantum computation, massive data set computations, etc. blossom from marginal curiosities into full-fledged multiple STOC/FOCS sessions). Jon Kleinberg's Information Networks, Michael Mitzenmacher's Algorithms at the end of the wire, the CMU course Algorithms in the real world, are all excellent examples of what we can do to improve the perception of TCS within computer science departments.