According to John Hattie by way of Harry & Rosemary Wong, just telling telling students what they are going to be learning at the start of a lesson can raise achievement by 27% (Wong & Wong, 2011). Ok, so I actually can't find where Hattie ever actually said that, so maybe it's better we look to his infamous chart of effect sizes which lists"Learning Goals vs No Goals" at .68, "Clear Goal Intentions" at a .48, and "Goal Commitment" at .40 (Visible Learning, 2018). Not too bad for something that can be taken care of in just a few minutes at the top of every lesson!
Janet Pilcher further elaborates that clearly communicating a learning objective and learning tasks aligned to a standard is a critical component to guiding students to academic success (Pilcher, 2018, p. 24). However, Goodwin and Hubbell note it is not enough to just communicate learning targets; students must also buy into the purpose of the learning (2013, p. 26) hence their second touchstone. Essential knowledge questions are great method in computer science to build up to establishing personal learning objectives.
Let's revisit the CSTA Standard established in in the first touch stone page:
That last bit on the compound conditionals most programmers should recognize relies on use the if-statements, which is a logical place to start the journey to mastering this standard. The objectives I sought to have students master is to identify conditionals, understand when to use selection types, illustrate program sequencing with flow charts, and construct a program with if-statements to interrupt the sequence of a program. By the way, it's not coincidence that the verbs listed just now escalate with Bloom's taxonomy (Heick, T.) which applies just as much to CS as it does any other core subject (Starr, 2008).
With these objectives in mind, I am able to craft the essential knowledge questions to build up the goals of the lesson:
Hopefully just through the act of asking these questions, be that in small group discussions or open discussion in class, students have already engaged with some answers they thought relevant. However, that isn't the same as personalized learning. While we can get students on the same page with our objective, to personalize it requires some choice. I find that most of my students aren't capable of hatching up an idea for a program from scratch, so a method I like to use is giving them the choice of several programs that exercise the skills at hand. In this case I give them the following:
Some students will take the path of least resistance and choose the latter two options, which are smaller in concept. But I have found many students like the food truck idea because they get to decide what the food truck will be serving up and what toppings are on the menu (related side-note, I've learned there is clear divide on the merits of pineapple as a pizza topping).
Last thing to note here, I do give students the option to write a program of their choosing, but students must provide me with an a plan of action complete with their estimated time for completion and how their program will make use of the concepts we are covering in class. Students rarely take this option, but it makes for a good potential of differentiated learning for the students that are excelling with the content and want a better way to exercise their knowledge and skill.
Most of this information came right out of a lesson plan of mine made this year for AP CSA (and subsequently tweaked for CSP as well) based on that standard. Feel free to make a copy for yourself and use it as you see fit. The overall design was modeled after a template offered by the Teacher Ready program.