Reflection on Linear Algebra
Linear algebra is a course that deals with linear mathematics such as the geometry of the plane and three-dimensional space, the algebra of linear equations, and the study of vector spaces, matrices, and the four fundamental subspaces. Fall 2016 is the first time I taught this course. I provide the syllabus in order to demonstrate my expectations for the course. Generally, I approached teaching this course similar to other courses. However, there are goals specific to this course. I had many goals at the start. Three of the big goals were
To expose students to proof writing. It is important to begin developing the students ability to write proofs at early stages.
To expose students to as many applications of linear algebra as possible so they may experience its usefulness.
To teach the students linear algebra programming via Python so that they may know a modern day scientific programming language.
I did meet each of these goals. However, since this was the first time I taught this course, I did run into difficulties.
In order to slowly teach students how to write proofs, at the beginning of the term, after the basics of matrix algebra was covered, I spent two days on proof writing. We covered some proofs that I believed would be an easy introduction.
There was significant difficulty because what I thought was easy to prove is not for students. This was their first exposure to proving whether a statement is true or not. Two days turned into three days. By the end of the three days, many students wrote at least one proof, but did not understand enough to do several.
In order to remedy this, I began assigning textbook problems that were as proof-like as possible. More practice allowed students to easily write short proofs within exam time.
I also included proofs in the projects I created.
I created projects and labs with problems pertaining to applications of linear algebra. For example, in Project 1, students would need to consider a flow problem involving salt water, and in Lab 3 students are placed into a position at an engineering firm. These problems came from other textbooks, from materials I gained from previous instructors, or I created the problem myself.
Students had difficulty translating the application to a linear algebra problem, and vice versa. They spent much time in my office attempting to understand how to turn the problem into something they were comfortable solving.
There was a slow introduction to Python for linear algebra. The goal of the homework was to familiarize students with the scientific library known as numpy.
The module numpy was not the only library needed for each of the labs. There were many libraries the students needed to familiarize themselves with, making this homework insignificant.
I had little experience with Python at this time and did not learn until too late that Python is not at all like Matlab or Maple. The issues that came from this: (1) unlike in Maple, symbolic computing is difficult and required mastery of the sympy module, and (2) simple calculations in Matlab, such as [L,U] = lu(A); y = L\b; x = U\y, become very messy in Python and can be frustrating if you make a typo.
As I became more familiar with Python, I was able to create better lab prompts. These assignment documents made the Python portion much easier for students and they began to enjoy and look forward to lab days.
While there were many rocky portions to the class, I was able to correct my mistakes during the semester. This helped to remove many of the justified, frustrated attitudes from students. For a future Linear Algebra course,
I will not dedicate a week to proofs, but tackle proofs with students as they naturally arise in the homework or during the in class discussion. This seemed to help significantly.
I will not use Python for labs. I defer to the precedent set for Maple. While Python is a skill a modern day mathematician should learn, a linear algebra course is not the proper place to introduce this skill.
I will attempt to do with applications as I plan to do with proofs: introduce them slowly into the course. I plan to begin with in-class exercises. Then, include them in the weekly homework assignments. The students will have practice. Therefore, a project which includes applications will not be such a leap in problem solving approach.