I am Prof. Chad Topaz. Welcome to the public facing version of my Computational Linear Algebra course. This course is a minimalist recreation of the one I use on my own campus at Williams College. You can access most of the basic course materials here. Since this site is for public sharing, I have eliminated certain items related to surveying my students, performing course evaluation, student assessment, and so forth. I enthusiastically credit colleagues from my time at Macalester College: Tom Halverson, Danny Kaplan, David Shuman, and Lori Ziegelmeier. Their versions of a Computational Linear Algebra course have influenced my own course, and I’m grateful to them for sharing wisdom and materials.
If you use this site as a student (for your own learning) or as an instructor (for teaching your own course) I would appreciate you letting me know so that I can track impact of the work I have done to create it. If you do adopt materials from this site, please make sure to credit me.
This course site is perpetually in development. I regularly revisit my course materials in order to improve them.
If you find any problems with course materials (a typo, code that doesn’t work, a broken link – anything at all) please let me know by contacting me here.
I have built this public facing site as a free, shareable public good. If you are interested in assistance with technical/mathematical aspects of this course or related consulting, please contact me here. If you would like me to speak to your department/institution/organization about curriculum and/or pedagogy (of this course, or of anything else) then please see my Speaking page and contact me here.
Rather than using a traditional text-based course syllabus, I use a rather concise graphical syllabus; see below. I designed this syllabus using Piktochart. A similar tool you could consider is Canva. Some details of this syllabus are not relevant for a broad public audience, but I include the full syllabus nonetheless in order to give a flavor of the course and the philosophy I bring to it.
This course uses the R programming language in the RStudio integrated development environment. RStudio Cloud is a free version of RStudio that you can run on any device that has an internet connection and a web browser.
Here are some help resources for R.
-
Learning R
-
Cheat Sheets
-
Help Resources
A few characteristics of my on-the-ground course include:
- Ungrading
- Flipped classroom style, including pre-class quizzes
- Introductory activities that get students oriented to the course
- Organization around weekly blocks of material
- Substantial in-class small-group discussion
To enable you to make easy and flexible use of the resources here, I have eliminated most of these elements from this public facing version of the course. Essentially, what I am providing here is a core dump of materials I use. The materials are linked throughout the various course units. Additionally, you can access the raw materials in this respository’s subdirectories:
-
Videos
-
Reading
- Why I Don’t Grade, by Jesse Stommel
- The Mathematics of Mass Testing for COVID-19
- DataCamp Hid a Sexual Harassment Incident by its CEO [CW/TW: Sexual Harassment]. DataCamp is this course’s default resource for learning R because it is the best-designed and most effective resource I know of. However, DataCamp has a problematic past, and I feel an ethical imperative to be transparent about this, which is why I am having you read the article linked above. If you feel you cannot or should not use DataCamp, I encourage you use an alternative option, including one of the choices I have listed in the R Resources section. In case it impacts your decision, please know that DataCamp does not gain financially from us using it, as instructors at colleges/universities can get six free months of DataCamp for their students. In any case, you are 100% free to make whatever choice you want and I will support you fully!
-
DataCamp Coding Practice
-
Videos
-
Reading
-
DataCamp Coding Practice
-
Activity - R Bootcamp [.md for viewing] [.Rmd for editing]
-
Pset - R Bootcamp [.md for viewing] [.Rmd for editing]
-
Challenge Problems
- Many students take the formula for Taylor series as a given, but it’s valuable to understand how it comes from calculus. Derive the Taylor series formula [hint: start with the Fundamental Theorem of Calculus].
-
Looking ahead
- 8.2 - 7.2 - 1 = ?
- 1018 + 100 − 1018 = ?
-
Videos
-
Reading
-
DataCamp Coding Practice
-
Activity - How Computers Store Numbers [.md for viewing] [.Rmd for editing]
-
Pset - How Computers Store Numbers [.md for viewing] [.Rmd for editing]
-
Videos
-
Reading
-
Activity - Fundamentals of Linear Systems [.md for viewing] [.Rmd for editing]
-
Pset - Fundamentals of Linear Systems [.md for viewing] [.Rmd for editing]
-
Challenge problems
-
A theory problem: prove that the condition number of a matrix is equal to the norm of the matrix times the norm of the inverse of the matrix.
-
An applied problem: do the “reality check” on the Euler-Bernoulli beam in section 2.4 of Sauer’s Numerical Analysis.
-
-
Videos
-
Reading
-
Activity - Solving Linear Systems [.md for viewing] [.Rmd for editing]
-
Pset - Solving Linear Systems [.md for viewing] [.Rmd for editing]
-
Other Resources
-
Challenge problems
- Learn about the secant method for root finding and calculate (analytically) the order of convergence. Check your result with a numerical example.
- Recap #1 [.md for viewing] [.Rmd for editing]
-
Videos
-
Reading
-
Activity - Interpolation [.md for viewing] [.Rmd for editing]
-
Pset - Inteprolation [.md for viewing] [.Rmd for editing]
-
Other Resources
-
Challenge problems
-
Learn how to implement interpolation via Newton divided differences and implement the technique in R.
-
Prove the formula for Chebyshev interpolation nodes.
-
-
Videos
-
Reading
-
Activity - Least Squares I [.md for viewing] [.Rmd for editing]
-
Pset - Least Squares I [.md for viewing] [.Rmd for editing]
-
Other Resources
-
Challenge problems
- TBD
-
Videos
-
Reading
-
Activity - Least Squares II [.md for viewing] [.Rmd for editing]
-
Pset - Least Squares II [.md for viewing] [.Rmd for editing]
-
Other Resources
-
Challenge problems
- TBD