One of the components of my linear algebra course that has felt like a real struggle is finding a meaningful way to integrate use of technology into the course. By meaningful, I intend something that requires the students to engage with modern computational technology. I’ll have more to say about that below, but a big part of the reason for writing this post is to hash out ideas about what I want to do and how I will do it.
Context: Departmental Student Learning Outcomes
Two or three years ago, the UNI Math Department did a bit of a curriculum review. As part of this, we adopted an official Student Learning Objectives Document (you know, assessment and accountability are everywhere these days) and we discussed tweaks to a few courses to make everything fit.
One of the formal Learning Objectives became this:
Students will demonstrate basic proficiency with mathematical software. Students will be able to make informed choices about when the use of technology is viable and useful.
And the place we chose to address this learning outcome formally is…Linear Algebra. The main reason for this is that linear algebra is part of our core curriculum: it is part of all three of our major programs. Another reason is the timing: linear algebra comes early enough in each of those programs that we can hope to make use of the technology skills built in later courses, but late enough that we are not impacting many of our client departments heavily with this adjustment.
My Previous Attempts
I have taught linear algebra three times at UNI, once in each of the last three years. Each time I had the revision to our Student Learning Objectives in mind, and I tried to do something to address it. This fit nicely with another project I got involved in: UTMOST is a project funded by the NSF and run through the American Institute of Mathematics focused on adoption issues for open-source textbooks and software in the mathematics undergraduate curriculum. This came about right as I was starting to teach linear algebra and I got involved as a “test site.” Fitting in with the project’s aims, I have been learning how to use Sage: and I have tried to incorporate it into my classroom.
At first, this meant giving some large Sage-based homework assignments. These were not quite projects, but they were stand-alone assignments. This was a bad idea. The size and complexity of the assignments meant that students did not really learn how to deal with using Sage because they procrastinated, got frustrated on deadline, and gave up. I learned the hard way that most of my students have very little sense of how to deal with a computer. Even simple tasks like navigating to a web site and making an account were cause for grief and apprehension. It didn’t help that very few of them attended the introductory workshops I held on how to use the software.
Then incorporating software meant giving out weekly homework assignments as Sage worksheets, with embedded instructions. I worked harder at breaking things down into manageable bits to be learned each week. To get the homework and do it, students would have to open Sage and work with a worksheet right away. I made sure to assign problems that were challenging, but workable if you explored using the computer. As I learned the day before the first midterm, most of the students got as far as logging in, and then printed the worksheets and attempted to work out all of the tasks with a pencil and paper.
Last term, I again required students to get their assignments through use of Sage. This time, we used the new cloud service, and I made dedicated tutorial worksheets to go with each reading. I started assigning tasks that explicitly required using the software. (
Use Sage to...) This worked better. I gave a take-home midterm that required using the computer, and a few did quite well. But I still found many students avoiding the computer like the plague. I had one admit to me eight weeks into the term that she never bothered to figure out how to log in, and a friend in class sent her a pdf copy of the assignment for each class meeting.
Clearly, we are failing to meet the spirit of the learning goal above.
So it is time for a new plan. I had two disastrous failures, and one mixed experience. But this coming fall I will have two sections of linear algebra, and the curriculum changes that we have proposed officially take effect. It is time for a new, better-informed plan.
Sharpening the Student Learning Objectives
I like the Student Learning Objective statement above. (I helped write it.) But I have come to realize it is inadequate. I don’t have the power to rewrite it unilaterally. But as most of my department seems to be of the opinion that I should just figure this out and do it, I have taken it upon myself to add depth and structure for future use.
First, I added some specific, measurable goals.
Student Learning Goals associated with the Technology Specification
Goal 1: Students can name multiple examples of computer algebra systems for doing work in mathematics.
Goal 2: Students can use one system at the level of beginner, by starting the system, opening a worksheet or development environment, performing basic computations, and making plots.
Goal 3: Students can find information about the capabilities of their chosen system to determine if the system has a particular feature or functionality built-in.
Students can access documentation on how to use unfamiliar features or functionality, and then use that information to make use of that feature.
Goal 4: Students can describe circumstances where use of a computer is a reasonable or appropriate choice to further work in mathematical investigation, and identify features of the circumstance which call for the computer-based work.
I hope these will suit my colleagues. I have asked a few of them for comment, but not heard back much. I choose to believe that this is because it is officially summer.
The Plan for Assessment
The goals don’t mean much if I don’t assess them. So, I plan the following set-up. At the start of the term, I will give the students detailed information about what is expected of them and resources to learn about how to meet those expectations (a simple page on the course web-site with links, a collection of short video tutorials, and other things). Of course, I will also keep using the software in class myself, and I will still give the students the short tutorials that go with the daily assignments.
We will begin the term by using embedded Sage cells in course web pages, but transition to forcing students to log in to the SageMathCloud to get their work.
A few weeks into the term, students will be directed to schedule a short appointment (10-15 minutes) with me, or perhaps the grader, to do a “gateway assessment.” The gateway exam will be an all-or-nothing event. Either the student demonstrates competence on all of the goals, or she does not. I expect that an interview should end as soon as a student fails to demonstrate competence at any stage–there should be no hemming and hawing over these tasks. We will conduct the assessments while sitting at a computer station. I think that the labs in my building are more than sufficient for this. During the interviews, we will ask questions aimed directly at the goals outlined above.
I have not, yet, decided how much data to keep from these assessments. At a bare minimum, I need to keep a record of which students pass the assessment. But I think I might keep a spreadsheet which records each attempt, the date of those attempts, and how far into the assessment a student gets.
The Assessment Script
The real details hide in the questions I ask to check on my goals. To keep things running smoothly, I have written an “assessment script.” Each question in the script is explicitly tied to one of the four goals. It looks like this:
Technology Specification SOA Script
The following are questions to be asked in determining if a student has met the goals of the Technology Specification.
[G1.] Can you name some computer algebra systems? How many of those do you know how to use?
[G2.] Choose one of these that you know how to use. Open the program/sign in to the service and then open a new worksheet/start up the computational environment.
[G2.] Use the software to find the first 12 decimal digits of the number 2pi/3 -sqrt(e).
linear algebra specific questions
(replace with something appropriate if used in a different course)
[G2.] Define two 3-vectors a and b and add them.
[G2.] Define a 3×3 matrix A. Use the system to find the determinant and rank of this matrix.
[G2.] Use the computer algebra system to solve the system of linear equations represented by Ax = b.
[G2.] Use the computer algebra system to plot one of the equations from the system Ax = b.
more general questions
[G2.] Save this worksheet/session so that you can access it later.
[G2.] Find a way to share this work with me. You can download and print, email, or use any other way that this system allows you to share your work. How many ways can you share this work?
[G4.] Give an example of a time when you might want to use this computer algebra system instead of just a pen and paper. Explain why this is a time that choice should be made.
[G3.] There is a mathematical construction called
<insert new term here>. Show me how you would find out if your chosen computer algebra system has any functionality related to
<new term>. Now that you see there is some functionality, show me how you can access the help or documentation of this system to learn how this bit of the software works. Now that you have the documentation, show me how to use this functionality.
For linear algebra, a possible list of ideas for the
<new term> includes: minimal polynomial, eigenvector, Cholesky decomposition, polar decomposition, cross product, Jordan form, positive definite. This is just a sampler. The important thing is to choose something new to the student.
Resources I Should Provide
I have started compiling a list of resources I should make available to the students.
Some Discussion on a web page
I will make a page on my course web site that discusses possible computer algebra systems, including Maple, Mathematica, Matlab, graphing calculators, etc.
I will lay out my reasons for choosing Sage, and provide links to resources for using it:
- the official Sage web site,
- online documentation,
- the sage cell server,
- the cloud service,
- a few tutorials (from lengthy to short: official one, the SDSU tutorial, my beginner’s tutorial)
- my youtube channel with short tutorial videos
Video Tutorials to Make
I have been impressed with the short video tutorials that Vincent Knight has made for his students. And recently William Stein made a few that were similar in their tight focus and short length. This seems a good approach: Here is something you want to know how to do, described clearly with an example in two minutes or less.
I want to make some of these, or
steal link to some of these, all of which are Sage-specific:
- How to make an account on SageMathCloud
- How to use git to pull down all of the course materials
- How to make a new worksheet and evaluate some cells (basic arithmetic)
- How to do some basic plotting 2d
- basic plotting 3d
- How to make and manipulate vectors and matrices
- How to share work: printing a pdf, sharing a project with another user, downloading a worksheet
- How to get help: tab completion, the ? and ?? methods.
- searching Sage documentation and source code
Well, two thousand words seems like enough. Thanks for those of you who stuck it out so far into this. I welcome all constructive comments and any questions.