Category Archives: Computer algebra systems

ICTCM day 2

Euclid, Greek mathematician, 3rd century BC, a...

Image via Wikipedia

[Ed. note: This post was originally written on March 13 while at the ICTCM, but I ran out of time on my $12.95 per day internet access before being able to post it and only now have had the chance to get back online. So it’s about 36 hours out of sync.]

Slower day at the ICTCM than yesterday. For one thing, I took some time out in the morning to get the MATLAB course prepped for Monday; and I needed time to finish some grading in the afternoon. But I manage to have a pretty productive day nonetheless.

The main event — one of the primary reasons I came here — was a Geogebra 3.2 minicourse this morning. I’ve been a diehard Geometers Sketchpad user for a long time, but after becoming aware of Geogebra lately, I began to wonder if it might be time for a switch. I have no problem with the usability and features of Sketchpad, but if there’s free software out there that is pretty close to the same quality, the possibility of simply installing it everywhere (like we’ve done on campus with Winplot) is pretty enticing. The question was whether Geogebra’s features and usability matches up well with Sketchpad’s.

After the minicourse, I’d say the answer to that question is definitely “yes”. Particularly impressive is Geogebra’s ability to export entire constructions to HTML as an interactive web page. I have some definitely plans for this kind of thing for the class now. There’s more to learn — unfortunately we didn’t go very deep with the software in the minicourse — but definitely Geogebra will be the software platform for the geometry course this fall. Now I have to decide on a textbook — or to go without. Hope to blog on that later.

Also today I attended a session on using clickers in mathematics courses. I’ve been following Derek Bruff on Twitter for some time (he’s an assistant director at the Vanderbilt Center for Teaching, where I used to be a Master Teaching Fellow) and have gotten interested in using clickers through his work with them. This was a general survey talk, but very well done and it definitely increased my interested in folding clickers into my teaching mix at some point.

Overall the ICTCM is one of the better conferences out there for people who are interested in math, education, technology and the intersections between these. Look for the announcement for ICTCM 2011 coming soon!

Reblog this post [with Zemanta]
Advertisements

2 Comments

Filed under Computer algebra systems, Education, Educational technology, Geometers Sketchpad, ictcm, Math, MATLAB, Teaching, Technology

MATLAB course details and update

We start classes this week, a bit later than most other folks thanks to our January term. That means the long-awaited MATLAB course will be formally kicking off. I’ve had a few people ask me about what we’re doing in this course, so here’s an update.

This has been a tricky course to plan, because the audience is definitely not the usual one for an introductory MATLAB course. Almost all the introductory textbooks and materials I reviewed for the course, and all the introductory MATLAB courses I looked at from other schools, have a particular student demographic in mind: they are all engineering majors; they are all freshmen or sophomores with either a semester of programming under their belts or at least a very high level of comfort with computers and the “guts” of programming; and they are all attending large universities in which the particular academic makeup of the institution plays little to no role in how the class is designed.

By contrast, of the 15 students enrolled right now in my course:

  • 9 are freshmen; 5 are sophomores. (At least that demographic fits the profile.)
  • 5 are Education majors; 3 of those are secondary education majors, the other 2 elementary education majors. There is one lone Pure Mathematics major. 9 have no declared major at all.
  • Of the 9 undeclareds, two of those are students who are pursuing our dual-degree program in Engineering and just haven’t gotten around to filling out the paperwork yet.
  • But that’s it: Two undocumented engineering majors; NO science majors. The plurality are Education majors, and once the undeclareds get around to declaring, this may become the majority.
  • I don’t have data for this, but I am pretty sure less than half of the students have ever had any exposure to programming whatsoever. I wouldn’t be surprised to find out it’s more like 1/5 of the class with no programming experience.
  • Again, no data, but I think a good portion of the students would not consider themselves comfortable around computers once we start talking about something besides basic office apps and web pages. For example, anything having to do with typing stuff into a command line. (Like much of MATLAB.)

So this is not the audience that is “supposed” to be taking a MATLAB course. They are not (for the most part) scientists and engineers, and if you start throwing the details of fprintf, memory addressing, floating point arithmetic, and so forth to them you will likely lose them.

And yet — and this has been the frustrating thing — almost all introductory MATLAB materials assume students are engineers and scientists who have no problem being thrown directly into learning about fprintf, memory addressing, and floating point arithmetic. I won’t name names or authors, and these are not bad books, but they are written with a particular assumption in mind about who is using them. And that assumption does not work for my class.

Therefore I have had to do a lot of remixing and retrofitting of existing materials in order to deliver what I think is a solid intro MATLAB course, one that I honestly think satisfies the same learning objectives as the course at our partner university (which uses one of those books I mentioned above, and it works for them because they have the “right” audience for those books), but also one that really works for the decidedly non-MATLAB-like group of students I will have.

I’ve tried to adhere to a few basic design principles when drawing up this course:

  • Get students comfortable with the software and how it works before throwing them into programming. But: Don’t wait too long to begin programming.
  • Connect use of the software back to the mathematics courses they know: namely Calculus I and Calculus II. (The course is a prerequisite for Calculus III and is usually taken alongside Calc II.) And take it very easy on any other kind of math in the course.
  • Get them doing plots and working with data from Excel files early and often. Pictures and data: Students dig these.
  • Make heavy use of the Symbolic Toolbox and get them using it early as well. And by “Symbolic Toolbox” I really mean MuPad, not the nearly-indecipherable symbolic manipulation done inside the MATLAB command line by calling the Symbolic Toolbox. This is actually quite different than how most intro MATLAB materials do it; if you see the Symbolic Toolbox at all, it’s the last chapter of the book and MuPad is never mentioned.
  • Take it easy on the science content of the course and instead emphasize use of MATLAB on topics with which the majority of the class is familiar and comfortable. In the canonical audience, that would mean precisely that a lot of science ought to show up. For us, not so much.
  • Have fun first, foremost, and throughout. Remember that many of the students in the course are not only unfamiliar with computers (aside from using them to check Facebook or use a word processor) but are actually scared of them — probably a greater portion of the class than will let on to it. Keep it light. If something looks more confusing than useful, it probably is; and unless there’s some compelling reason to hack through it, just drop it and cover something else.

I think that with these principles in mind, a lot of MATLAB purists would look at my course and sniff at it, thinking it’s not a “real” MATLAB course. It certainly will not walk or talk like the MATLAB course you’ll find at the typical Big Engineering School. But we’re not a big engineering school; we’re a liberal arts college, and the Liberal Arts informs what we do in every course, including a MATLAB course. I guess I am not trying to create a course that in turn creates more MATLAB purists. I am trying to create a course that shows students that programming is a great application and instantiation of critical thinking and problem solving. If they don’t know all the command line options to fprintf, but later on when confronted with a problem they first thing they think is to try out some MATLAB code to solve it, I think we’ve had a successful experience.

That’s an overview of the philosophy and design of the course. In another post, I’ll talk about the course schedule, assessments, and plans for what we’ll do in the class. This gets interesting because, as mentioned above, we’re not really using a book but rather just McGyvering a bunch of pre-existing resources to fit our particular needs.

2 Comments

Filed under Computer algebra systems, MATLAB, Teaching, Technology

Courses and “something extra”

Some of the most valuable courses I took while I was in school were so because, in addition to learning a specific body of content (and having it taught well), I picked up something extra along the way that turned out to be just as cool or valuable as the course material itself. Examples:

  • I was a psychology major at the beginning of my undergraduate years and made it into the senior-level experiment design course as a sophomore. In that course I learned how to use SPSS (on an Apple IIe!). That was an “extra” that I really enjoyed, perhaps moreso than the experiment I designed. (I wish I still knew how to use it.)
  • In my graduate school differential geometry class (I think that was in 1995), we used Mathematica to plot torus knots and study their curvature and torsion. Learning Mathematica and how to use it for mathematical investigations were the “something extra” that I took from the course. Sadly, the extras have outlived my knowledge of differential geometry. (Sorry, Dr. Ratcliffe.)
  • In the second semester of my graduate school intro abstract algebra class, my prof gave us an assignment to write a computer program to calculate information about certain kinds of rings. This was a small assignment in a class full of big ideas, but I had to go back and re-learn my Pascal in order to write the program, and the idea of writing computer programs to do algebra was a great “extra” that again has stuck with me.

Today I really like to build in an “extra”, usually having something to do with technology, into every course I teach. In calculus, my students learn Winplot, Excel, and Wolfram|Alpha as part of the course. In linear algebra this year I am introducing just enough MATLAB to be dangerous. I use Geometers Sketchpad in my upper-level geometry class, and one former student became so enamored with the software that he started using it for everything, and is now considered the go-to technology person in the school where he teaches. In an independent study I am doing with one of my students on finite fields, I’m having him learn SAGE and do some programming with it. These “extras” often provide an element of fun and applicability to the material, which might be considered dry or monotonous if it’s the only thing you do in the class.

What kinds of “extras” were standouts for you in your coursework? If you’re a teacher, what kinds of “extras” are you using, or would you like to use, in your classes?

Reblog this post [with Zemanta]

5 Comments

Filed under Abstract algebra, Calculus, Computer algebra systems, Education, Geometers Sketchpad, Geometry, Linear algebra, Math, MATLAB, Sage, Teaching, Technology, Wolfram|Alpha

MATLAB for the masses

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.

6 Comments

Filed under Computer algebra systems, Math, MATLAB, Technology

Technology in proofs?

We interrupt this blogging hiatus to throw out a question that came up while I was grading today. The item being graded was a homework set in the intro-to-proof course that I teach. One paper brought up two instances of the same issue.

  • The student was writing a proof that hinged on arguing that both sin(t) and cos(t) are positive on the interval 0 < t < π/2. The “normal” way to argue this is just to appeal to the unit circle and note that in this interval, you’re remaining in the first quadrant and so both sin(t) and cos(t) are positive. But what the student did was to draw graphs of sin(t) and cos(t) in Maple, using the plot options to restrict the domain; the student then just said something to the effect of “The graph shows that both sin(t) and cos(t) are positive.”
  • Another proof was of a proposition claiming that there cannot exist three consecutive natural numbers such that the cube of the largest is equal to the sum of the cubes of the other two. The “normal” way to prove this is by contradiction, assuming that there are three consecutive natural numbers with the stated property. Setting up the equation representing that property leads to a certain third-degree polynomial P(x), and the problem boils down to showing that this polynomial has no roots in the natural numbers. In the contradiction proof, you’d assume P(x) does have a natural number root, and then proceed to plug that root into P(x) and chug until a contradiction is reached. (Often a proof like that would proceed by cases, one case being that the root is even and the other that the root is odd.) The student set up the contradiction correctly and made it to the polynomial. But then, rather than proceeding in cases or making use of some other logical deduction method, the student just used the solver on a graphing calculator to get only one root for the polynomial, that root being something like 4.7702 (clearly non-integer) and so there was the contradiction.

So what the student did was to substitute “normal” methods of proof — meaning, methods of proof that go straight from logic — with machine calculations. Those calculations are convincing and there were no errors made in performing them, and there seemed to be no hidden “gotchas” in what the student did (such as, “That graph looks like it’s positive, but how do you know it’s positive?”). So I gave full credit, but put a note asking the student not to depend on technology when writing (otherwise exemplary) proofs.

But it raises an important question in today’s tech-saturated mathematics curriculum: Just how much technology is acceptable in a mathematical proof? This question has its apotheosis in the controversy surrounding the machine proof of the Four-Color Theorem but I’m finding a central use of (a reliance upon?) technology to be more and more common in undergraduate proof-centered classes. What do you think? (This gives me an opportunity to show off WordPress’ nifty new polling feature.)

9 Comments

Filed under Computer algebra systems, Education, Grading, Math, Problem Solving, Teaching

Encountering the NSpire; or, My calculator can beat up your calculator

One of the biggest conversation pieces here at the ICTCM is the Texas Instruments NSpire, their most recent entry in a long line of calculators. Here’s a firsthand look at it; click to enlarge, and then just take your time to look at the thing and think about it:

nspire-3.jpg

On the right there is a normal-sized TI-30-something scientific calculator. That should give you an idea of the scale. Here’s another shot with me holding it, which should also give an idea of the size of this thing; and another shot which gives a better view of the screen.

nspire-2.jpgnspire-1.jpg

But let’s go back to that first photo. First of all, yes, the NSpire does actually have not one but two keyboards. They snap in and out; the one that’s un-snapped is just a duplicate of the TI-84’s keyboard. The one that’s snapped in is, well, let’s just say “busy”.  The first thing you notice is that there are buttons between the buttons. The little rounded buttons are a kind of alphanumeric keyboard. Well, really the first thing you notice is that this thing is big. Really big. It’s hard to get past the big-ness of the thing. How can the massive size not be a factor in getting kids to use the thing? Would you want to whip this out on the bus to do your homework, knowing that doing so clearly identifies you as the kid that needs to get beaten up?

From what I can tell, the NSpire is supposed to be a full-featured computer algebra system in a handheld device. If that’s so, then it certainly wouldn’t be the first time TI has tried to market such a thing. That honor would go to the TI-92 graphing calculator, which I owned about 10 years ago and, honestly, I really liked it, even though apparently I was the only person who did, because it was a marketing disaster and got banned by the AP Calculus exam to boot. (It was banned from the AP not because people didn’t like it but because it had a QWERTY keyboard.)

I am not sure what the NSpire brings to the table in terms of CAS functionality that isn’t already available in industry-standard CAS computer software like Maple or Mathematica. I overheard one person giving a rave review because it treats functions as geometric objects, whatever that might mean. I don’t think that a function is a geometric object — the graph of one certainly is — so I’m a little in the dark here.  I believe it means that you can enter in a function and view it dynamically in multiple representations, so if you have a graph of a function with the tangent line drawn at a point, for instance, you can go to a split-screen view and set up a spreadsheet that shows all this data, and then if you move the point of tangency the stuff in the spreadsheet changes as well. More here (complete with annoying music).

There is also a computer software-only version of the NSpire, so you can use the CAS without owning the calculator. That sounds more likely to be useful. The downside is that, according to the TI rep with whom I spoke at the vendor booth this morning, TI is ditching Derive — its simple and very serviceable CAS that has been around since forever — to focus solely on the NSpire line of products. They have already quit producing Derive and will cease tech support for it in 2010. I think this is a huge mistake, and TI will end up paying for it in the end. But that’s the subject of another post.

Isn’t the NSpire just really, really over the top here? I think so. After a certain point, you simply cannot cram more and more stuff onto a proprietary device. You will either make the device too expensive, too bulky, too confusing to use, or too proprietary in the sense that the device is trying to reinvent software applications that already exist in a simple, affordable, and ubiquitous way. (Think MS Excel, versus the proprietary spreadsheet on the NSpire.) I think TI crossed all four of those boundaries years ago, and the NSpire is just a step further — several steps further — in a direction that is really just a dead end.

The thing doesn’t even have a touch screen, for goodness sake, which is so easy and cheap to implement that it’s unfathomable why you wouldn’t build one into the calculator instead of having hot-swappable keyboards. Swapping keyboards, for gosh’s sake. What kind of user interface is that? Are students — who are used to iPhones and, at worst, the 12-15-button interface of a cell phone — supposed to see the NSpire as a device they will actually adopt and use?

The session I attended this morning went into this issue, regarding just how far can you possibly push the technology of the graphing calculator before you simply must abandon the format and move through a paradigm shift. More on that later, though.

5 Comments

Filed under Calculators, Computer algebra systems, Education, Educational technology, ictcm, Technology

Saturday agenda for the ICTCM

It was a full day yesterday here at the ICTCM, and the day was capped off with a very enjoyable dinner with Maria Andersen and Scott Franklin, along with two of Maria’s friends who (if I understood Maria right) are soon-to-be math bloggers. I have photos and a video forthcoming.

Today will be no less busy:

  • 8:00-8:45: Session on handheld calculating devices over the last 30 years and how they have changed teaching. Very interested in this talk; I’ll have more to say about some of the handheld technology I’m seeing here.
  • 9:00-9:45: Session on using Maple 11 in the advanced calculus and modern algebra classroom.
  • 9:45–10:30: Exhibit hall surfing.
  • 11:30-12:05: Session on labs in mathematics classes.
  • 12:30-1:15: Session on using Geometers Sketchpad alongside computer algebra systems.
  • 1:30-2:15: Session on Winplot.
  • 2:30-3:15: Take a break!
  • 3:30-4:15: Session on blogging with concept maps. Two of my favorite things put together, so this ought to be fun.
  • 4:30-5:15: Haven’t made up my mind yet — either a session on CaluMath or a session on using Geometers Sketchpad in calculus courses.

Unfortunately the internet access I am paying $10 a day for isn’t wireless — or at least, there is wireless but yesterday it didn’t play nice with me. So I won’t be blogging continuously. Which is probably a good thing because I need to pay attention at these sessions. Speaking of which, it’s time to head down to the first one.

Comments Off on Saturday agenda for the ICTCM

Filed under Calculators, Computer algebra systems, Education, Educational technology, Geometers Sketchpad, ictcm, Software