Coding the Matrix: Linear Algebra through Computer Science Applications

Phil Klein, Brown University

Learn the concepts and methods of linear algebra, and how to use them to think about computational problems arising in computer science. Coursework includes building on the concepts to write small programs and run them on real data.

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.

Syllabus

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

Recommended Background

You should be an experienced programmer.  We use a subset of Python in this course, and we start by covering the relevant features and syntax, so many students find they can get by without prior knowledge of Python.

You are not expected to have any background in linear algebra.  However, you should be prepared to read and understand some mathematical proofs. At Brown University, a similar course is taken mostly by sophomore computer science  majors who have taken at least two semesters of programming and one semester addressing proof techniques.

Suggested Readings

Coding the Matrix is an optional companion textbook.  It covers the material addressed by this course, plus additional examples and more advanced topics not covered by the course (wavelets, discrete Fourier transforms, singular value decomposition, eigenvalues, and linear programming).  The textbook is not at all necessary for taking the course; all necessary material is covered in lecture.  

FAQ

  • Will I get a statement of accomplishment after completing this class?

    Yes. Students who successfully complete the class will receive a statement of accomplishment signed by the instructor.

  • What resources will I need for this class?

    You will need a computer with Python installed (version 3.x). We will provide additional Python modules for you to download.

  • What is the coolest thing I'll learn if I take this class?

    Here are some cool things: removing the perspective from an image,  a simple machine-learning algorithm applied to cancer data.
Dates:
  • 2 February 2015, 10 weeks
  • 1 July 2013, 8 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb

Reviews

No reviews yet. Want to be the first?

Register to leave a review

Show?id=n3eliycplgk&bids=695438
Included in selections:
Vyyjayfzd3pynkssdhnqwcrx4bk4ennc1-ren956ujr2e1pya9umefxe-z08yngaz4nptzjr4nqcte0whwul=s0#w=1724&h=1060 Алгоритмизация вычислений
1 курс МИЭМ ВШЭ, 4 кредита
18-06scf11 Mathematics
Calculus, Linear algebra, Functional and Complex Analysis and more
NVIDIA
More on this topic:
6-826s02 Principles of Computer Systems
6.826 provides an introduction to the basic principles of computer systems,...
18-06s10 Linear Algebra (Spring 2010)
This is a basic subject on matrix theory and linear algebra. Emphasis is given...
6.00x-listing-banner_1 6.00.1-x: Introduction to Computer Science and Programming Using Python
6.00.1x is an introduction to computer science as a tool to solve real-world...
6-867f06 Machine Learning
6.867 is an introductory course on machine learning which gives an overview...
6-251jf09 Introduction to Mathematical Programming
This course is an introduction to linear optimization and its extensions emphasizing...
More from 'Mathematics, Statistics and Data Analysis':
Ef5dcb87-b65b-46a6-bb2a-c5a3f7807845-7cb915944555.small Engineering Calculus and Differential Equations
Learn fundamental concepts of single-variable calculus and ordinary differential...
20fedd71-34f4-4084-9fde-49f5d2d224a5-2f0bdb8c45f3.small Microsoft Professional Capstone : Big Data
Validate the skills you learned in the Microsoft Professional Program for Big...
07bd7954-0593-43cb-b0c4-0f18f5c25ee1-a5d93e120a6d.small Microsoft Professional Capstone : Data Science
Solve a real-world data science problem in this capstone project for the Microsoft...
86814127-5973-4549-884e-c8d6ea3514cb-8092d5a682f0.small Microsoft Professional Capstone : Artificial Intelligence
Solve a real-world artificial intelligence problem in this capstone project...
520f308b-128f-4d2c-af91-f646e1e312a8-df630e95f440.small Microsoft Professional Capstone: Data Analysis
Showcase the knowledge you acquired in the Data Analysis MPP in this Capstone...
More from 'Coursera':
Success-from-the-start-2 First Year Teaching (Secondary Grades) - Success from the Start
Success with your students starts on Day 1. Learn from NTC's 25 years developing...
New-york-city-78181 Understanding 9/11: Why Did al Qai’da Attack America?
This course will explore the forces that led to the 9/11 attacks and the policies...
Small-icon.hover Aboriginal Worldviews and Education
This course will explore indigenous ways of knowing and how this knowledge can...
Ac-logo Analytic Combinatorics
Analytic Combinatorics teaches a calculus that enables precise quantitative...
Talk_bubble_fin2 Accountable Talk®: Conversation that Works
Designed for teachers and learners in every setting - in school and out, in...

© 2013-2019