Most Useful Upper Division CS Classes

<p>I am currently a junior and am strongly considering a career switch to the tech field. Instead of trying to cram all the required classes for a CS major, I am pursuing a CS minor. I am undecided as to whether I'd like to go to grad school immediately after undergrad. So, in general, which upper division CS classes would be most useful for a job straight out of undergrad? Are there certain classes you feel all CS students should take? Or is it more based on personal interests? I have room to take 3, maybe 4 classes.</p>

<p>For broad applicability to industry software jobs, probably 162, 170, EE 122, and preferably one or more of 169, 161, 186. Specific jobs and areas may find different sets of courses more helpful, though.</p>

<p>For grad school, they recommend [150</a>, 162, 164, and 170](<a href=“http://www.eecs.berkeley.edu/Gradadm/Prerequisites.htm]150”>Graduate Research Program Admissions | EECS at UC Berkeley) for a broad education in CS; of course, adding courses of your focus area in graduate school would be desirable.</p>