Mechanical Engineering, with Some Programming

<p>Hey, not sure this is the right place to ask, and not even exactly sure what the question is.</p>

<p>I am about to start school. I was set on mechanical engineering, but I've always liked computers, and have started messing with some beginner Python tutorials, and it seems like fun. I am not really sure how the two mix, and don't even understand how electives/doubles/minors are structured or anything, and am curious what advice anyone has here. </p>

<p>Is there much call for a MechE to be able to code; is that a valuable thing? </p>

<p>Is minoring or doubling in CS or software engineering a meaningful or useful thing or even possible? (I also don't know what the difference is between CS and software engineering.)</p>

<p>If not, will a typical MechE workload give me much room for just taking programming classes for fun, and if so, given that I know nothing about it at all, what sorts of programming classes would be useful to an ME, or just useful to someone who is interested in that, in your opinion? (Sorry; I know that's a giant question, but I know so little)</p>

<p>Thanks</p>

<p>You should get some instruction in programming as a MechE, but not enough to be a general-purpose software developer at a mature company. Programming is a valuable skill for all STEM people to have, and additional courses in computing couldn’t hurt, mechatronics, robotics, CFD, and high-performance computing for MechE are all areas which could benefit from additional training in programming, algorithms, numerical methods and analysis, etc.</p>

<p>There are several CS courses which might not be particularly useful (networks, security, databases, web, user interfaces, theory, etc. come to mind) so a formal program (double/dual major, minor, etc.) is probably overkill, unless you want to be able to work fully as as MechE or a SoftwareE (not recommended, too broad, hard to do, you’d be better served by getting additional depth in one of the two).</p>

<p>I’d recommend focusing on courses in introductory programming (usually a sequence), and algorithms & data structures, as a baseline. Then, if you want to apply computing to solving computational problems in MechE, courses in scientific computing, numerical analysis & methods, parallel & high-performance computing, etc. If, on the other hand, you’d like to get into areas like mechatronics, robotics, automation, etc., I’d recommend courses in computer organization and architecture, assembly language programming, and operating systems (in addition to, possibly, some EE courses like circuits and communications).</p>

<p>Of course, you should consult with an academic advisor and professors working in areas you find interesting to get recommendations. Get involved in extracuuriculars (work, research, etc.) with professors and you will learn more and better stand out of the crowd.</p>

<p>Thanks a bunch, aegrisomnia!</p>

<p>Programming is something that you most probably can learn it on the side and still be looked upon by employees. Courses that are in university are too theoretical and if you want to show your programming skillset on top of ur mech you can learn java/c# or vb on your own and take on some simple open source projects. That way, you can show your potential employers that u can code.</p>

<p>Interesting, thank you.</p>

<p>There’s a lot of good advice here so far. </p>

<p>As mentioned above, programming is a VERY important skill for mechanical engineering. MATLAB is a widely used tool for simulations and whatnot, and at least in my undergrad pretty much every class in my department involved a significant amount of coding in MATLAB. (This may not be true at other universities, though. I was a TA during my first semester of grad school, and was surprised to learn that the students, seniors, had little to no experience in MATLAB.)</p>

<p>I do know a few people from my alma mater who graduated mechanical and then went into software. One guy ended up working for Mathworks (they need engineers to work on MATLAB, various toolboxes for Simulink, etc). Another guy minored in CS (so, to answer your question, yes it’s possible) and just ended up working for Microsoft. So people with mechanical backgrounds can and do end up in software for various reasons.</p>