Who should major in Computer Science?

<p>Hello I am currently taking an intro to CS course right now and my professor told me that the book that we are using pretty much has a chapter on each course that one will take as their upper division courses. I’ve looked at some of the chapters and it pretty much talks about quantitative side of programming, things like artificial intelligence, and circuit theory.</p>

<p>I am currently not interested in majoring in Computer Science but there are chances that I may eventually want to minor in it. I was wondering if someone who wants to become a very good programmer should major in it. Are Computer Science majors generally much, much, better programmers than non Computer Science majors? Can someone be a non-CS major and still excel at say C++, Visual Basic .NET, and Matlab and be better at these languages than a CS major?</p>

<p>I know a lot of students equate Computer Science to programming although programming is only a tool used in Computer Science and because they are disillusioned with what they think Computer Science is, they end up switching majors once they find out what it really is. A lot of these students just want programming jobs or want programming skills and Computer Science is more than enough for that.</p>

<p>So, could someone who is a non-CS major be just as good or probably an even better Software Engineer than a CS major?</p>

<p>Who is Computer Science for?</p>

<p>First,</p>

<p>Typically, a computer science major will excel at programming due to the obvious–they have had 4 years of training in it. A good CS curriculum will teach you the individual programming languages but more importantly it will set up the framework for approaching problems from an analytical stand point and then trying to create a good solution. Now I’m not saying you can’t be greater than a CS/SoftwareEng in this matter. In fact, with diligent training and perhaps a knack for problem solving, you’ll be quite fine. There are also other majors (Math, Physics, Engineering) that will sharpen your analytical skills and help you get in the same CS mindset.</p>

<p>The only problem is that typically this isn’t the norm and that the CS specific training will gear you towards programming problem solving.</p>

<p>Now in regards to the specific languages: C++, Visual basic.net and MATLAB–most engineering degrees will have a class or two covering the basics of these languages .</p>

<p>So, could someone who is a non-CS major be just as good or probably an even better Software Engineer than a CS major?</p>

<p>Yes. I would say that if you want to be JUST a programmer then I would not even go to college and just enroll in a technical/vocation school such as Chubb.</p>

<p>Who is Computer Science for?</p>

<p>BS in CS prepares you for MS/PHD in CS.</p>

<p>Oh I don’t want to be JUST a good programmer. But I would like be really good at those languages I mentioned to get me ready for a Masters in Financial Engineering which is pretty programming intensive.</p>

<p>Well if you want to focus on specific languages then a CS major might be excessive since you’ll cover many more languages and a lot of theory that is used for graduate or further work.</p>

<p>Just grab some books and study them and you’ll be fine. Besides, most CS majors don’t consider MATLAB as an actual “language”.</p>

<p>Tiberius, if that’s your career aspiration you don’t need a CS degree. A sequence of a few lower division CS courses should prepare you for your programming needs. Once you master one language, learning another one is a cinch. Besides, I doubt any CS program will teach you Visual Basic.
You should worry about your math skills. You need to be strong and confortable with math to do computational finance. I think the ideal major for you is applied math. Look into schools that offer applied math programs in computational finance, operations research and the like, which combine math with CS. Taking a few economics/business courses can’t hurt either.</p>

<p>I now know I am not one who should major in Computer Science.</p>

<p>Thanks!</p>