If metacognition can be considered a hobby, then it is definitely one of mine. (I fully realize how nerdy that sounds.)
I love thinking about thinking! When you work with young children, you have to become a “thought detective”. Young children’s brains are developing so quickly and efficiently, and teachers have to know how to support that. We have to be able to speak and interpret lots of different languages, many of which are nonverbal. In order to do this, we have to really dig deep into our own analytical brains and constantly evaluate and reevaluate things we see happening in front of us.
We have to be able to think about children’s thinking, but also about our own! Every child is different, and teachers need to be able to approach each child as though they’ve never met any other child before. We need to push our brains to resist the temptation to rely too heavily on what we already know. We need to consciously seek new understandings that honor each child’s individuality. All of this takes a huge amount of self-determination and self-examination, and a dedication to thinking about our own thinking (whether we like it or not!)
I have come to love those moments when I realize I’ve been thinking about something or someone all wrong. I then have to spin my wheels trying to figure out what’s been going on in my brain in order to articulate my thinking and make shifts that will push me forward. (I just want to mention here that I appreciate my close friends and colleagues SO much…they don’t just tolerate this necessity. I happen to be lucky enough to be part of a school community that collectively appreciates and participates in this process! You know who you are.)
So what about coding?
I’ve shared before that I tend to be an over thinker. As I code, I have recently found myself ruminating on problems that I can solve by moving quicker, going back to the easiest possible solution, and trying to think in more black and white terms. As I’ve pushed myself to think faster and more logically, I’ve been trying to think about this thinking. The thing is…I’m having the darndest time thinking about my own thinking as I’m learning to code! My wheels are spinning, my thoughts are firing, and connections are being made. …but I just can’t figure out exactly what’s going on in there.
Part of my whole programming mission is to figure out firsthand what my brain does when I’m coding. I’ve asked on this blog: How will my thinking change, adapt, and innovate as I figure out more and more about writing programs? I hope to be able to articulate this in ways that are not only understandable, but interesting to other educators.
So far, I’ve learned a lot about coding. I have am definitely more comfortable than I was when I started, and have written blog posts to this end. I just can’t seem to articulate the actual things my brain is doing when I’m actually writing code.
I know I’ve only been learning to code for a little over a month, so it’s not exactly reasonable to expect myself to be able to do this yet…I just find it strangely precarious to know that I’m learning, but not be able to verbally explain my thinking behind what or why.
I can’t help but wonder if this even matters. Is this conundrum simply my “typical” way of thinking trying to trip me up? Maybe the whole point is that I shouldn’t even be trying to think about my thinking, and I should just be letting the flow take over.
Tania Lombrozo Says: Learning to code is a good way to learn to think.
All I can say is I hope so! I have to trust that at some point I’ll be able to think about my new thinking, but for now I’ll try to be content with the new thinking itself. I’ll continue to plug away at my little programs, and try to not ruminate on this entanglement.
Who knows? Maybe someday I can figure out how to use programming to meta-process and demonstrate “coding cognition”. (Now THAT might be even nerdiest think I’ve ever said!)
Here are some great resources about coding and thinking:
An interesting read on the value of learning to code (and how it’s not necessarily about coding at all!): http://www.npr.org/blogs/13.7/2014/06/09/320309576/learn-to-code-learn-to-think
Google’s helpful breakdown of computational thinking: http://www.google.com/edu/programs/exploring-computational-thinking/
A delightful feed of short and sweet tidbits on programming and software development: http://www.codingthoughts.net/
I am curious:
Programmers (seasoned or new): How does metacognition impact what you do? (Or does it?)
Everyone: Have you ever experienced an inability to think about your own thinking as you learn something brand new?