Page Content
Tyler Denniston
Undergraduate student,
Northeastern University, Boston MA.
Candidate for a BS in
Computer Science, 2012.
I can be reached at
tyler "at" ccs "dot" neu "dot" edu.
My resume is available on request.
My current research project is
URDB (Universal Reversible DeBugger).
Word Tools (two simple experimentations with CGI programming and regular expressions)
Why am I a Computer Scientist?
Studying Computer Science is unlike studying mathematics, physics, biology or chemistry. This field of study we've chosen is unique in that our reality is entirely dictated by ourselves. In our world, there are no absolutes: only an endless series of arbitrary choices made by our peers and predecessors.
Imagine living on an Earth where you could pull back the crust, delve into the inner workings, and
change them to your heart's content. Don't understand how something works? Open it up and take a look for yourself. That freedom to tweak, to modify, to create and understand is addictive. Talk to any practicing computer scientist and they will tell you this is the reason they are so hooked to their work. In our world, we have that freedom quite literally at our fingertips.
With the expressive power to create such complex systems comes what can be a great frustration. As your creation grows, it grows in complexity. Without careful management, you can quickly get mired in the muck of your own creation and even the simplest tweak becomes an impractical hassle to make. It takes great skill and experience to be able to correctly manage such complexity.
A quote from Professor Fred Brooks perfectly encapsulates what is, for me, simultaneously the draw and greatest frustration of Computer Science.
"Software people are not alone in facing complexity. Physics deals with terribly complex objects even at the 'fundamental' particle level. The physicist labors on, however, in a firm faith that there are unifying principles to be found, whether in quarks or in unified field theories. Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary.
No such faith comforts the software engineer. Much of the complexity he must master is arbitrary complexity, forced without rhyme or reason by the many human institutions and systems to which is interfaces must conform. These differ from interface to interface, and from time to time, not because of necessity but only because they were designed by different people, rather than by God." [1]
[Replace God with your favorite deity or natural force as desired.]
This is why I am a Computer Scientist.
[1]: Fred Brooks.
The Mythical Man-Month. Chapter 16, "No Silver Bullet," p. 184. 1986.