I recently mentioned that MIT was now offering their 600 course, Introduction to Computer Science and Programming, online via edx.
Well I've signed up. It starts monday and I'm excited. More importantly, you should be excited.
You should be excited because programming is a skill you need, and it's never been offered for free in a format such as this (although some similar course materials have been available on the web for a couple of years for those who feel like digging through them).
Most of you are probably doing programming already, albeit in a very domain-specific graphical language: SolidWorks, Pro|Engineer, ANSYS, etc. All of those programs are their own computing languages. They are a collection of functions (features) that have different parameters passed through them (radius, curvature influence, etc.) that are arranged in such a fashion to give a desired output. Some features are more computationally intensive than others, some are less reliable than others (or have recently improved in late releases).
So if you're already doing programming on some level, why bother with the class? A few reasons:
- Sure the class uses python as a language (and a great one at that), but the class is about thinking computationally and leveraging computers to solve problems. Having that as a tool in your tool belt can only be to your advantage.
- I suspect most of the materials could be performed in MATLAB and, since it is the standard for MEs, if you aren't already up on it this is a great way to get up on it.
- Online education is the future; the format of this course is almost as exciting as the content. If you haven't taken an online course before, you would do well to get into the mindset.
Just think back over the past year. How many times have you been faced with a problem you knew a computer could solve, but weren't equipped with the right tools to solve the problem?
Cutting out patterns to minimize waste? Using computer vision for simple measurement? Characterizing the profile of a sound (insofar as sound can be a proxy for quality... think 'mercedes door thunk')? These are all problems that can be solved computationally.
The last reason is fear. If you are an older engineer you don't need to worry about fresh engineers taking your spot; they know tools, but you know industry and your process. What you do need to worry about is when those fresh engineers that are equipped with all the tools become well-equipped engineers with 10 years experience.
That's when the calculus changes and you're stuck holding a slide-rule, T-square, and 6H pencil.