<p>Im currently a junior cs major and at the point where reqs are about done and have to meet a credits req (specifically need 2 courses more in my 'graduation plan'). Math wise I've taken calc1/2/multi,linear. CS wise I've taken/will take data structs, design patterns, computer systems, algorithms, software eng., software eng. management, OS, networking, UI, web programming, AI, intro to crypto. I've also taken english and some gen eds.</p>
<p>I know compilers is an option but I've heard negative things about it at my school. Currently Im considering just some random gen eds that seem easy, but if there's a useful course topic I've overlooked, it would be much appreciated.</p>
<p>Perhaps the database course? Many industry software jobs involve storing and searching large amounts of data.</p>
<p>Compilers is sometimes recommended for those going to graduate school in CS, since it touches on a wide range of topics in CS (lexing and parsing – theory, data structures and software engineering – software, and computer architecture considerations in code generation – hardware).</p>
<p>If there is a particular area of application of CS that you are interested in, courses in that area may be helpful.</p>
<p>Advanced math courses in algebra and number theory may be helpful if you like cryptography.</p>
<p>Thanks, currently ive been learning/making a game plan on approaching mysql this summer. I think I’ll reconsider compilers. After/during linear algebra, applying the concepts to real situations kinda went over my head so id like to stay clear of higher level maths if possible…</p>
<p>Compiler design is a great course to polish off your programming skills BUT (in my opinion), there are just not enough demand (nor geographic spread) in the working world for that skillset.</p>
<p>Operating systems (even if taking an more advanced course on the topic) + computer networks + databases = win.</p>
<p>If you are Math or CS student graduating within the next 1 to 12 months, I would throw in some statistics courses to take advantage of the “Big Data” craze.</p>
<p>Are you thinking about going to graduate school, or are you interested in getting a job in industry after graduation? This has a significant influence on what I’d recommend.</p>
<p>Graduate school: take courses in fundamentals, and get into undergraduate research with a professor.</p>
<p>Industry job: take courses in in-demand specializations and work on lots of side projects.</p>
<p>Compilers are not difficult, just time consuming, and the experience learned is very valuable. A lot more useful than theory if you ask me :)</p>
<p>If you’re sure of your programming skills it’s a fun class, in CS we invariably end up parsing stuff or generating codes for stuff (try talking to an Apple product…)</p>
<p>Big Data type classes would be another good bet as GlobalTraveller suggested.</p>