<p>I am a third year CS student. I’ve never taken any MechE classes so I can’t comment about it, but all Engineering majors must fulfill a “Technical Breadth” requirement. This consists of taking 3 upper division classes in a different major. </p>
<p>As a Mech E major, you are required to take CS 31. He can also do his Tech Breadth in Computer Science and take an additional 3 classes of his liking. (or vice versa)</p>
<p>Most lower division classes as well as GE classes will almost always be packed and can sometimes be quite competitive to enroll in. I haven’t had any huge issues though, as long as you enroll promptly after your enrollment time, you will almost always find classes that you need to take. They may not be the “best” schedule if one particular class fills up, but it usually works out.</p>
<p>I’ve had excellent professors in the CS field. While they are usually also working on their research projects, it isn’t hard to find time to talk to them via appointments or office hours.</p>
<p>p.s. </p>
<p>lower division cs classes usually run 100-150 in class size.
upper division around 40-90.
there are also lab classes around 15-30.</p>