ROB 101: Computational Linear Algebra

Fall 2022

A 3D model of a robot in a lidar field with linear algebra equations floating above it

Computational Linear Algebra is a first-semester, first-year undergraduate course that shows how mathematics and computation are unified for reasoning about data and making discoveries about the world.

Linear algebra and coding are rapidly becoming an essential foundation for the modern engineer in a computational world. Students in this course will gain insights into the mathematical theory of linear algebra and its realization in practical computational tools.

Math is the language of engineering, but coding is believing and realizing it. The mathematical content of ROB 101 is built around systems of linear equations, their representation as matrices, and numerical methods for their analysis. These methods will be given life through the lens of robotics and contemporary intelligent systems and their compelling applications.

This Fall 2021 ROB 101 course is now available online on YouTube and Github.

Read more about the course development in ASEE Prism: Solving for Equity.

Credits
4 credits

Schedule
Lecture: Tuesday/Thursday, 10:30am-12pm, 1060 FMCRB
Lab: Wednesday, 4:30pm-6:30pm, 1060 FMCRB

Live Zoom / Lecture & lab recordings posted to Canvas same day and lecture & lab attendance during class-time is 100% optional. Choose your learning modality. We expect that Remote/Hybrid students will still have great course outcomes. The laboratory from 4:30 to 6:20 is divided into two parts: 4:30 to 5:20 we work on Julia programming, and from 5:30 to 6:20 we work on answering HW questions and/or working problems that are similar to the HW.

Teaching
Professor Jessy Grizzle

Register
Wolverine Access

All lectures and lab sessions are recorded and posted on the Canvas Site. The posted recordings lectures may contain audio and video of you and not just the instructors. This applies to both in-person and remote students. Recorded lectures are made available to other students in this course. Consequently, as part of your participation in this course, you may be recorded and posted on this Canvas site.

What are the topics covered in this course?

  • Julia as an open-source “dynamic” programming language. Quoting from Wikipedia: “Julia is a high-level, high-performance, dynamic programming language. While it is a general-purpose language and can be used to write any application, many of its features are well-suited for high-performance numerical analysis and computational science.” All of the mathematical topics treated in the course will be made operational through computational exercises in Julia.
  • Small sets of linear equations, their solvability, and how to find solutions: underdetermined, overdetermined, and just right. Scaling up to large sets of equations (thousands of variables) through vectors, matrices, determinants, and matrix factorizations.
  • Linear transformations with applications to spatial coordinates, with application to LiDAR point clouds and blobs.
  • Regression as a means of building models and making predictions.
  • A camera pin-hole model and camera calibration via regression.
  • Inner products and orthogonal vectors. Symmetric matrices and orthogonal matrices.
  • Traditional topics such as vectors spaces, linear independence and bases, matrix rank and nullity, eigenvalues and eigenvectors
  • Nontraditional topics such as finding solutions to nonlinear equations via gradient descent and optimization as a tool for solving robot perception problems.
  • What is an ODE. Dynamical models through the lens of interactive systems of equations.