MATLAB Programming Techniques (online course)
4 views (last 30 days)
I would like to address those people who took an on-line course offered by MathWorks "MATLAB Programming Techniques" (can be found here here).
I have 2 years of programming experience in Matlab. Specifically I create programs actively using OOP features, advanced error handling, unit testing and can read and learn from Matlab documentation. Also I have experience of OOP in Java (took several university courses) and of functional programming in Racket (Common-Lisp family). Would this course be useful for me?
How deep and insightful is this course? Specifically, does it just reiterate what already is written in the Matlab documentation or it goes beyond and teaches some programming approaches what even a person with fairly good general understanding of programming hardly can come up with just by working with the Matlab documentation?
Matt Tearle on 5 Feb 2015
I haven't taken the course, but I did help write it, so... :)
As much as I hate to talk anyone out of taking our training, it doesn't sound like this is the right course for you. It follows on from MATLAB Fundamentals and is designed for the average MATLAB user who is now dealing with more complex code, having to worry about efficiency, organization, memory usage, maintenance, etc. In other words, someone who is doing some amount of software development in MATLAB but doesn't have a software development background. ("Software Carpentry in MATLAB" might be a good alternative name for the course.)
If you already know about defensive programming ( nargin, is*, varargin, etc), unit testing, different types of functions (nested functions, local functions, function handles, etc), choosing data types, managing memory (preallocation, copy-on-write), and so on, this course won't add much to your knowledge.
We don't teach any general software development principles -- we always focus just on using our tools for a specific purpose (in this case, better and more manageable MATLAB applications).
Hope that helps.