Encoding Literacy in Computer Science
Good, solid literacy instruction is the right of every student and the responsibility of all educators. School leaders recognize the need for literacy instruction to become a schoolwide priority—in all courses, not just English and the humanities.
Source: Peg Grafwallner
To support that position, I met with our computer science teacher at the end of last year. We discussed ways he could assist his students in reading this year. As we analyzed one of his lessons, I noticed the multitude of directions students needed to follow to create an accurate program. We surmised that if students worked on comprehending the directions, they might find greater success in the class, on the exam, and hopefully throughout their academic courses.
We wanted his students to think and read like programmers, so we    focused on computational literacy, which “requires being able to do computer programming at some level,” according to Bruce Sherin of Northwestern University. Students need to understand how computer programs work in order to build the foundation to learn programming. Luckily, computational literacy is accessible even to people who have no computer science training because the concepts are reflected in real world situations and general problem solving.
I worked with the teacher to create a lesson that would seamlessly embed vocabulary into his programming class to highlight the critical importance of verbs when following programming instructions.
While the computer science teacher often read the directions for students and would translate them into “plain speak,” he did not necessarily focus on the direction words or what role they played in following a program or in writing a basic program. Our goal for this class was to illustrate to students the importance and value of the direction words and how they impacted the outcome of the program design.
I suggested we begin with vocabulary as a way to assist students in understanding and applying the nuances of instructions.
Reading Literature vs. Reading Other Texts
According to the computer science teacher, programming requires “a different way to look at language. Instead of reading like one might read a novel to escape, reading programming language requires the student to focus on one specific idea at a time, to think linearly but in a conceptual way.” His students are bombarded with directions that require them to do something. If they forgo, ignore, or misunderstand one set of directions, the remainder of the directions will not work.
The reading shift to informational text is necessary and indispensable and should be happening much earlier. According to Timothy Shanahan of the University of Illinois, Chicago, “Devoting 80 percent of reading instruction to literature may improve students’ performance in their English classes, but what about social studies, science, and math?” Yes, what about those disciplines—and computer programming? The new literacies challenge us to think in ways that are different from story sequencing.
The Power of Directions
First, the teacher distributed the programming directions and read them aloud. Next, we asked students to highlight direction words (review, write, create) on the handout so that they would see the number of direction words necessary to complete the programming sequence.
Then students were asked to discuss the function of the directions with their peers by thinking about their thinking—they discussed the thinking strategies that would help support their application of the directions. In other words, we asked them to approach the directions metacognitively. For some students, using mental images to re-create the directions, such as noticing the fonts or the different colors on the handout, might help them remember the words and perhaps the sequence of the words. In addition, highlighting the key verbs might aid students in synthesizing what was important within the directions and help de-emphasize words that were less important.
In addition, I asked students to note words they could not decipher from context and to create a list on a Challenging Vocabulary handout.
We encouraged collaboration as students highlighted verbs and wrote their vocabulary lists. As the teacher and I walked around the room, we noticed conversation focused entirely on the directions; in addition, as students began writing the program, we asked them to keep highlighting the directions they were using. In that way, they could see the importance of the verbs they were utilizing and think about whether they needed to find verbs that were more apparent and understandable versus if theirs were ambiguous.
As a result, students were taught specific strategies in the reading process so that their programing would be precise and successful. We also discussed how to transfer such strategies (highlighting direction words, keeping a Challenging Vocabulary list) to other content areas.
The computer science teacher and I realized that the lesson we had created was more than just scaffolding vocabulary—it supported the critical work of following a specific sequence of directions and the realization of the work directions do to make a program (or assignment or project, in other classes) a success.