Calculus III Mathematica
(compiled by Thomas Hull)
Table of Contents
In the Spring 2003 Quarter, while visiting the University
of Cincinnati, I was assigned to teach 5 Calculus III lab sections. These
were 1 credit courses that met for 50 minutes each week. They were co-requisites
of their 4 credit Calculus
III course, which covers Sequences and Series, Vector Geometry, Vector Functions,
and a little bit of Partial Derivatives. (It's only a 10-week class.) The math
department at UC had been running these labs (which use Mathematica in a very
nice, 40-computer lab with projector, white board, printer, and plenty of space
to walk around and see what people are doing) for the past three years. However,
the department had no consistent policy as to how the labs should be run. After
polling some of the faculty with lab experience, I learned that most had some
kind of lecture in the lab, then a quiz (which the students did at their computers),
then assigned homework, on which the next week's quiz would be based. I didn't
really like this approach, and a number of students had previously complained
to me about these labs (the main complaints were that it was a lot of work,
they didn't feel they were learning a lot, and the labs weren't tying into the
regular Calculus class very much).
Not knowing what I should do, I asked the ProjectNExT "older dot"
list for any suggestions for lab ideas or where to find such ideas on the web.
This web page is my attempt to present the resources I collected, as well as
make the labs I ended up creating available to others for use.
Calc Lab Resources on the Web:
Note: I was only looking for labs for material that straddled
Calc II/III. But most of the below links contain labs for all levels of calculus.
- The Connected
Curriculum Project at Duke
This might be the most extensive collection of labs (in Maple, Mathematica,
and others) and web modules for the calculus curriculum out there. I found
them hard to use as-is because I doubted I could make them fit into my 50-minute,
1-credit-hour time scale for my labs. But there are tons of great ideas to
sponge off here!
- Mark Parker's Web Page
Mark Parker (Carroll College) has a bunch of very snazzy Mathematica Calc
III labs. From his home page, go to the course MA 233 Fall 2002, then go to
the course Schedule to find links to his labs. I found them full of good ideas,
but the labs are written for a 1 1/4 + hour class, so I didn't steal as many
ideas from Mark as I might have otherwise.
- NSF Project
InterMath Curriculum Workshop
It seems that Mark Parker and some other folks at Carroll College ran an NSF
Curriculum Workshop at their institution during the summer of 2001. The syllabus
and notes from this workshop are at the above link. Look around and you'll
find many Mathematica labs for all levels of calculus. Check it out! I haven't
explored it completely, but there seems to be a lot of good stuff there.
to Calculus Resources on the Wolfram Web Page
Wolfram's Mathematica web page has links to a bunch of different courses --
way too many for me to explore! It seemed that some merely referred to articles,
while others had links to web pages, some of which contained useful labs.
I found it somewhat difficult to find links that gave me actual lab material,
and some of the links were old and dead. But it seems to be a resource that's
worth checking on from time to time.
- RIT Mathematica Labs
This is the web site that I probably "stole" the most from. (And
I found it off of the Wolfram calculus web page!) Marcia Birken and Patricia
Clark of the Rochester Institute of Technology developed these labs, and they
were designed to be 50 minutes long, which was exactly what I was looking
for! Their approach to the material seems to follow Stewart's Calculus Concepts
and Contexts. Some of their links to labs are dead, but I was able to download
a number of useful labs on series, vectors, and surfaces. Beware, however:
some of the labs contain mathematical typos. But I found these were easy to
spot and correct.
Non-Web Calc Lab Resources
My search turned up a few non-web resources for calculus labs. Now, I'm sure
there are lots of books and such that I could have found. My intention here
is NOT to compile a bibliography of calc lab books. No no no. I just wanted
to share and give credit to the two texts that helped me quite a bit.
- Calculus Labs using Mathematica by Arthur G. Sparks, John W. Davenport,
and James P. Braselton (HarperCollins College Publishers, 1993).
NExTer Jane West was oh-so-very nice to send me a copy of this book. It is
old, written in 1993 for Mathematica 2.0, I believe. But the code is still
good, and it had some good projects that I adopted, especially on sequences
and series. The book covers Calc I - III.
- CalcLabs with Mathematica for Single Variable (and Multivariable) Calculus
Concepts and Contexts by Selwyn Hollis (Brooks/Cole, 2001).
These books are companion texts for Stewart's Calculus Concepts and Contexts.
I know that some other lab sections at UC used these books as texts for the
lab. I found them pretty useful and full of interesting ideas. But as stand-alone
labs, I didn't think the sections in these books were interactive enough.
Still, I adopted a lot of stuff from the Multivariable book into
the vector labs I made.
How I Set Up My Labs:
This quarter (Spring 2003) my teaching load was one 4-credit Honors Calculus
section and five 1-credit Calculus Labs (one of which was for my honors class).
During the previous two quarters I had used Blackboard to post documents and
grades for my classes, so I wanted to try using Blackboard in the labs to make
them "paperless labs." This started off kind of rocky. I had a grader
(a graduate TA) for the labs, and together we figured out how to get the students
to upload their completed labs onto Blackboard, how we could then download them,
grade them, record the grades, and then upload them back to Blackboard to send
back to the students. I think the students really appreciated this, since the
printer in the lab can get pretty slow, and this avoided the bottleneck at the
printer at the end of each lab. Plus, I had over 140 students in my labs, combined,
so I think I must have saved a dozen reams of paper.
Each week the students would come into the lab classroom, download the lab
from Blackboard, and get to work. I had them work in pairs,
and this was an invaluable idea. (That is, they sat next to
someone they wanted to work with (didn't have to be the same person each time),
they both did the lab, but each pair submitted ONE lab for their grade.) I told
them they should do this because (1) it makes the labs easier and faster to
do, (2) I'm convinced that when people work together, they learn more, and (3)
Mathematica sometimes crashes, so it's a big lifesaver if you
have two people doing the lab at the same time. That way if one person's worksheet
freezes the group can continue with the other person's work. In some of the
labs that had lots of intense graphics rendering (like the Surfing Surfaces
lab) this happened a bunch. It also meant less work for the grader, which was
important because I didn't have time to grade too many labs, and the TA was
only supposed to work 20 hours per week. (Which is NOT enough time to grade
140 labs...but 70, yes.) As the quarter rolled along, I noticed that some students
in certain sections were opting to skip the lab and do it, by themselves, on
their own time. Most of the students who chose this route did much worse than
those who came to the lab (where they could ask me questions) and worked with
a partner. At a big place like UC, I felt it was OK to let those who insisted
on working alone continue to do so. (But when their grades slipped I tried to
suggest that they find a buddy to work with.) I just wanted the majority to
be working in pairs, which they did. If I were doing this again at a smaller
school (like my home institution Western New England
College), I'd penalize them for not working with a partner.
It was a 10-week class, so there were 10 labs. I tried to write them so that
a pair of students who were reasonably proficient with Mathematica (which they
all were supposed to be, since they had the "Intro to Mathematica"
lab the previous quarter) could finish it during the 50 minute class. Sometimes
I misjudged and made the lab too long. And other times I made it shorter on
purpose, just to give them (and me and the grader) a break. But the general
balance of difficulty versus the length of the class period seemed to be good.
As a result (and because they were working in pairs), there was virtually no
cheating. I was worried about this, because other professors at UC who had taught
the labs before warned me about the tendency of the students to try to cheat
on the labs. I did warn them sternly at the beginning not to cheat, but I'm
convinced that most students won't cheat if they feel the workload
is reasonable and especially if I let them work in groups to begin with. (There
was only one instance of cheating that I noticed: a student who missed a bunch
of the labs submitted them late during the 2nd-to-last week of the course. (I
allowed late labs, but I deducted points for being late.) One of his labs was
copied from someone else's graded lab. I could tell because he forgot to delete
some of the grader's comments. I killed him on that lab, but he was failing
the lab anyway without any push from me.)
The Labs I Developed
Below are links to the Mathematica notebooks (labs) that I developed for the
UC Calculus III course, Spring Quarter, 2003. There are two sets of labs: One
for the regular Calculus III sections, and another for an honors section of
the same class that I also taught. (The honors course went faster, and some
of the labs are more extensive or rely on the students figuring more things
out on their own.) I've also provided commentary for each of the labs.
Calculus III Labs:
- Lab 1: Sequences
This lab uses ideas that I pulled out of the Sparks, Davenport, and Braselton
book. Many students were confused by using the graphs of the sequence a[n]/b[n]
to compare the growth rate of a[n] versus b[n]. But my hope was that it'd
help them prepare for things like the limit comparison test.
- Lab 2: Series
This lab is almost verbatim one of the RIT labs, although I touched up a few
things. I was disappointed that the Mathematica command N[%,15] did not always
give you 15 decimals of accuracy. One often has to overshoot it, and do N[%,17]
to get enough decimals. This confused the students a lot.
- Lab 3: Power Series
This is another modified RIT lab. Most of the students had trouble understanding
how they were supposed to use derivatives and antiderivatives to generate
new power series. (They had not seen Taylor series yet, and thus didn't know
they could just use the Series command to answer many of these questions.)
It seemed that most of the Calc III classes didn't cover (or didn't cover
well) the topic of getting new power series from old ones. Thus I had to run
around a lot and help people out more than usual.
- Lab 4: Taylor Series
This lab has only 3 questions, but each one has multiple parts. The first
two questions were adopted from one of the RIT labs. The last question (the
Erf one) was lifted from a lab that sarah-marie belcastro and Matthew Killough
developed at Bowdoin College in 2002.
- Lab 5: More Taylor Series
I created this lab because, well, I needed another Taylor series lab. I was
hoping to do vectors by this week, but most of the Calc III class sections
hadn't gotten to the vectors chapter yet. Plus, on the previous lab it was
clear to me that a lot of the students didn't really get the whole concept
of Taylor series. So this was more of a "reinforce the concepts"
kind of lab. The students generally did very well on it.
- Lab 6: Vectors
I have the students use the Arrow package (which comes with current versions
of Mathematica) as well as the Arrow3D package (which does not) in this lab.
I learned of the Arrow3D package from the Hollis book, and the Arrow3D routines
are hidden in a closed cell at the beginning of the lab. (It can also be found
at various places on the web, like the Wolfram
Site.) After opening the lab and executing a command, Mathematica will
ask you if you want to "execute any initialization cells". You should
click, "Yes!" Then you'll be able to draw fun 3D vectors and impress
all your colleagues! Incidentally, I developed this lab on my own. I found
that the students really liked the "make a pentagon out of vectors"
and "make a cube out of vectors" problems, and it forced them to
think about the reccurring issue of the difference between vectors at a specific
position and ordinary vectors (without position).
- Lab 7: Cross Products and Planes
I developed most of this lab on my own; I took question 3 from the Hollis
book. Question 2, about cross products of parallel vectors, forces them again
to think about vectors without position versus vectors with position.
- Lab 8: Surfing Surfaces
In this lab, questions 3 and 4 are taken from Hollis. Students really liked
making 3D surfaces, especially of spherical coordinate functions. An important
part of question 4 is to make them describe the surface in
words as well as with a picture. That way they are forced to reveal whether
or not they understand the surface completely. (And it's always good to make
students write complete sentences about math anyway.) However, because of
the many pictures in this lab, the average lab file size was 1-2 megabytes.
When I ran this by the honors class first I got HUGE files back, which made
it difficult for the grader to email them to me and took a long time for me
to upload them into Blackboard to give back to the students. This is why I
have the cautionary note at the end of the lab. Still, some students ignored
that note and sent me lab files that were 6 MB. Eeep!
- Lab 9: Vector Functions
Most of this lab was adopted from exercises found in Hollis. Question 4 is
a great example of how something really complicated can be made easy using
cylindrical coordinates AND Mathematica. Although I was a little fearful that
most students were just blindly following the code in this problem, a number
of groups proved that's all they were doing by totally messing it up. Also,
I later incorporated a problem that required similar work in a homework set
for my regular honors class, and they managed to adopt the Mathematica code
perfectly. So I felt it was still a really good learning activity. Also, lots
of students had trouble making the tangent vectors look tangent. It's another
challenge to the difference between vectors with and without position.
- Lab 10: Partial Derivatives
This is a pretty easy lab (of my own design). In this Calc III course we ended
with partial derivatives without getting into the section
that describes how to use the 2nd derivative test for 2-variable functions
to determine if critical points are max, min, or saddle points. So I just
had them find the critical points and use Mathematica to graph the surface
and determine the max/min/saddle nature of these points. It seemed to be a
really good way to wrap things up, since we had spent so much time on surfaces
before. Also, just about everyone finished this one early (like, in 30-45
minutes), which gave me time to do teacher evaluations on the last day of
the lab. The last question is a bit tricky, since the surface has a (removable)
discontinuity at the origin. Students had to debate whether this should be
classified as a local min or a saddle point. (A more accurate answer is that
the whole x and y axes are "min lines" in a sense.)
Honors Calculus III Labs:
- Lab 1: Sequences
This is mostly the same as the one above, except it contains one extra question
and a short thing on series. I discovered that this was way too long, and
that the honors students, while capable of more difficult questions and able
to figure out the Mathematica commands themselves, were not any faster than
my other students. So I stopped making the honors labs longer after this one.
- Lab 2: Series
This is just like the regular class' lab, except there's a really
hard bonus problem at the end. It made most of their computers crash.
Ha ha! (I did warn them, so no one lost their data.)
- Lab 3: Taylor Series
Same as Lab 4 in the regular classes. But notice that the honors class was
a week ahead at this point. Thus the honors lab became my "testing ground"
for labs, which I would then modify and fix any problems before giving to
the regular lab sections the following week (or two). This became the routine
I developed until the last one on partial derivatives.
- Lab 4: Vectors
This is the same as Lab 6 in the regular class. It also is the first lab where
I figured out it was more classy to have the "title block" in a
nice, blue background.
- Lab 5: 3D Animation and Cross Products
In the honors class I took the time to go over matrices and matrix transformations
a bit. I mean, the textbook presented the "method of determinants"
way of computing the cross product, and I thought that was silly to do without
exploring what matrices are a little bit. So I showed them rotation matrices
in class, and gave an extra credit assignment to show that they worked. Then
in this lab I had them play with making animations of simple polyhedra rotating.
It's pretty cool, but it made the labs kind of big, memory-wise. In fact,
they were too big for the grader to email to me – she had to put them
on a Zip disk and have me copy them off it. It also meant that it took a looong
time for me to send them back to the students via Blackboard.
- Lab 6: Surfing Surfaces
This is just like Lab 8 for the regular sections, except that Question 3 has
an extra part, Question 4 has an extra part, and there's a Question 5 that
isn't on the regular class version. This lab was way too long for them to
finish in the 50 minute lab class. However, the vast majority of the students
really liked the spherical coordinate surface functions in
Questions 4 and 5. Number 5 especially wowed them. Some students even went
beyond the lab and made animations where they varied the parameters m and
n. The equation in Question 5 was taken from the Stewart CCC text, somewhere
in Chapter 9 (the section on spherical coordinates). Note, however, that these
labs, when finished, were HUGE. Most were around 4-6 megabytes, although one
was 25 MB! I was not happy when it came time to send them back to the students
via Blackboard. So notice how in the regular class' version of this lab I
emphasized that they should only give me ONE picture to describe the spherical
surfaces. Still, it seemed to be a very successful lab. For a 1+ hour class,
it should be fine. For a 50 minute class, I'd get rid of one of the parts
of number 3 and one of number 4. (And leave 5 in if you think they'd appreciate
the challenge and you don't have to worry about the memory problem.)
- Lab 7: Vector Functions
This is the same as Lab 9 for the regular sections, except this version has
an extra question: Question 4, which asks them to find the point of intersection
between two differently-parameterized space curves and compute the angle between
the two curves at this intersection point. I found this to be a great problem,
but it did make the lab a little bit long. So I removed it for the regular
- Lab 8: Curvature
This is a lab which I never had time to do in the regular sections. It's a
very short lab because on that day in class I had to let the class out early
so we could all go to a math awards ceremony/lunch going on at the same time.
(One of my honors students won the "Calculus Contest" at UC that
year, so what could I do? :) The lab merely leads them through how to do the
yucky computations needed to find the curvature of a space curve.
- Lab 9: Parametric Surfing
This is a lab I devised to be based on section 10.5 Parametric Surfaces in
Stewart's CCC text. Like the curvature one, I didn't have time to give this
lab to the regular sections. The lab covers parametric surfaces, parameterizing
planes, and parameterizing surfaces of revolution. The students had the hardest
time with Question 4c, where they have to figure out for themselves how to
parameterize a surface of revolution where the axis of rotation is the y-axis.
(A large number of students got it to "look right", but were still
rotating it around the x-axis, like the previous two problems.)
- Lab 10: Partial Derivatives
This is just like Lab 10 for the regular sections. The honors kids whipped
through it quite quickly, and we spent the rest of the lab time doing teacher
evaluations and watching math movies on the big screen in the computer classroom.
Tom's comments on this lab experience:
Grade-wise, in the regular lab sections most of the students received As and
Bs. There were a smattering of Cs, Ds, and Fs, but there was almost a direct
correlation between these students and those that chose to either work on the
labs by themselves (without a partner) or outside of the lab class time. In
the honors class virtually all the students got As. I was surprised by this,
since their labs were harder and several times they were frustrated when I'd
take off points for poor explanations. But the numbers ended up being stellar.
There's a good chance that the real reason why they all did so well had to do
with their willingness to meet my expectations, coupled with the fact that my
expectations weren't impossible to meet. Their labs were harder and usually
took longer to complete than the regular class'. But the honors kids were all
willing to put in time outside of the lab class if the work demanded it. The
other sections seemed much less likely to do this.
On the whole, I was very happy with how the lab classes turned out. As I watched
the students working on them, it seemed like there was a lot of learning going
on. Everyone was getting lots of hands-on practice with Mathematica. The conversations
I'd overhear led me to believe that the labs were succeeding in reinforcing
and building upon the material they were seeing in class. As far as I'm concerned,
that's the whole point of having computer labs.
Since the labs were completely "project driven" (that is, each lab
was a "project" they had to do, and their whole grade was based on
this), I spent each class roaming the lab room, being flagged down by students,
and being asked questions. I'd try to always answer their question with another
question (in the whole Socratic method, make-them-teach-themselves manner),
but half the time their questions had to do with Mathematica acting (to them)
weird. Then I'd either have to remind them to clear their variables, or debug
their code ("No, x times y has to be x*y or x <space> y, NOT xy!"),
or sometimes restart their kernel. Being relatively well-versed in Mathematica
was a must here, so that my time (and their time) was never sucked up too much
by these little emergencies. (Someone ought to write a book: A Guide to
Everything That Can Go Wrong and How Students Will Make Mistakes in Calculus
Feel free to email me if you
have any comments or questions about these labs!
Back to Silver Dot NExT Page
Back to Tom's Web Page