Disclosure: Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Reviews

In-Depth Review: Coding the Matrix: Linear Algebra through Computer Science Applications

Learn how to use matrices and vectors with Python in this basics of Linear Algebra course.

Review by  Bruno Lehouque. Took the course? Write your own review hereRead all reviews.

There are a lot of good MOOCs and a few excellent ones. This course is part of the latter category. It combines mathematical theory and computer programming, using Python, to teach you the basics of Linear Algebra.

https://www.youtube.com/watch?v=LSWV3VY6sDs

PREREQUISITES

To get the most benefit from this course, you need to be able to think logically and follow a mathematical demonstration.  

To get the most benefit from this course, you need to be able to think logically and follow a mathematical demonstration. The assignments are done in Python, so, you also need to have a computer where you can install it. If you don’t know Python, you can still take the course, provided you’re familiar with programming. Python’s syntax is reasonably simple and you can learn it during the course. If you’ve never programmed before, this course is most probably not for you.

WHY I TOOK THE COURSE

To be honest, I wasn’t expecting much when I took this course. I studied Linear Algebra twenty years ago and although my memories were quite rusty, I was pretty confident that I would succeed in the course without too much effort. To me, it was just an easy way to get a Statement of Accomplishment. But I was wrong. The course was not easy and I learned a lot. I thought I “knew” Linear Algebra but this course was much better than the ones I followed previously. So, even if you think that you already know Linear Algebra, try it!

COURSE REVIEW

The course is eight week long and each week covers a topic.

– Week 0: The Function and the Field
– Week 1: The Vector
– Week 2: The Vector Space
– Week 3: The Matrix
– Week 4: The Basis
– Week 5: Dimension
– Week 6: Gaussian Elimination and the Inner Product
– Week 7: Orthogonalization

There are video lectures, about one to two hours per week.

The first videos are somewhat disturbing because there is a lot of cut and paste but after a while, you should be getting used to it. The pace is fast so don’t hesitate to hit pause and take notes.

Phil Klein

Each theorem/lemma is followed by a proper step-by-step demonstration and practical examples. 

What I appreciated in the lectures is that each theorem/lemma is followed by a proper step-by-step demonstration and practical examples. The demonstrations are easy to follow (usually) and the examples perfectly illustrate them.

Another thing that I liked is that, contrary to the previous courses I took on this subject, Dr. Klein doesn’t focus on calculus only. He takes a lot of time to explain the concepts. That way, you not only understand what you’re doing but also why you’re doing it.

PROGRAMMING ASSIGNMENTS

Each week also features two programming assignments in Python.

The first one is mostly theoretical. There are two types of exercises.
– Implement data structures and procedures from the course
– Solve examples, sometimes “by hand” and sometimes by using the procedures that you wrote

The second one is a practical application, like error correcting codes or analyze of concordances/discordances in political decisions.

Functional programming style is encouraged and you’ll learn a lot about how to program “Python-style” by using comprehensions.

For the assignments, I’d recommend you to start them as soon as possible after you finish watching the lectures because they requires a lot of work. It’d give five to ten hours per week on programming assignments as a low estimate.

The Vec and Mat classes are the core components of the course. Do not hesitate to spend more time on them and to optimize them as much as you can.

Also very important, do not forget to test your code thoroughly before submitting your answers.

FORUMS

I see often some people who complain with something like “I don’t like this course because I got stuck somewhere”. And when you ask them if they went to the forums to get help, they reply “Of course not. Forums are useless/I don’t like them”.

I disagree 100% with that. Forums are one of the best places to get help. There are usually a lot of other learners willing to help. Pr. Klein himself is also very active on the forums. Here, you can ask questions, share test cases, join a study group or even answer other people’s questions.

So, when you’re getting stuck, do not spend hours on a single problem. Go to the forums, ask a question and take a break. You’re very likely to get a helpful answer. 

So, when you’re getting stuck, do not spend hours on a single problem. Go to the forums, ask a question and take a break. You’re very likely to get a helpful answer.

And sometimes, you’ll see that just after posting your question, you’ll find the answer yourself. That’s because by formulating the question for someone else helps you understand what you’re asking.

RESOURCES

Although the course is self-contained, there’s a website (codingthematrix.com) and a textbook, which both contain additional materials.

CONCLUSION

Pr. Klein is an awesome teacher. His explanations are clear and deep. The course is well structured. After completing it, you’ll see Linear Algebra as more than just a few mathematical recipes.

But learning a lot means also working a lot. The assignments are very demanding. So be prepared to spend a lot of time on them.

All in all, this course has been a great experience and I’m really glad I took it.

A last remark. There’s a lot more to Linear Algebra than what this course teaches. Pr. Klein said it himself, this course only covers the basics of Linear Algebra. But I think he’s working on a follow-up course which I’ll be sure to attend to.

[review_widget]

Bruno lives in France, near Grenoble. He’s a 41 year old stay at home father whose loved programming as a hobby since he was a child. Two years ago he discovered MOOC’s and decided to study Computer Science “seriously” while raising his kids. He hopes to pass a C.S. Masters degree in a few years once they get a little older. 

Class Central is looking for reviewers and regular contributors. If you’ve ever finished a MOOC and want to write a critique to help future students considering taking that course, we want to hear from you. Drop us a mail.

Comments 2

  1. Jie Hu

    This course is no longer available on Coursera, where I can learn?
    my email: [email protected]

    Reply
    • Abhirath Mahipal

      You can buy the book or use academictorrents to download it.

      Reply

Leave a reply

Your email address will not be published. All comments go through moderation, so your comment won't display immediately.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Browse our catalog

Discover thousands of free online courses from top universities around the world like MIT, Stanford, and Harvard.

Browse all subjects