The Problem with Calculus Textbooks

Simply put, most calculus textbooks are written in the wrong order.

Unfortunately, this includes the most popular textbooks used in colleges and universities today.

This problem has a long history, and will not be quickly solved for a variety of reasons. I think the solution lies ultimately with high quality, open source e-modules (that is, stand-alone tutorials on all calculus-related topics), but that discussion is for another time. Today, I want to address a more pressing issue: since many of us (including myself) must teach from such textbooks — now, long before the publishing revolution — how might we provide students a more engaging, productive calculus experience?

To be specific, I’ll describe some strategies I’ve used in calculus over the past several years. Once you get the idea, you’ll be able to look through your syllabus and find ways to make similar adaptations. There are so many different versions of calculus taught, there is no “one size fits all” solution. So here goes.

1. I now teach differentiation before limits. The reason is that very little intuition about limits is needed to differentiate quadratics, for example — but the idea of limits is naturally introduced in terms of slopes of secant lines. Once students have the general idea, I give them a list of the usual functions to differentiate. Now they generate the limits we need to study — completely opposite of introducing various limits out of context that “they will need later.”

Students routinely ask, “When am I ever going to use this?” At one time, I dismissed the question as irrelevant — surely students should know that the learning process is not one of immediate gratification. But when I really understood what they were asking — “How do I make sense of what you’re telling me when I have nothing to relate it to except the promise of some unknown future problem?” — I started to rethink how I presented concepts in calculus.

I also didn’t want to write my own calculus textbook from scratch — so I looked for ways to use the resources I already had. Simply doing the introductory section on differentiation before the chapter on limits takes no additional time in the classroom, and not much preparation on the part of the teacher. This point is crucial for the typical teacher — time is precious. What I’m advocating is just a reshuffling of the topics we (have to) teach anyway.

2. I no longer teach the chapter on techniques of integration as a “chapter.” In the typical textbook, nothing in this chapter is sufficiently motivated. So here’s what I do.

I teach the section on integration by parts when I discuss volumes. Finding volumes using cylindrical shells naturally gives rise to using integration by parts, so why wait? Incidentally, I also bring center of mass and Pappus’ theorem into play, as they also fit naturally here. The one-variable formulation of the center of mass gives rise to squares of functions, so I introduce integrating powers of trigonometric functions here. (Though I omit topics such as using integration by parts to integrate unfriendly powers of tangent and secant — I do not feel this is necessary given any mathematician I know would jump to Mathematica or similar software to evaluate such integrals.)

I teach trigonometric substitution (hyperbolic as well — that for another blog post) when I cover arc length and surface area — again, since integrals involving square roots arise naturally here.

Partial fractions can either be introduced when covering telescoping series, or when solving the logistic equation. (A colleague recommended doing series in the middle of the course rather then the end (where it would have naturally have fallen given the order of chapters in our text), since she found that students’ minds were fresher then — so I introduced partial fractions when doing telescoping series. I found this rearrangement to be a good suggestion, by the way. Thanks, Cornelia!)

3. I no longer begin Taylor series by introducing sequences and series in the conventional way. First, I motivate the idea by considering limits like

\displaystyle\lim_{x\to0}\dfrac{\sin x-x}{x^3}=-\dfrac16.

This essentially means that near 0, we can approximate \sin(x) by the cubic polynomial

\sin(x)\approx x-\dfrac{x^3}6.

In other words, the limits we often encounter while studying L’Hopital’s rule provide a good motivation for polynomial approximations. Once the idea is introduced, higher-order — eventually “infinite-order” — approximations can be brought in. Some algorithms approximate transcendental functions with polynomials — this provides food for thought as well. Natural questions arise: How far do we need to go to get a given desired accuracy? Will the process always work?

I won’t say more about this approach here, since I’ve written up a complete set of Taylor series notes.  They were written for an Honors-level class, so some sections won’t be appropriate for a typical calculus course. They were also intended for use in an inquiry-based learning environment, and so are not in the usual “text, examples, exercise” order. But I hope they at least convey an approach to the subject, which I have adapted to a more traditional university setting as well. For the interested instructor, I also have compiled a complete Solutions Manual.

I think this is enough to give you the idea of my approach to using a traditional textbook. Every calculus teacher has their own way of thinking about the subject — as it should be. There is no reason to think that every teacher should teach calculus in the same way — but there is every reason to think that calculus teachers should be contemplating how to make this beautiful subject more accessible to their students.

Continue reading The Problem with Calculus Textbooks


One of the goals of creating this blog was to show you some cool math stuff you might not have seen before. So I thought I’d create a puzzle about this:

Day005Crypt1Just replace each letter with a digit from 0–9 so that the sum is correct. No number begins with a 0. One more thing: M + T = A. Good luck!

Perhaps you’ve never seen puzzles like this before — they’re called cryptarithms. At first they look impossible to solve — almost any assignment of numbers to letters seems possible. But not really. You’re welcome to try on your own first — but feel free to read on for some helpful advice.

Look at the last column (the units). If L + H + G ends in H, then L + G must end in a 0. Since L and G are digits, then L + G = 10. This doesn’t completely determine L or G, but once you know one of the numbers, you know the other.

As a result, you also know there’s a carry over to the third column (tens). What does this mean? That 1 + O + T + O ends in C. Since O + O is an even number, this means that if T is even, then C is odd, and if T is odd, then C is even. We even know a bit more about T from looking at the sum: T is either 1 or 2, since adding three numbers less than 10,000 gives a sum less than 30,000.

What about the second column? O + A + L ends in A. We might be tempted to think that O + L must end in a 0, but that would mean that O + L is 10. This can’t be, since that would mean that G = O (remember that L + G = 10). Therefore there has to be a carry from the third column over to the second column, meaning O + L = 9. So O is one less than G.

Get the idea? There’s a lot of information you can figure out by looking at the structure of the letters in the sum. But it turns out that without the condition M + T = A, there are 12 solutions to this puzzle! Multiple solutions must occur here, for if you can solve this puzzle, you can also solve

Day005Crypt2The M and B occur just once, and at the beginning of numbers. This means if M = 7 and B = 9 in a solution, then putting M = 9 and B = 7 — with all other letters staying the same — will also produce a solution. In looking at all the solutions, I found that giving M + T = A results in a unique solution without giving values for specific letters.

That’s all the help you get! Sometimes you might just guess well and stumble onto a solution — but take the additional challenge and prove you’ve got the only solution to the cryptarithm.

How do you create a cryptarithm? There was a time I did so by hand — but those days are gone. Read more if you’d like to see how you can use programming to help you create these neat puzzles.  (Of course there are online cryptarithm solvers, but that takes all the fun out of it!)

Continue reading Cryptarithms

Hexominoes and Cube Nets

I have always been fascinated by polyominoes — geometrical shapes made by connecting unit squares edge to edge. (There’s a lot about polyominoes online, so take a few moments to familiarize yourself with them if they’re new to you.)


Today I’ll talk about hexominoes (using six unit squares), since I use them in the design of my current website.  There are a total of 35 hexominoes — but I didn’t want all of them on my home page, since that seemed too cluttered. But there are just 11 hexominoes which can be folded into a cube — I did want my choice to have some geometrical significance! These are called nets for a cube, and formed a reasonable subset of the hexominoes to work with. Note that the count of 11 nets means that rotating or turning over a net counts as the same one. (And if you want an additional puzzle — show that aside from rotating or reflecting, there are just 11 nets for a cube.)

Now how should I arrange them? I also wanted to use the hexominoes for a background for other pages, so I thought that if I made a 6 by 11 rectangle with them, that would be ideal — I could just tile the background with rectangles.

This is not possible, however — I wrote a computer program to check (more later). But if you imagine shifting a row of the 6 by 11 rectangle one or two squares, or perhaps a column — you would still occupy 66 square units, and the resulting figure would still tile the plane. This would still be true if you made multiple row/column shifts.

So I wrote a program which did exactly that — made random row and column shifts of a 6 by 11 rectangle, and then checked if the 11 hexominoes tiled that figure. After several hours of running, I found one — the one you see on my home page. If you look carefully, you can see the row and column shifts for yourself.

Is this the only possibility? I’m not sure, but it’s the only one I found — and I liked the arrangement enough to use it on my website. If you look at some of the other pages — like one of my course websites — you’ll see a smaller version of this image tiling the background. However, to repeat the pattern in the background, I needed to make a “rectangular” version of the image:


The colors are muted since I didn’t want the background to stand out too much.  And you’ll notice that some of the hexominoes leave one edge of the rectangle and “wrap around” the opposite edge.  But if you look closely, you can definitely find all 11 hexominoes in this 6 by 11 rectangle.

This wasn’t my first adventure with hexominoes — a few years ago, I created a flag of Thailand since I was doing some workshops there. Flags are generally rectangular in shape.

But you can’t create a rectangle with the 35 hexominoes! Let’s see why not. Imagine a rectangle on a checkerboard or chessboard. When you place a hexomino, it will cover some black squares and some white squares.


Now some hexominoes will always cover an odd number of black and white squares — let’s call those odd hexominoes. The others — even hexominoes — cover an even number of black and white squares. As it turns out, there are 24 odd hexominoes and 11 even hexominoes. This means that any placement of all the hexominoes on a checkerboard will cover an even number of white squares and an even number of black squares.

However, any rectangle of 210 = 6 x 35 hexominoes must cover 105 white squares and 105 black squares — both odd numbers of squares. But we just saw that’s not possible — an even number of each must be covered. So no rectangles. This is an example of a parity argument, by the way, and is a standard tool when proving results about covering figures with polyominoes.

To overcome this difficulty, I threw in 6 additional unit squares so I could make a 12 x 18 rectangle — and to my surprise, I found out that the flag of Thailand has dimensions 2:3 as well. You can read more about this by clicking on “the flag of thailand” on the page referenced above — and see that the tiling problem can be solved with a little wiggle room. But no computer here — I cut out a set of paper hexominoes and designed the flag of Thailand by hand….


Continue reading Hexominoes and Cube Nets

CrossNumber Puzzles

This week, we’ll look at one of my favorite types of puzzles — CrossNumber Puzzles. These are like crossword puzzles, except that the clues describe numbers instead of words. The only rule is that no entry in a CrossNumber Puzzle can start with a “0.” You can try this one — but don’t worry if you get stuck. We’ll look at different ways you can go about solving it in just a moment.


How would you go about solving this puzzle? Try to look for the clues which give you the most information. For example, look at 1 Across and 3 Down. Now 1 Across is the cube of a two digit number, and its third digit is actually the first digit of the cube root. So we might want to print out a chart of all four-digit cubes of two-digit numbers:

10 1000 16 4096
11 1331 17 4913
12 1728 18 5832
13 2197 19 6859
14 2744 20 8000
15 3375 21 9261

You can see that the only possibility is that 1 Across is 4913 and 3 Down is 17.

Looking at 5 Across doesn’t help much, since there are too many possibilities.

But looking at 5 Down is a good next choice. Note that 9 Across has to start with 1 or 3 in order to fit four odd digits in the grid, but no perfect squares end in 3, and so no perfect fourth powers end in 3, either.  This means that 9 Across has to start with 1 so that 5 Down ends in 1.  To help figure out 5 Down, below is a list of four-digit fourth powers:

6 1296 8 4096
7 2401 9 6561

So 5 Down must be either 2401 or 6561. If it were 2401, then 6 Across would begin with a “0,” so that leaves 6561 as the only option for 5 Down.

I’ll leave it to you to complete the puzzle. I won’t post a solution so that you’re not tempted to peek — but if you add 2 Down and 6 Across when you’re done, you’ll get 157,991.

How can you make your own CrossNumber puzzle? Start by making a grid, and shade in some of the squares. Usually the pattern of shaded squares is symmetric, but it doesn’t have to be. Fill in some of the entries with numbers which have specific properties, like being a perfect square or cube. Or perhaps make one of the entries the product or sum of two others. The only limit is your imagination! It might help to continue reading below, since then you could print different charts and look at the numbers for something interesting. (And get another puzzle to solve, too.)

Continue reading CrossNumber Puzzles

Josef Albers and Interaction of Color

My first post on art is about Josef Albers and his use of color. An idea central to his work is that we do not see “individual” colors — but colors are always perceived in relationship to the surrounding colors.


Look at this image for a moment — what do you notice about the smaller rectangles? If you look carefully, you’ll notice that they are all the same color. It may look like some are darker than others — but that’s only because you’re seeing them against different background colors. Albers explored this idea in depth in his famous book, Interaction of Color.

So how can you create this image? Begin with a color specified as RGB — in this case, (0.7,0.6,0.3) — to use as the color of the smaller rectangles. Remember that (0,0,0) is black and (1,1,1) is white; using values for R, G, and B between 0 and 1 will allow you to produce millions of different color combinations.


Now use your computer’s random number generating ability to create three random numbers between -0.3 and 0.3. For this example, I’ll use -0.2, -0.1, and 0.3. Subtract these values from (0.7,0.6,0.3) to get the RGB values for the left larger rectangle — you get (0.9,0.7,0.0). Then add these random numbers to (0.7,0.6,0.3) to get (0.5,0.5,0.6) — these are the RGB values for the right larger rectangle. Notice that this procedure assigns RGB values to the smaller rectangles which are the numerical averages of the RGB values of the colors of the surrounding rectangles.

Keep in mind that this is an arithmetic mixing of colors. If you actually had paints which were the colors of the larger rectangles, mixing them would likely not give you the color of the smaller rectangles. Also keep in mind that Interaction of Color was published in 1963, so that Albers’ ideas were developed with paper and pigment. What I’ve done is adapted Albers’ ideas for use on a computer — and interpreted his ideas as you see here. Color theory is a very complex field, and is widely written about on the internet — so if these ideas intrigue you, start searching!

Day002Albers6Web3Yin Yang IV, 8” x 8”

As a final example, here is a piece incorporating these ideas about color with an abstract yin/yang motif. Visit my art website if you’d like to see some additional images with commentary.

Now we’ll get to the specifics of actually implementing the ideas mentioned above. I’ve decided to use Python for these examples since it is a language growing in popularity and is open source. Also, I’m using Python in a Sage environment because it’s open source, too — and you don’t need to download or install anything. You can just open a Sage worksheet in your browser. Sometimes it’s a little slow, so be patient. You can download Sage onto your own computer if you’d like to speed things up.

Here is the link to the interactive color demo. It’s fairly self-explanatory — and you don’t need to know any Python to use the sliders. Just hit shift+enter as explained in the instructions.

One thing to be careful about, though. If you choose a red value of 0.8, and then choose to vary this value by 0.4 — you’ll get red values of 0.4 and 1.2. But since RGB values are between 0 and 1, the 1.2 is “truncated” to 1.0, so you’re really working with 0.4 and 1.0. This means that 0.8 is no longer the average of the two red values — so the “Albers” effect won’t be so pronounced, and may be absent if your values are too far off. Select your values carefully!

I’ve tried to make the code fairly straightforward, so if you know a little about Python or programming in general, you should be able to make some of your own changes. You’ll have to make a Sage account and copy my code to one of your own projects in order to make changes.

This blog is designed to give you ideas to think about, not be a tutorial. So I won’t be teaching you Python. If you need to understand the basics of the RGB color space — well, just look it up. There’s also plenty online about Josef Albers. Go in any direction you like.

But if you are going to play with the Python code to make more complex images, here’s a suggestion. Whenever you are about to type in RGB values, pause for a moment and ask why you’re choosing those particular values. Use color deliberately. This will make all the difference in the world — and may well be the difference between making a digital image, and creating digital art.

What Is Mathematics?

Mathematics is creative.

Unfortunately, this is lost upon many — if not most — students of mathematics, in large part because their teachers may not understand mathematical creativity, either.  One way to address this issue is to have students write and solve their own original mathematics problems.  This seems daunting at first, until students realize they are more creative than they were led to believe.  (I’ll discuss this more in a later post.)

The difficulty is that the creative dimension of mathematics is a bit elusive.  Give a child crayons and ask her to draw a picture, sure — but give a student some ideas and ask him to create a new one?  To appreciate mathematical creativity, you need some understanding of the abstract nature of mathematics itself.  To create mathematics, you need imagination much like you do in any of the arts — or other sciences, for that matter.

Over the years, I’ve created my fair share of mathematics.  How much of it is really new is hard to determine — how do you know if any of the billions of other people in the world already created something you did?  (Proof by internet search notwithstanding.)

This blog is about sharing some of my ideas, problems, and puzzles.  Some were created years ago, some are new — and I will consider myself lucky if some are entirely original.  I truly did have fun creating them, and I enjoy writing about them now.

I’m hoping to convey an enthusiasm for mathematics and its related fields — in other words, all human knowledge — and to share something of the creative process as well.  The creation of mathematics is not a mystical process, and needs no explanation to a mathematician.  But we can surely do more to make this enlivening process accessible to all in a time when it is certainly necessary.

As you follow, you’ll notice a heavy emphasis on programming.  Every student should learn to program — and in more than one language.  Perhaps this should be an axiom in the 21st century, but we’re not even close.  So many of the tools I use are virtual — the ability to write code to perform various tasks is essential to my creative process, as you’ll see.  In fact, many posts will have links to Python programs in the Sage platform (don’t worry if you don’t know what these are yet).  These tools are all open source, and available to anyone with internet access.

Finally, blog posts will usually have a “Continue reading…” section.  Some posts (like this one) will be essays on teaching, creativity, or a related topic.  Since not everyone may be so philosophically minded, the “Continue reading…” sections of these essays will be a puzzle or game.  Enjoy!

Continue reading What Is Mathematics?