Theoretical Computer Science – An Introduction [pdf]
www-cc.cs.uni-saarland.de
Theoretical Computer Science – An Introduction [pdf]
1–10 of 19 posts
Re: Theoretical Computer Science – An Introduction [pdf]
#2Re: Theoretical Computer Science – An Introduction [pdf]
#3It's the computer science analog to latin for modern day languages... Perhaps less than.
Re: Theoretical Computer Science – An Introduction [pdf]
#4This document stretches a little over 200 pages and it would be helpful if it included a table of contents so we can get a feel for what it's all about.
Re: Theoretical Computer Science – An Introduction [pdf]
#5God. I did all this years ago, even wrote a masters thesis on formal verification. And I can actually not remember a single time when this was actually useful, other than perhaps really obnoxious interviews. Don't get me wrong, it's interesting, and if you get through this and understand the matter it will make you a better computer scientist. But it's really not very applicable at all. It's the computer science anal…
modern languages : software development (applications)
linguistics : theoretical computer science (theory)
Latin : Turing machines (classic models)
If all you are interested in is applications, you can mostly ignore the theory, but sometimes theoretical considerations help you think more abstractly about your application to gain more insights.
The classic models are mostly only relevant to theorists who can use them as objects of study, if they so choose.
Re: Theoretical Computer Science – An Introduction [pdf]
#6God. I did all this years ago, even wrote a masters thesis on formal verification. And I can actually not remember a single time when this was actually useful, other than perhaps really obnoxious interviews. Don't get me wrong, it's interesting, and if you get through this and understand the matter it will make you a better computer scientist. But it's really not very applicable at all. It's the computer science anal…
I think a better analogy would be modern languages : software development (applications) linguistics : theoretical computer science (theory) Latin : Turing machines (classic models) If all you are interested in is applications, you can mostly ignore the theory, but sometimes theoretical considerations help you think more abstractly about your application to gain more insights. The classic models are mostly only relev…
Software Engineering = Mechanical Engineering
Computer Science = Science/Physics
A lot of the mess we have in software development comes from thinking that you can build massive bridges without understanding of physics. Or by imitating other massive bridges without understanding why they are the way they are. Yes, you will work 99% of the time on other things that physics, like building materials and design and use cases, but it can get really really nasty without the foundation.
Re: Theoretical Computer Science – An Introduction [pdf]
#7Earlier quoted context omitted.
I think a better analogy would be modern languages : software development (applications) linguistics : theoretical computer science (theory) Latin : Turing machines (classic models) If all you are interested in is applications, you can mostly ignore the theory, but sometimes theoretical considerations help you think more abstractly about your application to gain more insights. The classic models are mostly only relev…
I think it's closer to think of it in terms of Software Engineering = Mechanical Engineering Computer Science = Science/Physics A lot of the mess we have in software development comes from thinking that you can build massive bridges without understanding of physics. Or by imitating other massive bridges without understanding why they are the way they are. Yes, you will work 99% of the time on other things that physic…
To take your analogy, my view is that in practice it is considered that we should hire physicists or mathematicians to design and engineer bridges. "Engineering" is almost sneered at as being somehow inferior or a trivially learned skill.
Re: Theoretical Computer Science – An Introduction [pdf]
#8Earlier quoted context omitted.
I think it's closer to think of it in terms of Software Engineering = Mechanical Engineering Computer Science = Science/Physics A lot of the mess we have in software development comes from thinking that you can build massive bridges without understanding of physics. Or by imitating other massive bridges without understanding why they are the way they are. Yes, you will work 99% of the time on other things that physic…
I disagree. I think many of the problems in software development as practiced today originate from thinking that the theory is all that is necessary. To take your analogy, my view is that in practice it is considered that we should hire physicists or mathematicians to design and engineer bridges. "Engineering" is almost sneered at as being somehow inferior or a trivially learned skill.
This is such horseshit. Computer Science gives you the intuition needed to guide you to making more correct decisions you make in building your software rather than wrong. When you have these practitioners hitting the scene all of a sudden who just simply learn xyz latest framework/tool/fad and then are faced with a new and interesting complex challenge (for example, computers all of a sudden now have multiple cores! surprise!), they do not have the background to adapt and spend much time cutting their teeth, creating many bugs in their wake.
If you think that having the theory makes you write worse software, I feel bad for you because your computer science education must have been shit and you probably wasted your money. In that sense I understand the bitterness that a lot of people have.
Re: Theoretical Computer Science – An Introduction [pdf]
#9Earlier quoted context omitted.
I disagree. I think many of the problems in software development as practiced today originate from thinking that the theory is all that is necessary. To take your analogy, my view is that in practice it is considered that we should hire physicists or mathematicians to design and engineer bridges. "Engineering" is almost sneered at as being somehow inferior or a trivially learned skill.
> I disagree. I think many of the problems in software development as practiced today originate from thinking that the theory is all that is necessary. This is such horseshit. Computer Science gives you the intuition needed to guide you to making more correct decisions you make in building your software rather than wrong. When you have these practitioners hitting the scene all of a sudden who just simply learn xyz la…