Every Handout from NCTM 2017

tl;dr –

  • There were 740 total sessions at NCTM’s 2017 annual conference. I wrote a script to find and extract the 279 sessions that included handouts, slides, or other attachments. You can also download the entire mess of attachments with a single click. (1.28 GB. Not small.)
  • The process of writing and running that script maps almost perfectly onto the process of mathematical modeling. If the same defective wiring runs through your brain as mine, you’ll understand how that was a total rush.
  • I hope NCTM will make these resources easier to find in the future, especially for non-members.

This is just like mathematical modeling!

I’d been using the same script for this task for the last two years, but NCTM switched website vendors this year and I had to create a new one. On the one hand, accessing handouts from the conference probably shouldn’t be so challenging. On the other, this process is such a fun puzzle for me, and maps almost perfectly onto the process of mathematical modeling.

Here is what I mean. The third step in the modeling cycle is to “perform operations.” I’m not here to tell you that people (old or young) should never perform operations, just that computers are generally much faster at it. When I thought about the task of poking my head into all 740 NCTM session websites and asking, “Hello. Any handouts in here?” I admitted defeat immediately to some software.

So the human’s job is the first two steps: identifying essential variables and describing the relationships between them. Computers are much, much worse at this than humans. That meant looking at cryptic computer chicken-scratch like this and asking, “What do I need to tell the computer so it knows where to look for the session handouts?

If you notice that each session has its own four-digit “id” and that each handout has been tagged with “viewDocument,” you can tell the fast machine where to look.

But the modeling cycle doesn’t end there. Just like you shouldn’t paste the results from your calculator to your answer sheet without thinking about it, you shouldn’t paste the results of the fast machine’s search to your blog without thinking about it. You have to “validate the results,” which in my case meant poking around in different sessions, making sure I hadn’t missed anything, and then revising steps one and two when I realized I had.

I hope NCTM will make these easier to find.

These handouts are basically advertisements for the conference without substituting for attendance. (No prospective attendee will say, “I was this close to attending but then I found out some of the handouts would be online.”) If they’re easier to find, not only will existing attendees be happier but non-attendees will have a nice preview of the intellectual activity they can expect at the conferences, making them more inclined to attend the next year. Nothing but upside!


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. The drive to figure out how to wield the power of the computer and programming to do truly super-human things is powerfully addictive. The learning curve, as things stand now though, is non-trivial.

    I often ask myself (and others that have experienced this power) how we make this sort of task compelling and accessible so that more teachers learn to do it.

  2. This is a great idea, Dan!
    I’m on a very active email list serve for NSTA (the science equivalent). It’s a fabulous resource from an active community – the issue is that all of the resources are divided into countless emails. I wonder if there’s a way to scrape the data into a website.

    • Interesting. I only know how to scrape resources from web pages. I wonder if the emails exist in that form somewhere.

  3. Jim – I’m with you 100%. Maybe someday NCTM will do it. The ideal would be to do what Dan does, speakers post their own videos and someone (like the Math Forum) could organize them on an NCTM site for easy access. MF already does it with the Ignite sessions. I can dream can’t I? :-)

  4. Ginny Kuryla

    May 2, 2017 - 8:36 am -

    Silly question from a non-programmer. I took an HTML class years ago and I can make sense of the scripts themselves. (Well… enough to understand the basics…) But where exactly do you run such a script? I love the idea of teaching problem solving through programming. I’ve always gotten stuck on how to make that happen. This gives me new things to think about.

    • Hi Ginny, I ran this script in the Terminal application on my Mac. I wrote the script in a text editor using the Python scripting language. Then I typed in “python filename.py” in the Terminal, which executed the code.