Why I like CS:
Though I don't think CMU would appreciate this as my essay:
Computer science is one of those few subjects that allows for discovery. There is something about staring at something… knowing where you want it to be… and just trying to get it there.
You have the tools, and luckily if you don’t, you can create them. The only limiting factor is your own creativity. I find this intriguing. I like knowing that I am capable. It is a sort of challenge. Everyone knows you can do it, show them. Take what you know, take the problem and solve it... simple enough. RoadBlock. Circumvent.
It is never over. It can always be more efficient: smaller or larger, faster or easier to read. There is no… finished. There is only good work. I like to do good work. I like the room for improvement.
Many times I stood at the windows around my desk with a dry erase marker, drawing data structures and flow charts. Diagramming my code trying to find that one wrong turn I was making. It’s a puzzle. I like puzzles. They make me happy.
The sight of an elegant algorithm is something I stand in awe of. It is amazing to look at a piece of code and realize how intuitive it is, and yet how difficult it would be to come to that without being guided.
I am an epiphany junkie, and computer science is chocked full of ‘em. That light bulb and I are friends. Staring at code, tracing it from top to bottom, over and over and over, only to realize that the loop’s erratic behavior can only be caused by one thing… that variable ‘j’ which is incorrectly initialized. *bing* … Alright, now what is wrong… off by one.
I remember specifically an assignment given to me in the second AP course. We were told to reach the center of a linked list, of unknown length, using only one loop. There were a thousand solutions to the problem. My classmates and I took the instructions and hunted for loopholes… I traced and copied it into a structure with random access divided the length by two and plucked it out, terribly inefficient. Another student reset the loop counter so as to get second traversal. We worked for hours, sharing solutions, criticizing, laughing. The “correct” solution was elegant and intuitive. I love that slap in the face.
I like the frustration. There is this error, on line 41…missing semicolon…recompile. 12 more come up in the place. I like: “Error 314: Too Many Errors.” I like the methodical process of looking past what you have done and what you were trying to do, to find what you didn’t do.
I like the interdisciplinary opportunities. Computer science is like being an artist, it isn’t your brushes, paint, or clay that make you an artist, it is what you create. It is exciting that computers have become integrated into our every day lives, and the more we rely on them, the more important it is for those creating the computers and programs to understand the other fields. I love chemistry, physics, and biology. I love museums and microwaves…
I like math, useful math. I like numbers to explain the world around me. There is nothing more satisfying than using the math you have learned. Math and computer science are tight, tight like brothers.
I like problem solving, and mathematical proofs. There is that dull feeling behind my eyes when I have looked at a chalkboard, whiteboard, or window too long. Sometimes, you must work backwards because that is the only way that makes sense. Sometimes you take something simple and build, while other times you take something complex and break it down. I like it both ways. Humpty and Dumpty.