Over the past 2 months, I have exposed my 7th and 8th grade Technology students to 3 different coding platforms: Scratch (along with Google CS First), Code Combat, and Codecademy. As the year has progressed, the “results” from my perspective have been getting more and more exciting (though I have not given a single quiz or test for a grade). Here is a detailed recap of the past 3 months, and a reflection on why I think this year is so super successful despite the lack of “evidence” that has been traditionally demanded of teachers in the era of NCLB.
I chose Scratch and CS First as the introductory coding unit because I thought that this would be a good way to scaffold the logic and analysis, and persistence, required to write good code when ultimately you are staring at nothing but a blank screen and a command prompt. I had the students work on projects in the CS First unit “Social Media”, wherein they learned how to drag and drop blocks of code to create and call variables, produce loops, and the like. This project-based unit did not demand that students learn any specific coding language, but focused on developing a more basic understanding of the connection between the magic of command (input) and result (output). Most of the assets with which students worked were pre-supplied and organized by the program: sprites and different characters, tools, and even the commands themselves. And, though the accompanying videos spelled out every step of every project, there was still plenty of room for students to stretch their understanding and to demonstrate their creativity in each project. However, this platform has proven to be the least engaging of the three on which students have begun to spread their coding wings. But, still, I think it whetted their appetites for what has happened since.
Code Combat was next, and a step in the right direction in terms of getting students to engage with the material and to get enthused about their performances. Code Combat is an outstanding platform that teaches students a specific coding language (I chose to have the students work in Python). To learn the language, students select a hero, which they maneuver through a series of levels in a Dungeons and Dragons style video game. To complete each level, students must write the proper code to make their hero move, wield a weapon, use a shield, and find treasure. If their code is wrong, their hero can’t make it to the end of the level. As a student’s hero completes more and more levels, he (or she) starts to acquire more and more gems, which the hero can use to purchase upgraded weaponry, armor, and clothing. All of these items carry the power of advanced coding options, which make completing each level easier. The better and more advanced equipment one possesses, the more coding options one has for completing each level. This basic structure keeps students’ motivation extremely high to continue in the game, and makes achievement highly rewarding. I am so glad, in retrospect, that I have not ruined this with direct instruction and formal checks for understanding.
I have chosen specifically to run this technology class as a self-paced, project-based class. That is, I will communicate to students at the beginning of every unit the “rubric” on which their grade will be based. (For example, for Code Combat, I told students that they were required to complete a certain number of levels for an ‘A’, for a ‘B’, etc.). From this point forward, and after as little direct instruction as I can get away with and still be certain that no one is completely confused, students are largely on their own to complete their work as they are able. I float as a helper, but mostly do not offer help unless asked. I feel that this is critical for students at this age level (and maybe every age level), as this builds so many excellent personal qualities. Among them, self-reliance, resourcefulness, and time management – and for those students who are excelling, a burgeoning sense of self-esteem and belief in themselves that no amount of direct instruction or checking for understanding could possibly have generated. In fact, I think that these techniques would have poisoned the environment of exploration and discovery, and sharing, that most students are now thriving in.
I should know, because I taught mathematics in that old way for 9 years prior to this assignment. But I never saw, in all of that time, as many happy student faces or as much authentic enthusiasm to succeed as I have seen in these past 3 months, as I have let students dictate the pace of their own learning and stretch to perform as they are comfortable. I am thankful that my colleague, Mark Synnott, and I have found so many excellent, online resources that automatically track student progress and build into their systems of learning a continuous check for understanding in which students are not even aware that they are participating. I do not not need to test them to know that they are progressing and learning. The fact that they have moved from one level to the next is all the evidence I need.
So, rather than feeling that I am abandoning good teaching in leaving behind that model of direct instruction and direct testing that is supposed to affirm whether students have learned what the teacher wants them to learn, I feel that I am embracing the best kind of teaching that is possible.
Which brings me to the most recent unit that students have completed, and easily the most successful in terms of engagement and achievement this year: the HTML/CSS course at Codecademy. For the first time, students in this unit were faced with a blank screen and a command prompt. Each lesson in the course provides a small chunk of new learning, for example a new tag or small set of tags, and then students are asked to type these new tags in the code console (of course in the proper order). Students can see the effects of their efforts immediately in a mini-browser in the upper right portion of their screen, which gives them feedback as to the correctness of their code.
Students have responded to this unit in such a way that, as I think about it now, actually gives me chills. It is the way that education should be, all the time and in every subject. I have seen the most struggling students working hard to make progress; I have seen the most advanced students absolutely blow the doors off of my wildest expectations and far surpass them; I have seen large numbers of students helping their classmates and thereby deepen their own understanding; I have also witnessed a majority of students elect to work vs. take free time. Let me repeat that again. Last Friday was Halloween. I was in costume, as were a number of students. I had already told them that I did not expect that Friday would be a very productive day. So, at the beginning of each class, I gave them a choice. They could either continue to work, or do whatever they wanted on their devices. In every class (keep in mind this is middle school), more than half of all students chose to work, and I had a steady stream of students coming up to my desk to ask for help in completing their HTML lessons.
So, if anyone asks, yes, this year is going very well! I am thankful to my site administration and the district technology team, who together are encouraging me to take this path. I am thankful that so much infrastructure is already in place, like 1:1 devices, excellent wi-fi, and a crack team of tech support. All together, we are making the miracle happen: we are providing engaging content that excites and motivates students, and we are carving out the opportunities for them to take it is far as they possibly can. AND THEY ARE.
Isn’t that what we all got into this business for in the first place?
Submitted by: Erik Anderson