These are my comments on EngageNY's Grade 1 modules.
I'm still developing my procedure for working through the material. Currently I'm reading the CC Standards, the sections of the Progressions that relate to the grade, the misconceptions from the Ohio model curriculum, and the module overviews from EngageNY, plus any material from the lessons that would help me understand or practice. All that reading ends up being more time consuming than I expect.
As I read the material for grade 1, I'm aware of two things:
- I feel like I'm losing the threads of the various progressions of concepts and procedures. I'm coming to the conclusion that a visual approach really would help me more than a verbal one for tracking and reviewing them. So rather than writing lists of conceptual propositions, I might make a series of diagrams to illustrate the progressions, or more likely borrow them from some Creative Commons source, such as EngageNY. Elementary school starts with very concrete illustrations using physical objects, but I'd start with moderately abstract diagrams, since this is aimed at adults who can already think abstractly.
- One theme that keeps coming to mind is the fact that each concept and procedure involves interrelated parts, and each new one only gets more extensive and complex. I'm wondering if it would take too much extra time to develop a program throughout the curriculum that would pick apart and represent these concepts and procedures. That would give me a way of articulating and remembering my observations along these lines that would be more rigorous than writing in normal English. I sometimes think that programming is a good way for me to learn a subject, and this would be a good test of that idea.
- It might be good to write my own glossary in some form as part of this code. I'm picturing it largely taking the form of things like class and method definitions and items in data structures.
- I'd love to use this as an opportunity to learn Scheme or some other functional programming language, since I've been wanting to see what insights that paradigm would give me into the structure of math, but for now I'm going to use Python, since I already know it and it's easier to read, and this program will primarily be for reading rather than executing.
I can combine these two types of documents with literate programming, which is where you interweave documentation and code in a way that lets you filter and reorder the content to be read by a person or run by a computer. This might take a lot of extra time to learn and implement, but it might be worth it. I've been meaning to experiment with literate programming for years.
It might be time to start another side project I've been intending for this material, which is a math programming coverage table. I'll list math operations and briefly describe how to do them in certain programming contexts, such as the Python programming language and the Sage open source math software. Technically I could include this in the literate programming document, but its purpose doesn't fit the others' all that closely, and I think it would be more helpful and easier to maintain as a standalone table.
At the moment I think my focus should be on the program and the table. Diagrams and literate programming will probably come later, but right now figuring those out would slow me down more than I'd like.
These are the standards I'll likely create exercises for: