开发者

What is the technical definition of theoretical computer science? What subfields are included?

开发者 https://www.devze.com 2023-01-10 19:36 出处:网络
What is the technical definition of theoretical computer science?(Or, what should it be?) What main 开发者_如何学Csubfields does it include, and what is the commonality that separates them from the r

What is the technical definition of theoretical computer science? (Or, what should it be?)

What main 开发者_如何学Csubfields does it include, and what is the commonality that separates them from the rest of computer science?

More specifically: if some particular research has direct practical motivations, goals and outcomes but mostly involves very abstract methods, is it theoretical computer science or not?

Two examples to consider:

"Dual quaternions for rigid transformation blending" (Better mathematical representation of rotation and transform for animation) https://www.cs.tcd.ie/publications/tech-reports/reports.06/TCD-CS-2006-46.pdf

"Relational Semantics for Effect-Based Program Transformations with Dynamic Allocation" (Complier optimisation via denotational semantics): http://research.microsoft.com/pubs/67977/ppdprelational.pdf

[The Wikipedia article gives only a vague definition and a long list of subfields. Should just accept that there's no better definition than this? http://en.wikipedia.org/wiki/Theoretical_computer_science ]

EDIT: I guess this question comes down to "What does the term 'theory' mean in the context of computer science?". Looking at the 6 different meanings of the word at wiktionary, I don't think any of them fully fits. I guess the mathematical sense of a theory fits well for completely mathematical fields but not for others, and for VLSI, machine learning and computational biology from wikipedia:TCS it basically doesn't fit.


I think the easiest way to distinguish theory from application is to look at the field's definition of a computer. If work in the field is based on the assumption that a computer is a physical object or system, then it's probably application. On the other hand, if work in the field is based on the assumption that a computer is an abstract (usually mathematical) object, it's probably theory. So, when you decide whether to say you are a theoretical computer scientist, I think you just have to ask yourself, "what is a computer?"

(For me, it's definitely an abstract object)


This link contains a list of subfields: http://arxiv.org/corr/home, I won't reproduce them here as the link may change, and it would be redundant.

Also, I'm reminded of the quote of someone, can't remember who, along the lines of:

Mathematics is whatever mathematicians do

It would seem to apply.

0

精彩评论

暂无评论...
验证码 换一张
取 消