Code for Teachers: What do you want to learn to build?
A conversation with Dan Anderson(@dandersod) this morning has pushed me to revisit a coding for teachers concept that I’ve nudged forward before, but haven’t made happen to my liking yet. There’s an amazing variety of coding materials and tutorials out there, but few that I’ve seen take the approach of helping teachers build immediately useful tools to improve their workflow.
To be done right, this must acknowledge the fact that this valid sentiment is out there:
@cheesemonkeysf: @dandersod @emwdx @dcox21 But are you prepared for… the “coding-impaired”?
As any person that has dabbled in programming knows, there’s always a non-trivial period of frustration and bug hunting that comes with writing code. This discomfort is a part of learning any new skill, of course. It’s also easy to say that you aren’t a code person, just as someone can say that he or she isn’t a math person. What pushes us (and our students) through this label to learn anyway?
- Minimal hand-waving about how it ‘just works’
- Experiences that demonstrate the power of a growth mindset
- Concrete ideas first, abstraction later
- Building the need for better tools
- Maybe the most important: having the right people at your side
I want to work to make this happen. Consider this a pile of rocks marking the beginning of that trail.
How do we start? I see this as an opportunity to use computational thinking as a way to improve what we do in the classroom. This project should be built on improving workflow, with the design constraint that it needs to be accessible and as useful as possible. I also want to use a range of languages and structures – block programming, spreadsheet, Automator, everything is fair game.
I want to first crowdsource a list of tools that would be useful to learn to build. Let’s not limit ourselves to things that are easy at this point – let’s see what the community wants first. I’ve posted a document here:
What Do You Want To Learn To Build?
Go there and share your ideas. I don’t want to wait any longer to start talking about what this could be.
This is funny, I was reading your post and my husband looked over my shoulder and said “Is that your blog?” – this is something I would say!
This is so timely as we’ve been having these exact conversations in my district. I was talking with a couple of our tech trainers about an online “coding for teachers” class, what it would look like and what it would cover. I’m working on a course proposal that we’ll try to offer in the fall.
Just today a teacher was asking me if he could write code to do a roller coaster simulation for his physics class. I started to think about the problem and brainstorm with him, and then the more I thought about it, the question isn’t really about a roller coaster or any specific application. The questions he needs to ask are:
What are my variables and how do they behave? Some variables will be fixed at the beginning. Some will change with each iteration.
What’s your mathematical model for that change? What’s the algorithm?
How do you want the output displayed and organized?
How are you going to validate that your model is a good one? Does it match your real world situation? What are your testing conditions (domain and range)?
Also questions like can you simplify this model down to its bare bones for your simulation? What does that look like?
So I wondered, can you teach general CS topics like variables, conditionals, loops, and functions – consider situations that you can model really simply and turn them into lessons you can do with your students. Build your repertoire from there.
I think that’s the approach we’re going to take with this class. It’s hard, isn’t it? You need a reason to learn it.
Dawn