definition of "computer science"
Even though I’ve only just begun my degree in computer science, I’ve got a lot of questions… and opinions. Starting with the very definition of this science itself. Like everything else in comp. sci., the answer to the question of how it’s defined is mired in controversy. Some academics (maybe even epistemologists!) will tell you that computer science is not simply the study of computers, as that kind of definition excludes branches of study that are strictly theoretical. On the other hand, if you maintain that comp. sci. is only the study of programming then you’re also not really doing justice to the subject.
Where does that leave us? If we look back a little further in history, we’ll find someone who can help: one of the first people to formally describe step-by-step procedures for completing arithmetic operations. In my humble opinion, this is where it all starts. His name was Muhammad ibn Musa Al-Khowarizmi. The word, "algorithm" is derived from a Latin translation of his last name. He was a famous Persian mathematician during the 9th century, and his work helped to found computer science as we know it today.
When a task force was formed in 1989 by the Association for Computing Machinery, they were able to provide the following short definition of computer science as the: “systematic study of algorithmic processes that describe and transform information.”(link opens new window)
It’s difficult to imagine the discipline of computer science without the study of algorithms. Computer technology has arisen from our ever-pressing need to obtain more efficient and precise algorithms.
So far, what I like best about comp. sci. is finding the right balance between theory and practice. If it weren’t for advances in hardware and computer engineering, many of us programmers would be hard-pressed to write applications at all. The whole practice of finding the most efficient way to do something is fundamental to both the theoretical underpinnings of this science, and the actual machines that we build to test our theories out. This is why my own explorations in computer science are founded in a study of algorithms.
If you’re interested in learning a little more about programming, I’ve got a tutorial you might enjoy (courtesy of Glitch): https://glitch.com/edit/#!/fwd-tut-1-static-html