Better Best Squares & The Future Of Math Textbooks

a/k/a Dave Major Rides Again

It turned out to be productive and fun arguing over who among the four contestants in this video did the best job drawing a square. Video served us well. It gave us something to look at, argue about, and abstract. But video is still a static medium in many ways. The pictures are moving but it doesn’t edit well. It doesn’t personalize. It doesn’t reflect the learner in any way.

So Dave Majors and I partnered up again to kick around an idea of what this task would look like in code, in a web browser, and came up with better best squares.

He’s written a post describing some of his technical innovations. I’m going to use this space to point out our pedagogical innovations.

  1. The most obvious difference here is that instead of watching four people attempt to draw a square, you get to attempt to draw a square yourself.
  2. That quadrilateral then follows you throughout the text. Rather than using a generic example to illustrate a mathematical concept, we use the example you created. We talk about its perimeter. We talk about its area. The diagrams in the margins change. The text in the textbook changes.
  3. You see your classmates’ quadrilaterals and make an intuitive ranking of their square-ness. When we formalize the concept of square-ness later, we’ll refer back to our initial rankings. Ideally, the mathematics will validate the student’s intuition and vice versa.
  4. You can revise and skip most questions. We’re deviating here from our last experiment where each question had to be completed before you could move on. In a print textbook, you can always flip forward and see what’s next or move onto a new task if you don’t want to complete the current one. So you can leave an answer blank. You can go back and revise your answers. The textbook doesn’t judge you. It doesn’t say, “You’re wrong.” It reports your response (or non-response) to your teacher and lets your teacher make the pedagogical judgement there.
  5. The teacher’s edition is so useful. I asked Dave to let me see all responses disaggregated a) by student and b) by question. I want to click on Mike’s name and see all his progress throughout this unit – everything he drew, everything he wrote. Then I want to click on each question and see every response. Dave went above and beyond here. You see every student response but you also see the revision history on those responses. You can trace the student’s thinking. You can also flag student responses to show the class. I’m such a fan of Dave’s work here.
  6. Don’t like our definition of “best square” as being the ratio of areas? Submit your own. The system will accept your formula, send it to the teacher, and then use it to rank the entire class’ quadrilaterals.

Dave and I both agreed this problem is a little too obscure and weird to justify all the effort we put into it. But critique the digital pedagogies rather than the task itself. These pedagogies can transfer to other, better tasks. Critique this definition of personalized learning.

Previously. Dave Major Shows You The Future Of Math Textbooks.

2013 Mar 27. A UK teenager codes the algorithm for judging the best circle. Be sure to stick around for the part where the cat judges you.

I'm Dan and this is my blog. I'm a former high school math teacher and current head of teaching at Desmos. He / him. More here.


  1. I like that this textbook is definitely geared toward being used by a classroom of students. I wonder what will happen for students who do not have a classroom?

    Is it possible to add “discuss this problem with other students” as an option? Perhaps there could be a community space built around the problems posed in the textbook, and students could share their work/problems with other students, and discuss what they are doing in a peer-to-peer environment?

    Obviously this would lead to potential for abuse (usually counteracted by moderators, but maybe these could be generated from within the community, much like how Stack-overflow works), but it could also create a highly structured discussion space attached to an exploration space which could allow people who do not have a teacher to learn from the exploration + discussion.

  2. I like it. I like the feedback, I like the interactivity (though for some reason it did not work for me in chrome). I like the potential it showed.

    How time intensive WAS it out of interest Dan? Was the time taken because of the problem and figuring out what you wanted or the actual app you were trying to design (coding time) – do you think it would be reasonably reproducible for other problems?

    Mostly, sweet stuff, you seem to keep raising the bar, you and Dave!


  3. How time intensive WAS it out of interest Dan? Was the time taken because of the problem and figuring out what you wanted or the actual app you were trying to design (coding time)

    I think we started this one off at the end of November, so it has been haunting us (me at least) for a while. I’m a teacher and make no claim to being a great programmer so my time commitment was fairly sporadic and inefficient. It was also written on a completely new technical stack which I feel is much better and more workable moving forward but involved, you know, becoming reasonably competent at Javascript ;-)

    We went through a fair number of changes and new ideas which added to the time and I was determined to tick off everything on Dan’s wishlist spec. The page with the draggable vertices constrained by perimeter in particular was an absolute nightmare to get going and drunk a great deal of time for what turned out to be an easy solution.

    do you think it would be reasonably reproducible for other problems?

    This is the big question. With a team of “real” programmers – sure. Once a framework and feature set is decided there is nothing too complex going on.

  4. Okay, I’m going to clarify my peer to peer interaction comment, since I can see they are obviously present in the example you’ve provided.

    It looks like the peer to peer interactions are mediated through the textbook, which is very cool, but what about unmediated discussion (more like a forum)?

  5. Sean Wilkinson

    January 15, 2013 - 6:52 pm -

    First of all, this is awesome.

    Second, I have a criticism/suggestion. It’s somewhat task-focused (and long) (although focused on pedagogy), so feel free not to post this.

    The area-maximization metric feels imposed. I agree that it probably provides the best definition of squareness, but I doubt that a high-school student would agree so readily.
    Since the most common definition of a square is “equal sides, all right angles,” most students will probably want to use a metric based on how far a shape deviates from that definition.
    Ideally, students should be shown that their intuitive metric breaks down. So, how do we get the computer to play the Mr. Honner game?
    This is probably a non-trivial programming challenge, but here’s my stab at it:

    1. Students define and enter their own metric before being told anything about area maximization.

    2. The program comes equipped with a bank of sample quadrilaterals that have been pre-graded based on the area-maximization metric. The students’ classmates’ drawings may be added to the bank.

    3. The program normalizes the student’s metric so that a square (of a certain size – although if size matters the student’s metric will be really wrong) gets a score of 1.

    4. The program grades all of the quadrilaterals in the bank using the (normaized) student’s metric. It selects the two or three quadrilaterals that the student’s metric underrates the most compared to the stored metric, and the two or three quadrilaterals that the the student’s metric overrates compared to the stored metric. Some of these might be counterexamples that show the student’s metric has problems.

    5. For each of these potential counterexamples, the program selects a partner from the bank that has a higher/lower stored score but a lower/higher student score.

    6. The program shows the pairs and for each one says “Your metric rated THIS as a better square than THIS. Do you agree?”

    After this process, there are a couple of things that could happen. Maybe the student is encouraged to try to improve her metric in a way that will take those counterexamples into account. Maybe the area-maximization idea is immediately presented. Either way, I think it’s nice for the students to play with the idea of a metric before being told the “right” one.

  6. So I went through the excercise and have a few comments. They’re pretty specfic, so maybe not that useful, since you are more interested in the general idea of the technology, but here they are anyway:

    1. When using the constrained drawing tool with the instructions to optimize the area, I followed the algorithm of: grab a side, move it till the area is maximized, grab another side, move it…. repeat. This doesn’t converge on a square very fast, so it is kind of frustrating.

    2. Instructions: Get your “best square score” by dividing the area you originally had by the area of the square you just made.
    I have made two squares at this point, my 4 point square, and my ellipse constrained square. It sounds like you want me to divide the area of these two squares. But you only give me the areas of my ellipse constrained square and the perfect square. The instructions should read:
    “Get your best square score by dividing the area of your square by the area of this perfect square with the same perimeter.”

    3. When entering my own formula for the best square score I tried: (((a+b+c+d)/4)^2)/A
    I get an error that says “Sorry, thats incorrect.” Which seems a lot like what you said would never happen. Anyway I don’t understand what syntax is allowed. I tried “a” and “b” and got the same error. I tried “A” and “a*b/A” and still haven’t found an acceptable input.

    4. On the first screen I try to enter my name and hit the blue button. Nothing happens. It should pop up a message telling me to draw a square. I was confused on both my first visit and my second visit (which was after accidentally hitting back in my browser and losing my work).

    I think the idea is great, I’m glad you guys are experimenting.

  7. A comment on personalization: a platform such as this offers personalization and differentiation without sacrificing interaction and opportunities for discourse. Additionally, there is an entry point for many ability levels. This is really an exciting direction. Bravo!

  8. Big-picture stuff:

    This is lovely and the sort of interactivity I want when I think of e-books.

    Small-scale specific lesson stuff:

    I’m guessing you already were thinking this way, but: it would be a separate lesson prior to this, but it’s totally possible for students to discover the statement “a square encloses the most area for a given perimeter” for themselves and would not be the sort of thing I would just give them (except to make the statement in this one along the lines of “from what we did during the fencing lesson, you know …”)

    The constraint ellipse-thing does feel very unintuitive and after I fiddled for a while I could never even get back to the original area my quadrilateral was at (let alone reach an optimal area). I’m unsure what a better approach would be, though.

    The “Use these variables to create a best square score for any quadrilateral.” bit is certainly the hardest. First off, the directions are still a little vague, and need something explicit like “use the lengths of the sides a, b, c, d, and the area A” as opposed to “use these variables” (it took me some time to realize the statement meant the variables mentioned in the diagram). Also wrong answers could also use some more feedback beyond “sorry, that’s incorrect”. (Like g up in the comments I was never able to get it to accept my input.) I think in particular I would have loved the page at the end that gave both help and feedback as to what my input gave before I reached the best square score one.

    I think the text “How close did our star rating come to predicting our best square score?” could use a little tweaking because as written many students would just put “it’s good” and click on from there. Maybe add a “justify your answer” statement at least?

  9. It is hard for me to separate out the task from the pedagogies.

    I like the ability to quickly get and compare first thoughts on a task (rank the squares). I really like the ability to quickly scan and share student explanations.

    The interaction between the student and the “book” was at a superficial level in my mind. And where is there problem solving (puzzle) for the students that are not able to generalize the formula?

    The page about a square maximizing area was frustrating and didn’t really add insight as to why, or even whether the claim is true. I would not want the program to do all the computations related to the student’s square if it were my class, especially since you are going to ask the students to generalize a formula. It is cumbersome for students to enter in their ideas for a formula which, to me, is the most interesting feature of the lesson.

  10. I can’t wait for this “textbook” to come out for us to use in the classroom. This is the future!!!!!!!!!!!!! Keep up the awesome work.

  11. a different Dave

    January 17, 2013 - 7:13 am -

    re: commenter “g”‘s question #3

    On that part of the activity, part of the answer is provided already — there is a numerator shown above the box where you can type. That caught me for a moment, too. :)


    Has anyone tried this with actual students yet? If you did, tell us everything!

  12. The interface is great, but the positionning of the dot to create the square is rather confusing : the spots are rather big and the point where you click does not correspond to the center of the dot. As a consequence, I made parallelograms instead of squares.

    At the beginning, I made several really “not square” squares before realizing this. Which was really disturbing and frustrating.

    Reducing the size of the dots or be sure that the point where you click corresponds to the center of the dot would be of great help.

    (Maybe it’s a bug, in this case, I’m under Firefox 16.0.1 under Linux)