Bloom’s Taxonomy serves as useful foundation to help students meet learning objectives by gradually raising complexity learning targets (Pilcher, 2018, p.36-50). Computer Science is not exception to this one study has shown (Starr, Manaris, & Stalvey, 2008) . However, creating learning targets that scale with the increasingly complex adjectives laid out by Bloom is only one piece of the puzzle.
Goodwin and Hubbell expand on this with something they call The Six Essential C's for Learning. This includes curiosity, connection, coherence, concentration, coaching, and context (Goodwin & Hubbell, 2013, p. 142-144). Following this useful mnemonic, teachers should ensure than any given lesson is achieving these C's along the way. To illustrate the concept at work, I will use a set of prompts lesson I planned out based on conditional statements for a 45 minute class.
The lesson starts off with a discussion about inputs for several minutes. Video game controllers are great example of user input activating conditions on the fly. Students are all too familiar with controllers, but however often have the actually thought about what's actually happening with a controller? Unsurprisingly, the answer is very little even though it is something they use one a regular basis. The lesson starts off with this question using our tried and true go-to game, Super Mario Brothers.
From here, it doesn't take long to make the connection; if press the right direction pad, Mario starts to move to the right. And if we hit the "A" button, Mario jumps as high as he can unless we let it go. The words "if" become our main focus as we setting up the conditions for how the game play operates. By relating to this iconic game, students make a connection to something most them have played or are at least familiar with.
With the first several minutes accounted for, we are now free to move into the coherence phase so students can start to make sense of the conditions as they relate to code. For the next 10 minutes of class, students will get the chance to see conditional if-statements in action. Thanks to the coding platform repl.it, I don't even have to do this as a stand-alone lecture! Using a shared coding space, I can instruct different students to take control of the code part and start to write the code themselves. Akin to reading aloud where students could be called on at any moment, they are instead called on to write out the next line of code as we discuss the general makeup of it. By the end of our 10 minutes, we'll have written about 30 lines of code showcasing conditions they are about to be using in the assignment of the day, but not before we take a moment to think about other real-life applications.
Goodwin and Hubbell quote cognitive psychologist Daniel Willingham who said "Students remember what they think about". To this end, I ask students to talk with a partner or table group about what real-life conditions they can think of. Naturally the students tend to gravitate toward the environment they are currently in. If I study, I make good grades. If I am late to class I get a tardy. If I work hard in college, I can get a good paying job. And so forth.
The first half of class has passed, now it's time to jump into the assignment for the day, writing the infamous coin flip program. Students have learned the next piece of the puzzle to flip a coin and determine the results. They'll have to rely on some prior knowledge to randomly choose a number determine what outcome will print to the screen. As simple as this sounds, many of them will have forgotten how to import random and cast the result to an integer. They will inevitably ask me for a reminder which I'm happy to provide... then I remind them about their notes and where they can see their previous programs. Nicely of course, but I am trying to get them to build some resiliency in finding the answer without using me as a quick replacement for Google or Alexa.
This will go on and some students will be finished while others are close to being done. What's left is assigned as homework, but we will spend the last few minutes of class discussing how foundational this information is in the world of coding and incept how we will expand on this in the next class using a food truck scenario.