Isn't it funny, how the more absolute the certainty, the more fleeting it is? The more sure you are, the less time it is before something changes it?
I'm still certain about being a CS major. It has been wonderful for me: programming is fun, and I've been enjoying my CS classes. I've had trouble with course selection because I can only take a finite number of courses in one semester; it's all so very interesting, I don't want to decide!
And most critically, I'm learning it. And I'm discovering that yes, I seem to have some innate skill for it, it comes naturally to me. I am learning it quickly, learning it well, learning it easily, and leanring it to play with it: the better I understand it, the more fun I can have with the challenges set for me to use programming ability- most commonly my Computer Science labs, but I'm going to start a short-term programming project at the end of the semester (goal: have it done before summer semester). I am discovering that I can do this, and I like doing this.
And what seemed so impossible, so far beyond my comprehension, is right here. What seemed impossibly complex is clear. This terribly complex application- I see how it could be built, from simple utility functions, woven into more complex next-level functions that don't have to worry about the "innards" of what the other function is doing, and then the next level of abstraction, and on up until you realize you've finished the program and it never got particularly complex, because the complexity was spread out. And I begin to understand, I realize that I can do this and so much more...
So much more. I will leave the video games to the other programmers, because there is so much more I can do. There is the knowledge, the skill, and the opportunity- and I am gaining the first, gaining the second, and the third is here, on this campus. I will have the opportunity to do things far more important in the world than video-game programming, and I intend to take it. Call me egotistical, but can't I do better than creating entertainment? There's certainly nothing wrong with doing it, but I can do more. I have the power to create things that will change the world. It is here.
And it is not an etheric future, a fleeting thought. It is immediate, for "one semester away" definitions of immediate. These things that I dreamt of doing, of wanting to do, and then putting away knowing that there would be so many more skilled than I- they are here. They are waiting. And if one opportunity passes, two, three as I study- there will be more, but I can't just bide my time- I have to know what I want, and take it.
New goal: Be on Project Aria by the end of my sophomore year, preferably by the end of the next fall semester, as I will have completed every prerequisite needed to assist in the creation of the Akoya Research Satellite at that time. OR: Be on the Open NetLab project, in the same time period. This one involves creating a suite of tools to simulate weird situations and normal operating conditions to test a new variety of network router invented at Washington University. OR: Whatever other research opens and strikes my fancy...
Because at the end of next fall semester, I will have completed Advanced Algorithms, and Object-Oriented Software Development Laboratory- and those fulfill the prerequisites for almost every project on the list. And then I'll have the chance to do what I always wished to be able to do- programming that actually matters- and I intend to take the opportunity.