What are the basic principles of computer science? |
What are the basic principles of computer science? |
From here the field has a bunch of different areas that investigate aspects of this including things such as how difficult a problem is to solve, what kind of hardware is required to be able to compute a solution, the efficiency of an algorithm to solve the problem, data structures which make solving the problem more efficient, etc.
But ultimately the field is the study of efficiently in computing a solution to problems.
What about the study of code generation and parsers? What about state machines? Or formalisms like relational algebra, algebraic type theory, distributed protocols, or lambda calculus? None of these things are "about" efficiency.
by studying the subject one is supposed to learn how to think about layered computer systems; However upon closer study each layer turns out to be of very different nature; what has the network in common with the sql database?
Well, there here are several basic fields such as algorithms / data structures / some understanding of complexity, without them one can't really understand much of anything. So these are the bricks and mortar used in the field.