ENGR108: Course Information


Wednesday and Friday, 11:30am–12:50pm PST. Our first lecture will be Wednesday January 13, 2021 at 11:30am–12:50pm PST and will be a live lecture. The zoom link for the lecture will be available in canvas. This lecture and all future ones will be recorded and available in canvas, so you'll be able to watch the lectures asynchronously.


The sections will be assigned and meet weekly starting the second week of classes. Sections will be 2 hours long, with the first hour spent on problem solving and Julia programming, and the remaining time used as office hours.

Section Times (second hour is OH):

  • Natalie Gable: TBA

  • Chuan-Zheng Lee: TBA

  • Onur Cezmi Mutlu: TBA

  • Arvind Srivasta: TBA

  • Grace Zhao: TBA

Office hours

Brad Osgood's office hours: TBA

CA office hours: The TAs’ office hours will be folded into the last hour (or so) of the weekly sections. Additionally, there will be office hours at a time TBA.


The textbook is written by Stephen Boyd and Lieven Vandenberghe, and is available on-line. You will not need to consult any other books or materials (though you are welcome to do so).

Course requirements and grading


  • Attendance and participation at sections.

  • Weekly homework assignments. Homework will normally be assigned each Wednesday, and due the following Wednesday by 5pm PST. Late homework will not be accepted.

  • Quizzes. For Winter quarter 2020–21, we won't have midterm or a final exams. Instead we'll have three quizzes during the quarter. We've tentatively scheduled the quizzes for the Tuesday of the 4th, 7th, and 10th week of class (10/6, 10/27, 11/17). You will be able to take the quizzes asynchronously, to accomodate multiple time zones.

Grading: Attendance/participation 5%, homework 65%, quizzes 30% (10% each).


You do not need to have seen any linear algebra before; we will develop it from scratch. Math 51 is nominally a prerequisite, but we will use very little of this material. In the course you'll do some very simple programming in the language Julia, so you should have seen some very basic simple programming. CS106A or equivalent (which is more than you will need) is a prerequisite or corequisite. You do not need to know about any applications; we'll cover that in detail. Even if you have already seen all the material in the course (e.g., vectors, matrices, least squares) we encourage you to take it, because (we guess) you haven't seen it the way we will present it.


Welcome to ENGR 108 (formerly known as EE 103 / CME 103): Introduction to Matrix Methods! We will primarily use Canvas, and there you'll find class information, assignments, and recorded lectures for the class. This website will not be regularly updated.

Our goal is to cover the textbook chapters 1–17 (Constrained least squares applications) during the course.

This quarter's ENGR108 will have assignments consisting of a written portion and a Julia portion. In place of a final or midterm, we will have low-stakes quizzes throughout the quarter. Written portions for assignments should be submitted via Gradescope, and Julia portions should be submitted via Ed. Quizzes will be conducted over Canvas/Ed, and more details will be announced as we approach our first quiz.

Starting week 2, students will be required to attend weekly section hosted by course assistant and section leaders to review concepts and practice problems. Sections last for one hour, and are followed by one hour of office hours open to all students. Section assignments will be made during the first and second week of the quarter, and tentative time slots are posted below.

To ask questions about the course material, the lecture slides, or anything related to the subject of the class, please post to Ed. We encourage you to post to Ed whenever something might be applicable to many people; however, if something is particularly sensitive you can email the course staff directly.

Catalog description

Introduction to applied linear algebra with emphasis on applications. Vectors, norm, and angle; linear independence and orthonormal sets; applications to document analysis. Clustering and the k-means algorithm. Matrices, left and right inverses, QR factorization. Least-squares and model fitting, regularization and cross-validation. Constrained and nonlinear least squares. Applications include time-series prediction, tomography, optimal control, and portfolio optimization. Prerequisites: MATH 51 or CME 100, and basic knowledge of computing (CS 106A is more than enough, and can be taken concurrently).

ENGR108 is part of the EE and MS&E core requirements, approved for the CS BS Math Elective and the Mathematics & Statistics requirement in the School of Engineering, and certified as a Ways of Thinking (Formal Reasoning) course.

ENGR108 and Math 104 cover complementary topics in applied linear algebra. The focus of ENGR108 is on a few linear algebra concepts, and many applications; the focus of Math 104 is on algorithms and concepts.

Course objectives

The goal of this course is to introduce you to the basic ideas of vectors, matrices, and (very basic) linear algebra, emphasizing applications. We hope that you'll learn how linear algebra is all around you, and how it is used in zillions of applications. You'll learn some basic machine learning, portfolio optimization and finance, audio and image processing, and other applications.

Intended audience

The course is targeted at undergraduate students in all fields, just as CS106a is. As long as you've got the prerequisites, and are up for it, you're welcome.