Previous
Next

MATLAB for the masses

July 15, 2009, 12:39 pm

matlabThe upcoming academic year will contain a number of new projects for me that are going to be quite exciting. I’ve twittered about one of these projects recently, and each time I do so, I get replies from folks wanting to know more, so I’m now shifting discussion of this to the blog. The project: Designing and teaching a one-hour course on the computer software MATLAB for a general mathematical audience. This course, titled “Computer Tools for Problem Solving”, is going to begin in Spring 2010. It will be a one-hour lab-oriented course to be taken corequisite with Calculus II. Every student who takes Calculus II will be expected also to take the MATLAB course.
Why are we doing this? Three reasons.
To speed up our 3:2 engineering program. Under this program, students go to my college for 3 years to take foundational math and science courses along with liberal arts courses; then transfer to our partner university to take in-depth engineering courses for 2 years. Then they graduate with a BA from us in chemistry or applied math, and with a BS from the university in engineering. One of the foundation courses in the engineering program at the university is a one-hour MATLAB course; this course was designed from the start to be one which would replace the course at the university. By taking it at our college instead of at the university, the students’ five-year schedule is lightened considerably.
To get students using computers to solve problems early and often, especially using programming. Our alumni and industry contacts are constantly telling us that technological skill, especially programming skill, is essential for the jobs they are doing, even if they aren’t employed as programmers. Our department has always been pretty good at introducing and using computer algebra systems such as Maple in our classes, and lately we’ve been pretty taken with spreadsheets. What’s been lacking is a coherent use of programming to solve problems. Our majors have to take a semester of C++, but we have not required any programming in our math courses, and so there’s no requirement or incentive for students to use what they learn in C++. Actually it’s possible to put off that C++ class until the last year, and many students do so. To be honest, we can’t blame them, because C++ is much too complicated for what we intend. We don’t expect students to develop a complete, bug-free end-user application when asked to solve a mathematical problem with programming; we just want them to be able to take a programming environment and come up with a quick, dirty, but usable tool to answer a question or make an observation. We think having MATLAB around and training students on it will provide the right kind of programming environment for the sorts of programming we want them to do.
To develop a platform for “programming across the curriculum”. Tying in to the reason above, we envision changing our post-calculus courses over time to include significant programming assignments that involve MATLAB. Further down the road, we will be retooling many of our post-freshman courses — Calculus III, Linear Algebra (especially), Differential Equations, and so on — to involve significant amounts of scientific computing and programming in them, and MATLAB will be the primary platform for all programming and non-symbolic work. And therefore the MATLAB course will be a centralized gateway for training in the software.
The course is approved and on the books for Spring 2010. One of the things that’s a little scary is that I myself am a MATLAB neophyte. I attended a Mathworks-sponsored MATLAB Fundamentals workshop this past March, and I’ve been working on teaching myself the software this summer. But part of the process of teaching the course is learning the software myself, which is fun and hard at the same time. I hope the students in the course have the same viewpoint once they are learning MATLAB as well.
I’ll be continuing to blog about the development of this course and MATLAB-related thoughts as we approach the “launch” of the course in February. As always, leave questions and reactions in the comments and I’ll get to them in future posts.

matlabThe upcoming academic year will contain a number of new projects for me that are going to be quite exciting. I’ve twittered about one of these projects recently, and each time I do so, I get replies from folks wanting to know more, so I’m now shifting discussion of this to the blog. The project: Designing and teaching a one-hour course on the computer software MATLAB for a general mathematical audience. This course, titled “Computer Tools for Problem Solving”, is going to begin in Spring 2010. It will be a one-hour lab-oriented course to be taken corequisite with Calculus II. Every student who takes Calculus II will be expected also to take the MATLAB course.

Why are we doing this? Three reasons.

  1. To speed up our 3:2 engineering program. Under this program, students go to my college for 3 years to take foundational math and science courses along with liberal arts courses; then transfer to our partner university to take in-depth engineering courses for 2 years. Then they graduate with a BA from us in chemistry or applied math, and with a BS from the university in engineering. One of the foundation courses in the engineering program at the university is a one-hour MATLAB course; this course was designed from the start to be one which would replace the course at the university. By taking it at our college instead of at the university, the students’ five-year schedule is lightened considerably.
  2. To get students using computers to solve problems early and often, especially using programming. Our alumni and industry contacts are constantly telling us that technological skill, especially programming skill, is essential for the jobs they are doing, even if they aren’t employed as programmers. Our department has always been pretty good at introducing and using computer algebra systems such as Maple in our classes, and lately we’ve been pretty taken with spreadsheets. What’s been lacking is a coherent use of programming to solve problems. Our majors have to take a semester of C++, but we have not required any programming in our math courses, and so there’s no requirement or incentive for students to use what they learn in C++. Actually it’s possible to put off that C++ class until the last year, and many students do so. To be honest, we can’t blame them, because C++ is much too complicated for what we intend. We don’t expect students to develop a complete, bug-free end-user application when asked to solve a mathematical problem with programming; we just want them to be able to take a programming environment and come up with a quick, dirty, but usable tool to answer a question or make an observation. We think having MATLAB around and training students on it will provide the right kind of programming environment for the sorts of programming we want them to do.
  3. To develop a platform for “programming across the curriculum”. Tying in to the reason above, we envision changing our post-calculus courses over time to include significant programming assignments that involve MATLAB. Further down the road, we will be retooling many of our post-freshman courses — Calculus III, Linear Algebra (especially), Differential Equations, and so on — to involve significant amounts of scientific computing and programming in them, and MATLAB will be the primary platform for all programming and non-symbolic work. And therefore the MATLAB course will be a centralized gateway for training in the software.

The course is approved and on the books for Spring 2010. One of the things that’s a little scary is that I myself am a MATLAB neophyte. I attended a Mathworks-sponsored MATLAB Fundamentals workshop this past March, and I’ve been working on teaching myself the software this summer. But part of the process of teaching the course is learning the software myself, which is fun and hard at the same time. I hope the students in the course have the same viewpoint once they are learning MATLAB as well.

I’ll be continuing to blog about the development of this course and MATLAB-related thoughts as we approach the “launch” of the course in February. As always, leave questions and reactions in the comments and I’ll get to them in future posts.

This entry was posted in Computer algebra systems, Math, MATLAB, Technology. Bookmark the permalink.