Hey there. I'm 19 years old and I'm currently a student at a local community college. I came into college thinking I wanted to be an engineer, but after a few engineering-specific courses (Statics) I decided that engineering is not for me. Now I am looking into computer science and I am really excited about getting involved with it, but before I get in too deep I've got a few questions that you kind folks might be able to answer:
1. Unfortunately there is no computer science program at my current college, so I can't really start my computer science classes until I transfer to a four-year university, which I was planning on doing next Fall (2011) anyway. But now I am considering sticking around here for another year or two to get my Associate's in Applied Science in Information Systems Technology with a specialization in Computer Programming, thinking that getting a little familiarity and experience with various computer programming languages (Visual Basic.NET, Java, C++) will make things easier for me in the future in pursuing my degrees in computer science and later in my career. So my first question(s): How essential is computer programming to computer science? Would it be worth my time to take a year or two to pursue this Associate's Degree?
2. When I think of companies that hire graduates of computer science, I think of IBM, Google, Microsoft, and NASA. Obviously I would be ecstatic if I got an opportunity to work for any of these companies, but I come from a relatively small town and working for one of these companies seems like a bit of a long shot for me. Do only large companies such as these hire computer science graduates? What other kinds of companies hire computer scientists?
3. If you feel like it, explain in your own words what computer science is. I've been doing some reading and I think I know what it is, but different perspectives and explanations are always nice.