As I’ve written several times, we are spending the next year developing an integrated math curriculum, the first year of which will be implemented in 2016-2017. One of the things we’ve decided we want to do is include coding in the curriculum. The move to include coding is nothing new of course; in fact, some would say we’re behind the curve since many schools began adding coding to courses a couple years ago. I actually think we’re better off doing it now, because we can learn from the experiences of others and we can benefit from the historical perspective of looking back at what people were doing two or three years ago and what they’re doing now.
I will say right up front that I’m not a huge fan of adding coding to our curriculum. It felt like a fad two years ago, and it still feels like one now. Rereading Peter Gow’s insightful piece, “Coding is Just the New Surveying” only reinforced that sense, but it also gave me a good way to think about what the role of coding should, and should not, be. To try to get a sense of what coding the in curriculum might look like, I read some articles on the other side of the issue and also spent some time with the newly published book, Doing Math with Python. Between this reading a great conversation with colleagues, I’ve come up with an initial framework for thinking about how to bring coding into integrated math.
- The role of coding in our curriculum should not be, to borrow from Gow, “pre-vocational”. Our goal should not be to teach coding so everyone knows something about it because they’ll need it in the future.
- More to the point, coding should be integrated into the curriculum, not feel like an add-on. If we are working to tie geometry and algebra together, then we should make an equal effort to tie coding to other parts of the curriculum in a natural way.
- Whenever possible, the coding work students do should have long-term usefulness, not be a one-off project or assignment. This might mean writing a program you’ll use over and over during the year, or it might mean writing a program you’ll return to each year to modify and enhance.
- The purpose of being able to write a program is to get technology to do exactly what you want or need. There is no need to write a program to find the mean of a data set because spreadsheets and calculators can already do this for us. Whatever role coding plays in the curriculum, it should focus on enabling students to do things they can’t otherwise do.
- The corollary to this is that in order for students to know what technology can’t do for them, they need to learn what it can do for them. Therefore, familiarity with calculators, spreadsheets, and even websites like Desmos and Wolfram Alpha is also necessary, and should be a prerequisite before learning how to code.
Our first big milestone in the curriculum development is in about three weeks, when we hope to have a broad outline of what topics we think should go in each year of the course, how many levels of each course we should have, etc. It’s been hard to think about what to include in the courses since I’ve never been clear on the role of coding in the course, and this framework gives us a way forward. Next up: so what should we include in each course?