Linear Algebra - Foundations to Frontiers
Learn the theory of linear algebra hand-in-hand with the practice of software library development.
I still want to learn Linear Algebra, myself, so if anyone has suggestions, please post them.
If you want to spend money, from my bookshelves:
Strang (the guy in the videos above) knows one or two things about Linear Algebra. His textbook is legendary. Bring lots of $$$, like three figures.
"The Manga guide to Linear Algebra" Yes, that is exactly what it sounds like. I think if you have to start somewhere, maybe this is it. Cheap. $
"Matrices for Engineers" by Kraus. There's about 50 textbooks along the lines of linear algebra matrices for engineers programmers using $math_application or $calculator or $chicken_entrails and similar title permutations. You'd think every engineering program in the nation is required to use a different text. This particular text was pretty good. If I recall correctly, reasonably priced $$.
I would suggest reading them in the order of the comic book, the engineer book (or any of the dozens of equivalent college texts), and Strang. Coincidentally thats also order of price.
At one time I understood everything in the comic book and the engineer book. That was a long time ago. Strang mystified me in parts. So I'm not going to pretend to have THE perfect answer. It is entirely likely in the last decade someone has written the Uber text to replace them all. Probably a new edition of Strang is out by now.
I would estimate the effort required to be about one programming language.
Best of luck to you.
That allows you to study it more at your own pace. I'm taking the Visualizing Algebra course from Udacity, after working halfway through Coding the Matrix, because I found my algebra skills to be lacking.
Too bad its no longer possible to get a certificate on Coursera though, now I have to wait until the next iteration.
Even if you are a programmer, this course could teach you a lot. Very much indicated! And the language Oz is easy to learn, dont be afraid of it!
And if you dont follow the course, at least check the book, it is a gold mine!
I'll be taking the edX course.
The course is about teaching interesting paradigms and how they can be used to solve problems, not teaching the easiest thing to beginners.
The why not procedural/imperative answer /might/ be: we already know how to do that. That stuff is everywhere. Why not take a little time to learn something different that may in fact have some real benefits?
IMO, there are no paradigms in computer programming. The concept of a paradigm is overkill for describing the guiding principles that some programmers use sometimes. People who don't buy into a 'paradigm' are not heretics and charlatans. tldr: principles, concepts, techniques yes, 'paradogmas' no.
People like patterns and rules, as long as there are people I think there'll be paradigms in programming - a paradigm is after all just a way of looking at the world. I see where you're coming from (that you should remain flexible in the face of change, and not become rigid and unthinkingly follow rules set down by others), but you can't escape forming opinions about the right way to proceed in a given discipline - I think we're hardwired for it.
Observationally it seems harder to mix design patterns between paradigms than to merely merge language features.