**TL;DR**

I wanted to take a linear algebra course. I also wanted to learn LaTeX. I did both, and wrote a 70-something page long document from my notes of the Linear Algebra Foundations and Frontiers MOOC by The University of Texas at Austin. It still isn’t completely finished and I’m sure there are tons of typos in it but here it is: LAFF notes.

It helped me a lot to write things down and understand linalg concepts more in depth, hope it helps you too as quick reference or learning aid.

If you find a mistake or typo please let me know (in about a week, once I finalised it). Cheers!

Linear algebra is pretty much the cornerstone of machine learning and scientific computing. As my uni education was primarily in biology I was missing a lot of the basics in this topic. Of course ever since I had started to learn about bioinformatics and the various ML algorithms, I’ve been picking up pieces of linear algebra, but I really felt I needed to take a proper course in it.

I’ve found four online resources for linear algebra:

- Khan’s amazing videos: the guy is a genius clearly and also a great teacher (a rare coincidence). So I learned a lot from his videos early on when I needed to quickly understand a given topic in linalg, and I’m sure I’ll continue to go back to these videos for refreshing my memories.
- The “Coding The Matirx” MOOC. This seems like a decent intro to linalg from a computer scientist viewpoint. Consequently it implements a lot of the linalg routines as the course progresses. However, it doesn’t cover as much of linalg as the bottom two courses unfortunately. But, I’ll definitely check out some of the material, as the chosen language of this course is Python, which I absolutely love and use for everything, always, every singe day.
- Professor Strang’s linalg class from MIT, is considered by many people on the forums as the absolute best, as it really concentrates on the mathematical concepts and problems instead of the computational details. I’ve also heard some truly raving reviews about Prof Strang and his explanation of the topic, but I felt I need a more interactive approach, and I really learn best if I’m coding and trying the new stuff out immediately so I took another course. However, now that I have a pretty good understanding of the basics of linalg, this is the next class I’ll definitely check out.
- So the course I completed is the LAFF, Linear Algebra Foundations and Frontiers MOOC by The University of Texas at Austin. It ran during the summer on edX.com and finished this week. It is a really computer science oriented intro to linalg, so a lot of time (maybe too much) is spent in the early weeks on basic numeric computations and implementation details. MATLAB is used to implement the routines which I skipped, as coding up the dot product didn’t seem to facilitate my understanding of it, and also I passionately hate MATLAB.. Instead when I wanted to try something, I coded it in Python. Anyway, eventually the course covers SVD, eigendecomposition, rank-k approximation, Gram-Schmidt orthogonalisation and other essential parts of linalg and it does this in a really well organised, easy to understand fashion, so I liked it quite a lot.

I also wanted to learn LaTeX, because I’ve just started the 3rd year of my PhD, so the daunting task of writing a 150 page long thesis has become even more frightening and near.. I started with ShareLaTeX.com, which is great for learning LaTeX, but I quickly outgrew it since its annoying bugs with the Dropbox syncing, made it impossible to write a proper scientific report. Essentially, syncing didn’t work properly even with a paid account, so working with references and Mendeley became impossible..

So I switched to TeXstudio, which I cannot recommend enough. It is simply amazing. I wrote my whole late stage assessment report on it, and also during the last 2 months I wrote my notes of the LAFF course in it. It took a lot of time, to not only finish a course and its homeworks but also simultaneously learn LaTeX and write notes from the course material, but I think it really paid of. Here is the draft version of it: LAFF notes.

It helped me a lot to write things down and understand linalg concepts more in depth, hope it helps you too as quick reference. If you find a mistake or typo please let me know (in about a week, once I finalised it). Cheers!