Before even starting my Hour of Code on Code.org, I can tell you coding is important! I wish I had learned and I am totally enthralled by programs that introduce children (and me apparently) to the fundamentals. The question is are we really going to teach students to code via tools like this, or, as Yevgeniy Birkman suggests, should it be about teaching a new way of thinking? Intriguing!
Regardless, this is me, every day:
Image: YEVGENIY BRIKMAN. https://www.ybrikman.com/writing/2014/05/19/dont-learn-to-code-learn-to-think/
So, even if AI does take over writing and testing code, maybe there is something inherently valuable about learning how to code whether we create the little programmers of the future or not…
With that said, I struggled to wrap my mind around a “coding type of thinking” while attempting an elementary school Hour of Code, specifically Space Invaders. My first example of this happened in Step 1 where I misplaced where the music block went; it wasn’t until I “tested” the first block that I realized the game should open with music (which of course I know intuitively) and it shouldn’t be triggered after initiating spaceship in game.
Screenshot: Space Invaders. Hour of Code. https://code.hatchxr.com/space-invader
This was my first shift in thinking about code in a problem-solving way: I am “building” upon steps and there is a desired outcome that includes each step or “block” interacting with each other in a certain way and order. Here is another simple example in Step 4 of building on actions/interactions for an overall desired outcome/effect:
Screenshot: Space Invaders. Hour of Code. https://code.hatchxr.com/space-invader
I think framing learning this way across disciplines would serve students. We might first outline the problem or desired outcome, anticipate steps/plan, build upon concepts, and probably most importantly, test each stage. Hypothetically, we could teach essay writing/arguments/sentence construction via a coding mindset that is introduced early on. These are often significant challenges in secondary and ultimately in ENGL 100. Perhaps, we are teaching them in an archaic way and learning code provides a remedy. This Edutopia article suggests that coding in the ELA classrooms contributes to better critical thinking and problem solving. Additionally. the article proposes ways to analyze literary themes and ideas via coding, which I think is interesting and sounds super fun! Finally, code is a language that must be intentional and precise and requires testing (or editing/peer editing) multiple times to achieve what the coder (writer) wants to communicate/create–this translates beautifully to the objectives of the ELA classroom!
Take, for example, the “if-else” block. These blocks are used “once a certain condition has been satisfied.” We think this way in building arguments or in philosophy: if this, then that. “If what Smith claims is true, my assertion about x is …” Or, “Considering research x, it is clear xy must follow…” There are endless applications I can see in ELA by both learning to think like a coder, but also by actually coding. I like the idea of building a creative narrative, character, or scene using code which would require students to have to carefully curate/design their project and effectively draft it is a create way to integrate tech. We can meet our ELA outcomes while equipping students with a valuable understanding of how the content they consume and engage with is created. Potentially even fostering a skillset for the “real world.”
This was super fun and although it was certainly amateur hour, I learned a lot. I would not be able to teach coding, but I could teach how to begin to think like a coder. Especially with resources like Hour of Code. 10/10