What is Computer Science
Despite its name, computer science seldom involves the study of
computers themselves. Edsger Dijkstra,the renowned computer scientist, is
often quoted as saying, "Computer science is no more about computers
than astronomy is about telescopes." In other words, computer
scientists do not fix computers!
Computer science is the study of the theoretical foundations of
information (data), computation (logic), and programming.
Logic is how we express a solution (algorithm) to a problem (like
a recipe for making chocolate chip cookies - a set of rules and
guidelines). Programming is the process of developing computer software
representing our algorithm to logically process the
data we are interested in.
As with "inventing" a new type of chocolate chip cookie, there are a
lot of questions that need to be asked when developing a computer
algorithm/program:
- What is computable? Is everything computable? Are there some problems
out there for which no algorithm exists?
- What would an algorithm look like for a machine with several processors?
- What would an algorithm look like for a cluster of machines or a distributed system?
- How do we represent the algorithm? (Should we write our recipe for chocolate chip cookies in English, French, or German?)
- We need to verify the algorithm? (Will our chocolate chip cookies taste good?)
- We need to validate the algorithm? (Is it really a recipe for chocolate chip cookies?)
Therefore, to be a Computer Scientist, you need to master the basics:
programming languages, data structures, software design, and computer
architecture. However, there are many other topics of importance: computer
graphics, computational complexity theory (what is computable?), human-computer interaction,
software engineering, databases, and artificial intelligence.
Want to see some examples of things Computer Science students do?
Click here.
In a nutshell, if you enjoy logic, problem solving, mathematics, and
detective work, you are likely to enjoy Computer Science as a field of
study.