Background
I recently read an article called “Computer. Science. Paradox?” by Ben Rockwood which pointed me to a phenomenal project called “Great Principles of Computing.” The project’s founding principle is that Computing, not Computers are the center of our study and that the Science of Computing is, indeed, a natural science. This project touches on so many issues in the teaching of Computer Science and how we index our knowledge. It also provides solutions to so many frustrations I felt while working my way through the undergraduate Computer Science curriculum at the University of Akron.
In Ben’s post, he expressed his uneasiness with relating the words computer and science in one field and I now understand why. I had never really thought of the problem from that angle, but I was always disgruntled with the fact that most of my scientific knowledge came from my Anthropology curriculum, and almost nothing from Computer Science. Currently, Computer Science is not taught with a Jewels First approach, but I hope this will change with a different mind set of what it is.
The first thing which came to mind is how this relates to my education, my job and also to the recent cultural phenomenon called DevOps. I have concluded that this is because the field in which I work, large operations and deployments, are becoming more common and these deployments require a huge breadth of knowledge. This knowledge spans both practice and principle in the roles of the technician, engineer, and scientist. Those of us who participate in these functions welcome the chance to use such knowledge and welcome the challenge to grow. Though, my Computer Science education has helped, it did not get me here on a path free from frustration.
Science, Technology, Engineering
The following two quotes offer an excellent summary of my complaint with the teaching of Computer Science in it’s current state.
and
In summary, you are left to understand the aspects of the field that are technology, science, and engineering on your own. Second, you are taught the practice and principle in a convoluted mix which is never quite clear until some years after graduation.
Relation To DevOps
In 1608 Galileo constructed his first telescope. At first, he tried to use commodity lenses. When he realized that he could not get lenses which would produce a telescope with better than a 3X magnification, he set about learning to grind his own lenses. This is the case in many technical fields, but it is especially true in large modern web operations and development teams, such as Google, Facebook, Yahoo, and Twitter. They are blazing trails and building their own tools like Galileo. I think these folks are hungry to use their skills as scientists, technologists, and engineers. These are the people that have learned the right balance of each to get their job done and they have a passion for computing. I think if Computer Science was taught differently a lot more people would be this passionate about computing.
Conclusion
Computer Science did give me a background that couldn’t have been easily obtained any other way, but many programs don’t come close to giving you a solid foundation in science if you want to work in the field right out of school. The thesis of the Great Principles of Computing project is to realize that the science of computing is what we do, computers are what we use to do it. I hope this takes off in the academic world.
