<p>1) Double major with a BS in applied mathematics. It won't delay me because of all the overlaps and electives classes for CS. I only have to take 3 extra classes.</p>
<p>2) Take some EE classes dealing with hardware for free elective. I am only interested in the electronic part of EE</p>
<p>3) Take some graduate CS classes, which I heard rumors that they are a little tough and tie consuming</p>
<p>4) Doing some economics and business classes</p>
<p>What option would you recommend me to do? I really appreciate any help</p>
<p>What are you hoping to do with your CS degree, become a programmer? If so, internships will be the most important thing. Second most important would be actual programming skills that are applicable to the jobs you’ll be doing. But just talking about degrees, I’d say a postgraduate degree in computer science would be more helpful than dual majoring, so take some of those classes if it’s an option.</p>
<p>1) Be qualified for as many positions as possible (read: have a broad range of CS courses)</p>
<p>2) I am going to give you a nugget: Most software jobs are focused on the manipulation (programming), distribution (networking) and storage/retrieval (databases) of DATA! What I am saying is to make sure Computer Networks and Database Systems are taken as CS electives (if they are not required courses). I would also throw in Computer Graphics and Computer Security (crypto/error-correcting codes, info assurance) as electives.</p>
<p>I was a Math/CS major but you really do not need to dual major with math as a CS major. I did it because I could not get into my school’s CS program and knew the industry takes Math/CS grads for software almost as much as a regular CS grad. The Math/CS route (which is taking the minimum require math courses and load up my elective with CS courses) was a way for me to “back door” the CS industry. You won’t need that and therefore will not need to double major.</p>
<p>A lot of sexy stuff those days is embedded and mobile stuff - as much as the EE types claim the software drones don’t need to worry about hardware, having basic EE skills like tread a board schematic or hook a scope or analyzer can be super useful.</p>
<p>When will a software developer need electronics training? Makes more sense to study hardware systems at the cpu/os/register/stack level than learn how to use a breadboard.</p>
<h1>1: If you want to go to graduate school and study CS theory. Algebra, number theory, undecidability, and the like are likely the most relevant. Algebra and number theory can also be helpful if you want to into cryptography in industry or graduate school.</h1>
<h1>2: If you are interested in the subject, and/or want to work in industry dealing with hardware and electronics. Digital systems and computer architecture courses are often useful in this area.</h1>
<h1>3: If you want to go to graduate school in CS, you may want to sample the graduate level courses in the specialties you are considering.</h1>
<h1>4: If you want to go into developing software for financial or economic applications.</h1>
<p>But yes, as noted in post 3, try to get the database, networks, and security courses into your schedule (presumably, the operating systems and algorithms courses are required; these are also important), as these courses’ concepts are commonly used in industry software jobs. For graduate school preparation, you may want to add the compiler course and a computer architecture course, plus courses in your intended graduate specialty.</p>
<p>Tom, I took a bunch of computer architecture classes in undergrad and grad CS. All useful, but also knowing a bit of basic electronics is useful when it’s 8pm on a Saturday, the board is acting up, and you have no idea if there’s a loose wire somewhere, and the EE’s are all in a team building exercise at Hooters…</p>
<p>I am speaking from experience here as a CS/HFE in the land of EE’s writing software. I can’t tell a logic analyzer from a microwave oven (ok, the microwave is the one we use to heat food) and while the board usually works, there are many aspects of it that need a clearer picture than what CS alone provides.</p>
<p>If one plans to write C++ code for investment bankers or web sites etc then hardware knowledge won’t do one much good compared to other disciplines.</p>
<p>@GLOBALTRAVELER, I am currently taking Database systems and it is required and super important( I don’t know how a CS curriculum could leave as an elective). computer network is a CS elective. I am going to take that, along with art. Intelligence and comp. security. I have four electives and can double major in math, I know it won’t benefit me much, but I have loved math since first grade LOL. </p>
<p>@AeroMike, If I get a master degree before getting experience wouldn’t that make me less employable?</p>
<p>@Turbo, just wondering, were you a firmware engineer since you need electronic knowledge to go to that area. Which EE classes actually to write embedded firmware. How can algorithm be an elective? it is a CORE class. If a CS degree does not require algorithm, it is NOT Computer Science. Operating system is considered a core course at my school</p>