I've almost made up my mind.
I'd like to think that I have. I swear, I've discussed becoming a teacher with several people now and encouragement is few and far between. Apparently its pretty far beneath my Earning Potential. Well, let me say this--I don't care, at all. Not at all. Not one damn bit. You know, its amazing, once you realize that the world is full of people who are money obsessed and you realize just how disgusting it is, it becomes very easy to walk away from that. I read an article this morning, front page of the Post (here it is), about a man who teaches math at NOVA in Annandale, lives in a condo in Northwest, makes $100,000 a year... and last year donated $60,000 to charity. Now that's something. This man doesn't have a home telephone. He thinks he might have to sell his condo pretty soon to pay for all his donations. The man has donated almost a million dollars in his lifetime--he keeps track of it all. His goal is to give a million dollars. Oh, and there's more! He gives a lot of this money to Habitat for Humanity, where he helps build all of the houses that he helps to pay for. How incredible is that? This guy doesn't take vacations, spends very little time on leisurely activities, and he's always got a smile on his face. What a life. I mean, I don't know that I want to do exactly that, but how can anyone not find this inspirational? I certainly do. As if I needed anything else to feed this itch I've got. There was a time when I knew that I was a computer science major because I enjoy it and can make gobs of money with it, but that's really not true anymore. I don't care about gobs of money, and frankly I'd rather do something meaningful, to me. Life is short, I hear. Each of us pass up millions of opportunities to do things that we would love to do. There just isn't enough time. So I guess I feel like I've got to make the best of it. I'll get my degree, get out, maybe graduate school, maybe, maybe even while working, but I really, really think I want to teach. I mean, here's a job where I can affect other peoples' lives in a very direct and meaningful way. Its a job where I can help other people to learn to do whatever they want to do, and if they don't know what they want to do, to help them figure that out. And I want to teach computer science too. But I want to teach it differently than I learned it. Computer science is apparently perceived by Others as difficult, which it is, but this is mostly due to their image of computer science being all about computers, which it certainly isn't. Computer science is about solving problems using the best technology that exists to do that. Its about solving large and complex problems too. But a lot of people do that, not such computer geeks, not just programmers. Surgeons do this, lawyers do this (to some degree, I guess); lots of people do this. Its just that computer science isn't typically laid out this way. In the minds of most people, even some people who have taken a few, even college-level, computer science courses, computer science = programming, or to use the less flattering term, coding (coding is just typing, programming is a hell of a lot more complicated than that). Anyway, this is patently false. Computer science isn't about computers--it's about algorithms. Applied computer science is, obviously, the application of those algorithms, aka programming. But the point of this is that lots of people use algorithms, without even knowing it. Lots of people have to do this. And furthermore, lots of people have to work on large problems. Why don't computer science courses require group programming projects? I've completed all the required C++ courses that I'm going to complete at Virginia Tech, and I have still never done a group programming project. Now I think there's something wrong with that, but I don't blame universities, and I certainly don't blame Virginia Tech. It's not a vocational school, and this isn't vocational training, contrary to what many people would love. High schools, on the other hand, do prepare students for vocations. A lot of high schools have lots of vocational programs. Computer science isn't really one of them though. But it could be, and without sacrificing its core goals. Computer science could be a class that teaches how to solve large, complex problems, and how to work with other people to do this. Yes, its got to teach programming, but programming isn't java, or C++, or BASIC, or any one language or many languages. The core ideas of programming have little to do with languages--languages are just collections of syntax. But programming in say, C++, teaches something else: how to solve a problem, how to really solve a problem. Because the thing is, when you think you've solved it, then you go and code it, and anyone that has ever been a novice programmer knows that the first solution almost never works when it comes down to execution time. There are lessons here. Attention to detail, thoroughness, diligence, and accomplishment (prograsm). Not every field is just like this, but many are. I think that there is more to computer science than just bits, or even just math.
