We’ve had one full meeting of Computer Tools for Problem Solving (the MATLAB course I’ve blogged about). According to the survey I’m having students fill out on our Moodle site, it went pretty well, even if it was a little like drinking from a fire hose. This first meeting was a lengthy guided tour of all the core features of MATLAB, assuming no prior knowledge of computer algebra systems or programming. Subsequent meetings will be a lot more hands-on, with students working in groups on lab activities centered around a particular topic or problem. This next week it’s graphing, for instance, and students will be creating all kinds of different plots of data and functions.
Students prepare for these activities through out-of-class reading and viewing assignments and through homework assignments that are intended both to pull together the material they learned in week n, and to get them to teach themselves the basics for what they will need in week n+1. Here’s the homework I gave last week, for instance. Self-teaching is at the heart of the pedagogical design of the course. This past week I stressed the centrality of the doc and lookfor commands as the primary way they will learn what commands are available in MATLAB and the syntax for each, and I laid down the rule that I will never answer a question of the form, “How do you do this in MATLAB?” I want students to be self-feeders. (I will be fielding questions from the reading/viewing each week prior to the activity starting, so the students are not totally on their own.)
Which brings us to the question of resources. As I mentioned in a previous post, none of the wide array of entry-level MATLAB textbooks really hit the right notes for my student audience. So I ended up going with no textbook at all. I realized that in learning MATLAB myself, I’d come across a wealth of resources on the web that were completely free, and if properly integrated into the course, they could serve just as well for students as they did for me.
I find myself gravitating towards three main sources:
- The page of tutorials for MATLAB at Mathworks.com. This contains two hours’ worth of professionally-produced, appropriately-pitched interactive video tutorials starting from the beginning and hitting all the important topics one would need to get started with MATLAB. There are very few places in these videos that are not excellent, and there are even built-in multiple choice quizzes to assess your learning of the material as you watch. For me, these videos are the main “textbook” for the course.
- Cleve Moler‘s free e-book, Experiments with MATLAB. When I first drew up this course, Moler’s book was going to be the textbook. It is said to be designed for high school students taking calculus or a science course. Unlike the bone-dry technical approach that most introductory MATLAB books seem to take, Moler teaches MATLAB via the problems he sets out. It’s a great idea. Unfortunately, the book quite often badly overestimates the math and computing background — and comfort level — of the typical college student, and it just doesn’t work as a primary source for my students. Nonetheless, it’s free, and it is well-written when the level of writing is audience-appropriate, and the problems are fun. We’ll be using 3-4 of the early chapters later in the course for activities.
- The MIT course “Introduction to Computer Science and Programming” available through MIT OpenCourseWare. This is actually a course on basic computer science using Python and has no MATLAB in it, but it’s so well-done and the problems so well-conceived that I am finding much that I can retrofit for the MATLAB course. When we get to MATLAB programming in week 5, I will be basing much of my approach to teaching the material on the outstanding teaching of the MIT profs, Eric Grimson and John Guttag. And many of the problems I’ll be giving are just appropriated from their problem sets with Python being replaced by MATLAB. (All OCW courses are under a Creative Commons license that allows this kind of remixing.)
The really nice thing about these three sources is that they are all free for students and me to use. Since students aren’t paying $60+ for a textbook, they can consider spending $100 to purchase the student version of MATLAB and not be tied to the campus network for their classwork.