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:
Math222 Abstract Algebra
Algebra is the language of modern mathematics. This course introduces students...
6-251jf09 Introduction to Mathematical Programming
This course is an introduction to linear optimization and its extensions emphasizing...
Principles_of_computing_final Principles of Computing
This course introduces the basic mathematical and programming principles that...
117098_a0cd_7 Matrix Algebra
Learn and develop understanding for solving mathematical problems on Matrix...
Dtag60lui_xeuuedkzsip7-rp7g6slnwyhg9bbazg2ydp24mnc6r2tjzme5wnlljdi6ijqm-ycwo_gezug=s0#w=436&h=268 Artificial Intelligence for Robotics. Programming a Robotic Car
Learn how to program all the major systems of a robotic car. Topics include...
More from 'Mathematics, Statistics and Data Analysis':
344712f7-3cff-42d5-9268-28264f30f1f6-83ad765fde85.small PyTorch Basics for Machine Learning
This course is the first part in a two part course and will teach you the fundamentals...
B52df120-4002-4285-956c-0f3e3710d1fc-bc357cc5636d.small MathTrackX: Statistics
Understand fundamental concepts relating to statistical inference and how they...
B0490e8d-ddc0-4af1-b9d5-90cc6c7414a4-72dcc172382d.small Lean Six Sigma: Green Belt Certification Project
Implement a Lean Six Sigma improvement project along the DMAIC phases, from...
41e295ce-a84b-4952-a9a7-fa613201d896-43f61d701b2e.small Pre-University Calculus
Prepare for Introductory Calculus courses. Mathematics is the language of Science...
Af600da1-30be-47ed-8e81-0931a2898f92-b9dba67297a8.small Innovation: From Plan to Product
Learn how to build an innovative business model using the most effective tools...
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