←back to thread

166 points levlaz | 1 comments | | HN request time: 0.327s | source
Show context
ykonstant ◴[] No.41877090[source]
This is a great article and I especially liked the notion:

>Theoretical physics is highly mathematical, but it aims to explain and predict the real world. Theories that fail at this “explain/predict” task would ultimately be discarded. Analogously, I’d argue that the role of TCS is to explain/predict real-life computing.

as well as the emphasis on the difference between TCS in Europe and the US. I remember from the University of Crete that the professors all spent serious time in the labs coding and testing. Topics like Human-Computer Interaction, Operating Systems Research and lots of Hardware (VLSI etc) were core parts of the theoretical Computer Science research areas. This is why no UoC graduate could graduate without knowledge both in Algorithms and PL theory, for instance, AND circuit design (my experience is from 2002-2007).

I strongly believe that this breadth of concepts is essential to Computer Science, and the narrower emphasis of many US departments (not all) harms both the intellectual foundations and practical employment prospects of the graduate. [I will not debate this point online; I'll be happy to engage in hours long discussion in person]

replies(4): >>41877362 #>>41877761 #>>41878005 #>>41887503 #
1. nonameiguess ◴[] No.41878005[source]
Not all that interested in debate, either, but it's hard to tell what you're really claiming here. It isn't the case with departments I'm aware of, certainly not where I went to school myself, that someone can graduate with a CS degree having taken nothing but theory courses. Tenured researchers can eventually specialize in that, but even PhD candidates have to demonstrate broad mastery of the entire core of CS across multiple sub-disciplines.

Perhaps you're talking about the split between Electrical Engineering and Computer Science? That one isn't universal as some departments only offer EECS and not CS as a major, but when CS on its own is offered, "hardware" courses tend to be about microarchitecture, with practical work done using simulators. You're not required to know much of anything about electronics. But there is no program I'm aware of where a person can do nothing but math and get a CS degree. You have to write and test code.