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

Brown University

Coding the Matrix: Linear Algebra through Computer Science Applications

Brown University via Coursera

This course may be unavailable.


When you take a digital photo with your phone or transform the image in Photoshop, when you play a video game or watch a movie with digital effects, when you do a web search or make a phone call, you are using technologies that build upon linear algebra.  Linear algebra provides concepts that are crucial to many areas of computer science, including graphics, image processing, cryptography, machine learning, computer vision, optimization, graph algorithms, quantum computation, computational biology, information retrieval and web search. Linear algebra in turn is built on two basic elements, the matrix and the vector.  
In this class, you will learn the concepts and methods of  linear algebra, and how to use them to think about problems arising in computer science.  You will write small programs in the programming language Python to  implement basic matrix and vector functionality and algorithms, and use these to process real-world data to achieve such tasks as: two-dimensional graphics transformations, face morphing, face detection, image transformations such as blurring and edge detection, image perspective removal, classification of tumors as malignant or  benign, integer factorization, error-correcting codes, and secret-sharing.


  • The Function
  • The Field
  • The Vector
  • The Vector Space
  • The Matrix
  • The Basis
  • Dimension
  • Gaussian Elimination
  • The Inner Product
  • Orthogonalization

Taught by

Phil Klein


3.6 rating, based on 16 Class Central reviews

Start your review of Coding the Matrix: Linear Algebra through Computer Science Applications

  • Now finished, I remain torn about this course. But I've bumped it up to four stars. Positives: - using Python - having to use doctests (yes, seriously, I didn't really understand the funny comments preceded by >>> before this :s) - building my own…
  • Mark Wilbur
    This is another course I felt torn about. On the good side, the idea is fantastic! Why not use programmers’ systemic thinking abilities as a springboard to learn linear algebra more quickly? When I studied linear algebra long ago, it used quite a few examples from calculus and electricity and magnetism. While that was a good approach, I feel that linear algebra is a subject that is worth studying for more people than multivariate calculus is. That alone made me optimistic about the course. Unfortunately, the automated grader was horribly buggy and so much of a pain to deal with that I decided to use my study time on other classes.
  • Vlad Podgurschi
    I found this to be a great preparatory course for "practical" topics in data science, such as linear models and machine learning. The homeworks and labs are well thought out, interesting, and very valuable for a good understanding of the material.…
  • Anonymous
    Simply stated, this course was a disappointment. I initially had high hopes, based on the description. However, I found a few aspects disturbing. The first was the use of a relatively recent feature of the latest version of Python. The second was th…
  • Anonymous
    For me this has been the first course I've taken in coursera and it wasn't a disappointment at all. The lectures, although a bit hard to understand at the beginning, become clearer when you get to the assignments. The instructor was great at the exp…
  • Eng Eliane Letnar
    I liked very much, but some problems to submit the exercises ...I wasted a lot of time to find where were the problems... you need to submit the exercise in the order they took me a long time to figured out ...
  • Anonymous
    Unfortunately the course is much more about learning the specifics of Python 3 than about Linear Algebra. As I progressed through the course, I found I was learning a little bit about Python's capabilities and a very little about Linear Algebra. I decided to use a book instead.
  • Anonymous
    This is a great course.The Professor interacts with the students and the course materials are exhaustive. Programming assignments are both challenging and rewarding and requires due diligence on the student's part.
  • Anonymous
    One of the best MOOC I have ever take. A rigorous and innovative introduction to linear algebra with very interesting examples and applications.

    Professor Klein make clear and simple every concept.
  • Profile image for Benjamin Karlog
    Benjamin Karlog
    Poor quality would not recoment using this, look at ex trevtur on youtube or anything else as this is a bad source.
  • Anonymous
  • Mihailo

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.