The following is the winning essay which \\ 2: I wrote for the 1996 Buhler Memorial Scholarship:
Question: What led \\ 6: me to choose CS as a major and what are my future career plans? \\ 7:
by Geoff Fortytwo
Something big happened in 1985. Something happened that would have \\ 10: far reaching effects in the lives of everyone in my family and which \\ 11: would significantly alter the course of my own life. 1985 was the year \\ 12: that my parents bought an Apple //e computer. My life would never be \\ 13: the same. I was 10 years old when that historic computer entered my \\ 14: life. Up until that time the only computer I had ever seen was my neighbor's \\ 15: Commodore 64 which I had been rarely allowed to use.
My parents had purchased the computer for the usual reasons like word \\ 17: processing and record keeping and its use was subject to strict control \\ 18: because of my father's fear that the computer would break down if used \\ 19: too much. (That fear was apparently unfounded because that faithful \\ 20: old Apple //e is still working today, with no problems, over eleven \\ 21: years from the day we bought it.)
My first uses of the computer were to play games, but as time went \\ 23: on I discovered BASIC. It seems to be a natural \\ 24: evolution for young programmers to embrace some version of a Beginner's \\ 25: All-purpose Symbolic Instruction Code and just as natural for "adolescent" \\ 26: programmers to learn to despise it.
I felt pretty good about myself when I wrote my first BASIC program \\ 28: which printed out my name in an infinite scrolling loop along the left \\ 29: side of the screen. Later on I progressed to the point where I was able \\ 30: to use control and input statements to create a program called "ICE \\ 31: BREAKER" which was an interesting little program that gave the \\ 32: user puzzles to solve and codes to break.
One of the more complex programs I wrote in BASIC was an Apple //e \\ 34: version of the classic text game of Empire which I was introduced to \\ 35: on some TRS-80's that my middle school used to teach typing courses. \\ 36: My classmates were wowed when they saw the game because it was so much \\ 37: like the game on the TRS-80 yet it didn't have the problem of crashing \\ 38: after a short period of game play and it had a number of improvements \\ 39: that I had added.
By 6th grade I had pretty much decided that I was headed for a career \\ 41: as a hotshot computer programmer and as a true child programmer I was \\ 42: able to apply my programming knowledge to good use. I was able to get \\ 43: out of having to spend money on birthday and Christmas presents by writing \\ 44: little programs that had my parent's name in them and displayed some \\ 45: sort of birthday or Christmas greeting. An example was one where I had \\ 46: an airplane fly across the screen on random lines with a message trailer \\ 47: behind it which said, "Happy Birthday Mom!"
BASIC carried me through my years of enlightened childhood, but sadly, \\ 49: at about the age of 15 I decided to put BASIC to rest. I had fallen \\ 50: in love with another language. I had become attracted to C. What attracted \\ 51: me most was the ability to separate code into things called functions. \\ 52: From my point of view today, I consider functions to be obvious basic \\ 53: necessities for programming of any type. Back then however, I was blown \\ 54: away by the utter coolness of functions. The only support for functions \\ 55: that Apple BASIC had at that time was a gosub instruction which allowed \\ 56: for separation and reuse of code, but all variables were still global! \\ 57: I attempted to buy a C compiler for the Apple //e, but when I asked \\ 58: the shop keeper at Walden Software if he knew where I could get one, \\ 59: he actually laughed at me! When he told me that none existed for the \\ 60: Apple I was left wondering what to do.
What I finally ended up doing was to get my parents to allow me to \\ 62: cash in the bonds that my dad had gotten using my birthday and Christmas \\ 63: money from years past and use it all to buy a computer. The computer \\ 64: turned out to be of rather poor quality, but it worked well enough to \\ 65: run the Borland C++ 2.0 compiler for DOS. I only used it to learn to \\ 66: program in C, but I was able to learn most of the basics of programming \\ 67: in a truly useful high-level language.
I wrote some simple programs such as "Mad Chad the Rad Bad Lad \\ 69: from Baghdad" and "Deadly Dungeon", but as I progressed \\ 70: I wrote more serious and goal oriented programs. I labeled one such \\ 71: program as a "Gravitational Vector Mapper" which computed \\ 72: graphical maps which showed the relative strength of the gravitational \\ 73: forces at different positions on the screen given a number of point \\ 74: masses at specified locations. I wrote the Gravitational Vector Mapper \\ 75: immediately before I entered college using C and a little bit of basic \\ 76: C++. At that point I knew what objects, templates, constructors, and \\ 77: destructors were and knew basically what operator overloading, and basic \\ 78: inheritance was. Beyond that I only knew that there was a lot more to \\ 79: learn about object oriented programming.
I continued to do some programming on my own outside of school, but \\ 82: it wasn't until I took a continuing education class on C++ that my eyes \\ 83: were opened to the true significance of object oriented programming. \\ 84: In that class I was enlightened about the wonders of dynamic binding \\ 85: and virtual inheritance 1. My \\ 86: interest in programming was energized and I haven't come down from the \\ 87: clouds since.
There are many reasons that I enjoy programming so much. The central \\ 89: reason seems to be that I'm addicted to the feeling of accomplishment \\ 90: that I get when I see a program that I've written running smoothly. \\ 91: The feeling that I've created something of my very own is one I cherish \\ 92: greatly. Beyond the innate pleasure of creating something, I also enjoy \\ 93: being able to show the result of my work to other people as proof that \\ 94: the many hours, days, and weeks that I've invested in my personal projects \\ 95: have actually produced something interesting, tangible, and possibly \\ 96: even useful.
I've since upgraded my career goals from wanting to be a programmer \\ 98: to wanting to be a software engineer. A software engineer is actually \\ 99: a superset of a programmer. A software engineer is involved in both \\ 100: designing and implementing software whereas a programmer merely implements \\ 101: someone else's design or hacks code without any prior design at all. \\ 102: I've learned the hard way how design is truly an important step in the \\ 103: overall software creation process.
I hope that upon graduation from college I'll be able to start my career \\ 105: doing something that I perceive to be important to the overall field \\ 106: of computer science. I dread thinking about the possibility that I might \\ 107: get stuck as a low level grunt worker who does nothing but update old \\ 108: code for computers that are far past their prime. I dream of doing things \\ 109: which would significantly effect the industry as a whole, but I realistically \\ 110: hope to become part of a software engineering team which would work \\ 111: to produce complex software for knowledgeable computer users. The specific \\ 112: type of software which I would be helping to write isn't terribly important \\ 113: as long as the software itself is important.
I've come a long way since my days with Apple //e BASIC and I hope \\ 115: to go a lot further. I've put a lot of thought into where and with whom \\ 116: I would eventually like to start my career and I'm certain that I will \\ 117: put a lot more thought into it before I finally find my place. Above \\ 118: all else though, I will never be satisfied in any career unless I end \\ 119: up working on a team with many other talented, intelligent, hard working \\ 120: computer scientists whom I can truly respect and admire. If I can achieve \\ 121: that, then I will be truly happy.
1 Actually, at the time I wrote this essay I did not know that I was actually referring to polymorphism.