Since early January, I’ve been taking an online course at Coursera called Computational Methods for Data Analysis. This is my first experience with full-length online coursework (unless you count watching VHS tapes of lectures for an ill-conceived distance attempt at a masters in engineering).
So far, I’d say its been a good experience. Of course, it’s a good value, but I think I am gaining worthwhile knowledge. The course covers time-frequency analysis (FFT, wavelet, etc.) and dimensionally reduction techniques (SVD, PCA, etc.) with practical examples from image processing, communications and physics.
The course is heavily MATLAB-based. I started out following along with GNU Octave, but decided around week 3 to attempt to do it all with Python’s math and science libraries (NumPy, SciPy, matplotlib). So, I have a running iPython notebook replicating the readings’ MATLAB examples in Python. I’ll probably attempt to publish it here or somewhere once the class is finished in March.
I learned a long time ago that I prefer to learn by reading and use lectures in a targeted way to clarify something I might not be getting. Coursera’s setup for this is actually quite good. The built-in video player has features to speed up playback, and lectures are broken in to 10-15 minute segments to easily jump to the info you seek.
My intention was to take a refresher course in linear algebra before I started this one, but I didn’t get it done. I think it definitely would have been helpful, but not necessary in my case. I think someone with no linear algebra would be a bit lost, but even my 20–year–old memories of matrix math seem to be serving here – so far.
In a past life I was actually a somewhat heavy MATLAB user for digital signal processing applications, so it’s nice to dust some of that thinking off (in a new language) and think about how I might use these tools on business data instead of digital wireless signals. Also, I’m becoming more and more enamored of iPython Notebook as I progress - to the point that I’ve searched writing all my Quantary posts with it.
I’m about halfway through the class, so I’ll come back with my final thoughts in six weeks or so, hopefully along with an impressive iPython notebook to show off what I did.