<p>"However, I've been reading all these articles about how computer science is becoming a more popular major because it leads to A) job security and B) high salary."
- Generally not the best reason to choose a college major. Not only can the world of work change easily in a few years (dot com bubble, current housing collapse, etc.) but to be good at what you do you need a passion that comes from something besides hope for easy payout.</p>
<p>"I'm not sure how strong my university's computer science department is because it is a liberal arts school (strong business/communications programs). "
- Is it ABET-CAC accredited? Does it require roughly the following coursework:
... calculus I and II (possibly also calculus III, differential equations, and linear algebra)?
... probability and statistics?
... discrete mathematics?
... programming (generally 1 to 3 courses in Java, C/C++, etc)?
... computer organization or architecture?
... algorithms and complexity?
... theory of computation or formal languages?
... applications (graphics, AI, networks, operating systems, languages, etc.)?
If the general consensus is "yes" on these, then the program is probably fine.</p>
<p>"I took an introductory course in computer science and enjoyed it. However, I had an easy professor and I'm not sure how much I know compared to students at other colleges."
- I wouldn't worry about what other people know. Did you learn useful information? Can you write basic programs in the language used in the course? Was there emphasis on computational thinking? If so, the course was probably helpful and useful and the grade you received for it a non-issue. Some of the most useful courses I have taken had some of the easiest grading systems... no correlation there at all. I could teach a course about tying shoes and fail half the class, but that doesn't make it hard or worthwhile.</p>
<p>"I'm not as strong in math and logic as I am in other subjects - it often takes me longer than most to figure out problems, etc."
- More important than ability is interest. If you like working out problems and seeing that you have the right answer, that's better than being able to divine the answer. A lot of hotshot teen coders are gifted in that way and honestly aren't worth their spit compared to people who had to work for it. Trust me.</p>
<p>"My school also has a very small computer science department, and a good handful of CSC professors didn't get very good ratings..."
- How small is very small? You probably don't need more than 5 professors to get a good education in any major subject. And who did the ratings? If students did the ratings, summarily ignore the results.</p>
<p>"So, I don't know what to do. I'm about to start my sophomore year in college and if I'm going to switch majors, now would be a good time...before I take organic chemistry. I'm thinking maybe I should go ahead with the science major and just minor in computer science. If I did minor, is it possible to go to graduate school for computer science with just a minor?"
- It is possible, but you'll need to make sure you take enough CS courses, and the right CS courses, to satisfy prerequisites at the graduate programs to which you want to apply. For instance, you will likely need to have taken around 5 of the courses I mentioned above, including... programming in some C-style language, algorithms/complexity, basic organization/architecture, operating systems, and theory of computation / formal languages. But check with the graduate programs you are interested in. Also, double majoring is possible between CS and many scientific majors, and I doubt yours is an exception. Check your department's rules for double majoring. It will make your life a lot easier if you can call yourself a CS major when applying for jobs / graduate programs.</p>
<p>"I could transfer, but it would be a messy process and one I might come to regret later on. I'm in a special honors program at my school with a scholarship and an obligation to do a thesis in my major before I graduate."
- I'd say stay where you are. You have a good thing going there. If you can swing a double major, it should be easy to do a thesis in some interdisciplinary area (bioinformatics? algorithms for computational biology? etc.) with advisors in both departments. At a LAC this should not be unheard of and the administrative people will likely go for that in a second.</p>