What are the best and worst things about a Computer Science major?

<p>I’m going to be a Computer Science major this fall.</p>

<p>Can you tell me what are all the positives about it?
What about the negatives?</p>

<p>It can be anything: about certain classes, salary, people’s attitudes, how hard or easy it is, etc.
Realistic expectations and such</p>

<p>I was astonished to see how good the career prospects are for CS majors. Check the BLS OOH entries for:</p>

<ul>
<li>Software Engineer</li>
<li>Programmer</li>
<li>Computer Analyst</li>
<li>Database Administrator</li>
<li>Network Analyst</li>
<li>etc. (check the “related” occupations)</li>
</ul>

<p>Pay seems good, too… about on par with what engineers make; really, towards the middle- to high-end of engineering salaries, if you consider all engineering disciplines.</p>

<p>It’s my understanding that the major is a little more flexible than typical engineering major, but your mileage may vary. This can only be positive, since it will give you a chance to tailor the experience to your needs (take easier electives for better grades and more social life, or take harder courses for personal interest or more sheepskin). </p>

<p>On the negative side, it is a hard major and not a very diverse one (in terms of enrollment… women, minorities, etc.). Stereotypes may be true of many students (though they won’t be true of all, or perhaps even most, CS students). CS programs typically require a lot of work and a lot of working on a computer, so if working at a computer isn’t your thing, you might not like a lot of the work you are required to do (programming).</p>

<p>Additionally, CS programs typically require that you become fairly comfortable with constructing and understanding simple proofs. This is different from most other STEM disciplines (except, of course, math, and maybe some of the more “pure” natural sciences), where such an understanding is usually not required.</p>

<p>Do you need to have prior experience to do well in your college classes?
Should I take a Computer Science class my Senior year of high school so I don’t die?</p>

<p>IT couldn’t hurt.</p>

<p>The AP Class is really basic, it is just the first semester of a college CS curriculum. I mean REALLY basic. I am warning you.</p>

<p>Go grab any basic book on C or C++ programming, download yourself a free compiler or an IDE like Code Blocks or Bloodshed, and complete the book. If you absolutely hate it, CS isn’t for you.</p>

<p>The great bulk of what you’ll be doing as a CS major is software engineering (computer programming done right), think of it as applied computer science, because <em>real</em> computer science or “pure” computer science is a branch of math concerned with computation, algorithms, complexity, relations, etc. Read up on discrete mathematics, boolean algebra, predicate calculus, proofs, set relations, etc. See if these topics seem at least kind of interesting to you. A lot of the same techniques and mental muscles you’ll use for those topics will be used in applied computer science, AKA software engineering. To say nothing of elementary algebra.</p>

<p>How is your critical thinking skills? It is all about your mind and how you can look at the problem and find a solution for it in the most efficient matter.</p>

<p>

</p>

<p>Or read the classic introductory CS text, [Structure</a> and Interpretation of Computer Programs<a href=“supplemental%20material%20%5Burl=http://mitpress.mit.edu/sicp/]here[/url]”>/url</a>. Download the [url=<a href=“http://elvis.rowan.edu/~nlt/interpreters.html]language”>Scheme Interpreters]language</a> interpreter](<a href=“http://mitpress.mit.edu/sicp/full-text/book/book.html][i]Structure”>http://mitpress.mit.edu/sicp/full-text/book/book.html) so that you can do the examples and exercises on your computer.</p>

<p>If you’re using Windows, the Visual Studio Express Edition C++ and C# IDEs are pretty good and free.</p>

<p>I wouldn’t worry about working through an entire programming book of exercises… although doing so could only help you. Rather, I’d look at it as practice.</p>

<p>The labs usually blow and the assignments/projects are usually very time consuming…</p>

<p>best:
cheetos
mountain dew</p>

<p>worst:
weight gain
diabetes</p>

<p>best: You can hack if you want
worst: You will no life if you choose to be one of those guys in the film Social Network</p>

<p>Best: air conditioned office
Worst: loneliness</p>