13

So I‘m in my fifth semester studying Computer Science at a German university, so I‘ve only scratched the surface of Theoretical Computer Science, namely Logic, Formal Languages, Automata Theory, Computability and Complexity.

I know some people doing physics and engineering, and I always get this funny feeling that what they learn is so much more important and so much more useful, than theoretical computer science.

Don’t get me wrong. There are many very very interesting topics in TCS and it seems to answer a lot of questions. And frankly, I really like it.

I recently saw a video of Richard Feynman (the famous physicist), in which he explains a bunch of physical phenomena. It’s on youtube, it‘s a famous one, and it completely blew my mind and it just got me so giddy and excited. And in that moment, I reflected on what I was learning on the theoretical side of my CS degree and I secretly thought to myself, it‘s all very elegant, but this is really just a bunch of abstract, fancy notation, for something, which in comparison to stuff like calculus, mechanics, quantum physics, is not really that impressive in what it‘s saying.

Of course, some famous consequences and implications of Theoretical Computer Science, like the halting problem, are completely mind blowing; it just doesn‘t seem to me, to happen as often, as in other subjects.

So when I think of topics like classical mechanics and analysis and the little I know about some of the more advanced topics, I can always think of so many ways to apply them to the real world, and their connection to problem-solving seems so much more mature, clever and intricate than what I‘m learning on the theoretical side of my CS Bachelors.

This is probably some weird form of imposter syndrome. Or maybe I‘m simply studying the wrong thing. Maybe the teaching at my university is bad, or maybe I’m just not studying enough. And I probably just wrote a bunch of nonsense, and simply don‘t know enough yet (obviously, I don‘t).

But do other undergrads have this feeling, too? It really feels like I‘m completely missing the big picture. Or is this really just a me problem?

voltas1231
  • 147
  • 1
  • 4
  • 10
    You're asking on a research forum what other undergraduates are feeling? Maybe you could ask the researchers a questio, too. We'd love to answer. – Andrej Bauer Mar 13 '23 at 19:37
  • 1
    Having studied computer science as well, I can relate to this feeling. However, I got this feeling several years after graduation. I think mechanical engineers solve more interesting, more real-world problems than computer scientists. If you are more of a hands-on person, you will feel better in those areas. You even get to go out and actually see and touch what you've created. Sitting in front of a computer ALL the time is what bothers me most in my job (even though I like, just like you). – 8192K Mar 14 '23 at 10:09
  • 2
    Third semester and you already scratched the surface of Logic, Formal Languages, Automata Theory, Computability and Complexity? Sounds like you're studying at TU Dortmund :D (their computer science department does have a reputation for being "very theoretical"). Anyway, to give a glimpse of the big picture of computer science/computational complexity theory and where it all ends, I always recommend to watch this video. It shows how far the open questions of the field reach while still having profound direct applications in real life. – orithena Mar 14 '23 at 14:22
  • 1
    @Sebastian there is also the distinction between "theoretical computer science" and "software engineering". Just like mechanical, the former is all about theory and mathematics while the latter is about building useful stuff. If you really like building stuff you probably want a course of study that's less heavy on the former. – user253751 Mar 16 '23 at 12:11
  • 2
    theoretical CS is very much like theoretical quantum physics, calculus, or any other theory... in that it's science (understanding things) and not engineering (building things). – user253751 Mar 16 '23 at 12:12
  • 2
    One point I don't see mentioned is that, if physics starts more or less with Newton and TCS starts more or less with Turing, physics is nearly 300 years older. It's had far more time to progress through a series of paradigm shifts, which means both that there are probably more gobsmacking results, all in all, but also that it's much harder to find more such results! Nothing all that amazing to an outsider has happened in physics since about 1975, and most of the most striking real-world applications use theory that's well over 100 years old–older than the entire field of computer science. – Kevin Carlson Mar 16 '23 at 16:21

12 Answers12

25

As a theoretical computer scientist I am proud of the following achievements of the field.

  1. Logicians figured out that all logical connectives can be build from a single one, paving the road for modern digital circuits.

  2. Alan Turing invented the notion of a universal computing machine that could compute anything that could be computed. His ideas changed the meaning of the word computer, which used to mean "a human performing calculations".

  3. John von Neumann, in cooperation with engineers, developed a computational model on which all modern computers are based.

  4. Claude Shannon developed a mathematical theory of information whose applications extend beyond computer science, all the way to black holes.

  5. Quantum computers were invented by theoreticians, of course.

  6. Alan Turing invented artificial inteligence as a theoretical idea.

  7. Alonzo Church invented the $\lambda$-calculus, on which functional programming langauges are directly based. (I am partial to this one, being Alonzo Church's academic grandson.)

Seven is a magic number, so I'll stop here even though it was not easy to select just a few, and the list is far from exhaustive.

It is safe to argue that these are comparable to some of the greatest achievements in other sciences, and that they have had deep and lasting impact on humanity.

Andrej Bauer
  • 28,823
  • 1
  • 80
  • 133
  • 8
  • theoretical computer scientists invented RSA (and other awesome cryptosystems) on which the whole internet security is based
  • – PsySp Mar 13 '23 at 21:34
  • 1
    +1 This is a really fantastic answer by plumbing concrete achievements. Though, Mauchly and Eckert might characterize JVN as nothing more than outright stealing credit. ; ) – J D Mar 15 '23 at 19:30